如何实现基于cman+rgmanage+gfs2+iscsi+rbd 高可用文件共享环境搭建,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
一、 架构图
说明:rbd以iscsi方式导出作为共享存储。Iscsi target为10.20.18.111 iscsi intinator为10.20.15.163和10.20.15.164。cman+rgmanager管理nfs-server集群,gfs2为集群文件系统,管理集群内文件的并行操作。
二、iscsi target配置
1. 安装支持rbd的target
# rpm –ivh scsi-target-utils-1.0.38-48.bf6981.ceph.el6.x86_64.rpm
# service tgtd start
2. 检查是否支持rbd
# sudo tgtadm --lld iscsi --op show --mode system
System:
State: ready
debug: off
LLDs:
iser: error
iscsi: ready
Backing stores:
rbd (bsoflags sync:direct)
rdwr (bsoflags sync:direct)
ssc
null
bsg
sg
sheepdog
Device types:
passthrough
tape
changer
controller
osd
cd/dvd
disk
iSNS:
iSNS=Off
iSNSServerIP=
iSNSServerPort=3205
iSNSAccessControl=Off
3. 配置rbd-tgt(准备好Pool和rbd img)
#vi /etc/tgt/targets.conf
<target iqn.2015-05.rbdstore.example.com:iscsi>
driver iscsi
bs-type rbd
backing-store iscsi/iscsi-rbd # <iscsi-pool>/<iscsi-rbd-image>
</target>
4. 载入配置
# service tgtd reload
Updating target framework daemon configuration
三、配置iscsi客户端(163/165两台机器)
1.安装iscsi-initiator-utils
# yum install iscsi-initiator-utils
2.发现target端共享设备
# iscsiadm -m discovery -t sendtargets -p 10.20.18.111
10.20.18.111:3260,1 iqn.2015-04.rbdstore.example.com:iscsi
3.Map target
# iscsiadm -m node -T iqn.2014-04.rbdstore.example.com:iscsi -p 10.20.18.111:3260 –loginLogging in to [iface: default, target: iqn.2014-04.rbdstore.example.com:iscsi, portal: 192.168.1.102,3260] (multiple)
Login to [iface: default, target: iqn.2014-04.rbdstore.example.com:iscsi, portal: 192.168.1.102,3260] successful.
4.查看磁盘设备(多了一个sda设备)
fdisk –l
Disk /dev/sda: 1073 MB, 1073741824 bytes
34 heads, 61 sectors/track, 1011 cylinders
Units = cylinders of 2074 * 512 = 1061888 bytes
Sector size (logical/physical): 512 bytes / 4194304 bytes
I/O size (minimum/optimal): 4194304 bytes / 4194304 bytes
Disk identifier: 0x00000000
四、配置cman+rgmanager
1. 配置hosts
# vi /etc/hosts
10.20.15.165 DEV-L0003557
10.20.15.163 CNSZOSD01
2. ssh互信
# ssh-keygen -t rsa -P ""
# ssh-copy-id -i .ssh/id_rsa.pub root@ CNSZOSD01
3. ntp同步
(两个节点都配置)
4.安装cman和rgmanager
# yum install cman rgmager -y
5.配置集群(一个节点执行)
# ccs_tool create tcluster
# ccs_tool addnode CNSZOSD01-n 1
# ccs_tool addnode DEV-L0003557-n 2
# vi /etc/cluster/cluster.conf
<dlm enable_fencing="0"/>
6.copy集群配置
# scp /etc/cluster/cluster.conf initiator2:/etc/cluster/
7.两个节点启动服务
# service cman start
# service rgmanager start
8.查看集群状态(都online表示ok)
# clustat
Cluster Status for tcluster @ Fri May 8 13:53:40 2015
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
CNSZOSD01 1 Online
DEV-L0003557 2 Online, Local
五、配置gfs2
1.安装gfs2
# yum install gfs2-utils
2.将/dev/sda设备格式化为gfs文件系统
# mkfs.gfs2 -j 2 -p lock_dlm -t tcluster:sda dev/sda
备注:gfs为日志文件系统,每个节点都要有一个日志,本次实验有两个节点,所以创建两个日志。tcluster为集群名称、sda为锁表名称。
3.两个节点挂载gfs2文件系统
# mount –t gfs2 –o _netdev,nodiratime,noatime /dev/sda /mnt
4.可以在两个节点上测试文件读写
六.clvm配置(两台)
1.安装
# yum install -y lvm2-cluster
2.启用集群LVM
# lvmconf --enable-cluster
3.启动clvm服务
# service clvmd start
4.创建集群逻辑卷(/dev/sda未格式化之前操作)
# pvcreate /dev/sda 创建物理卷
# vgcreate clustervg /dev/sda 创建卷组
# lvcreate -L 500M -n clusterlv clustervg 创建逻辑卷
# mkfs.gfs2 -j 2 -p lock_dlm -t tcluster:lv /dev/clustervg/clusterlv
# mount /dev/clustervg/clusterlv /mnt
七、vip配置(略)
八、nfs配置
1.NFS服务器端配置
# yum -y install nfs-utils rpcbind
# yum install nfs-utils
2. NFS的配置文件定义: /etc/exports
# vim /etc/exports
/mnt 10.20.*.*(rw,no_root_squash,no_all_squash,sync)
注:配置文件说明:
/mnt 为共享的目录,即rbd所挂目录,使用绝对路径.10.20.*.*允许客户端访问的IP,()里面为权限控制。
3.服务器端启动服务
# service rpcbind start
# service nfs start
4.客户端挂载(网段为10.20.*.*的任意主机)
# mkdir /usr/local/nfstest
#配置生效
# exportfs -rv
5.客户端测试挂载
# showmount -e 10.20.16.177
6.挂载
# mount -t nfs 10.20.16.177:/mnt /usr/local/nfstest
九、cifs\smb配置
1.安装samba
# yum install samba samba-client samba-swat
2.配置samba配置
(无需客户端密码验证的简单配置)
# vi /etc/samba/smb.conf
[global] //该设置与Samba服务整体运行环境有关,它的设置项目针对所有共享资源
# ----------------------- Network Related Options -------------------------
#
# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
#
# server string is the equivalent of the NT Description field
#
# netbios name can be used to specify a server name not tied to the hostname
workgroup = WORKGROUP //定义工作组,也就是windows中的工作组概念
server string = David Samba Server Version %v //定义Samba服务器的简要说明
netbios name = DavidSamba //定义windows中显示出来的计算机名称
# --------------------------- Logging Options -----------------------------
#
# Log File let you specify where to put logs and how to split them up.
log file = /var/log/samba/log.%m //定义Samba用户的日志文件,%m代表客户端主机名
//Samba服务器会在指定的目录中为每个登陆主机建立不同的日志文件
# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)
security = share //共享级别,用户不需要账号和密码即可访问
#============================ Share Definitions ==============================
[public] //设置针对的是共享目录个别的设置,只对当前的共享资源起作用
comment = Public Stuff //对共享目录的说明文件,自己可以定义说明信息
path = /mnt //用来指定共享的目录,必选项
public = yes //所有人可查看,等效于guest ok = yes
3.windows客户端访问
\\10.20.15.163\public
关于如何实现基于cman+rgmanage+gfs2+iscsi+rbd 高可用文件共享环境搭建问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注天达云行业资讯频道了解更多相关知识。