gfs2+cman+rgmanager+iscsi实现文件集群
主机名 ip 角色
SMB2 172.31.200.66 samba服务器1
SMB2 172.31.200.67 samba 服务器2
SAN 172.31.88.61 SAN存储分区
由于SAN是测试环境中划分出来的SAN,所以在此次测试中不需要安装配置
以下是对SMB1、SMB2两台samba文件服务器进行配置
SMB1上配置
在客户机安装initiator
yum install iscsi-initiator-utils
建立集群中的主机互信
SMB1上
ssh-keygen –t rsa –P “”
ssh-copy-id -i .ssh/id_rsa.pub [email protected]
安装cman
yum install cman
建立集群:
ccs_tool create SMBcluster
ccs_tool addfence meatware fence_manual
ccs_tool addnode -n 1 -f meatware SMB1
ccs_tool addnode -n 2 -f meatware SMB2
将/etc/cluster/cluster.conf 复制到SMB2 /etc/cluster/cluster.conf
修改/etc/init.d/cman 第89行
将CMAN_QUORUM_TIMEOUT=45
改为 CMAN_QUORUM_TIMEOUT=0 否则无法正常启动
如果安装了NetworkManager 需要将NetworkManager 停止和开机禁用
service NetworkManager stop
chkconfig NetworkManager off
安装rgmanager
yum install rgmanager
sercice rgmanager start
yum install openais
安装gfs2,使系统支持gfs2文件系统
yum install gfs2
yum install lvm2-cluster
配置lvm支持集群
lvmconf –enable-cluster
查看启用的集群lvm
cat /etc/lvm/lvm.conf 第462行 locking_type = 3
启动service clvmd start
按顺序启动以下服务并设置为开机启动
service cman start
chkconfig cman on
service clvmd start
chkconfig clvmd start
service gfs2 start
chkconfig gfs2 start
service rgmanager start
chgkconfig rgmanager start
格式化gfs2
mkfs.gfs2 –p lock_dlm –t clustername:fsname –j number blockdevice
【停止集群的顺序】
首先在集群节点服务器上卸载挂载的gfs2共享存储
umount /mnt/SMBdata
第一步:
SMB1:service rgmanager stop
SMB2: service rgmanager stop
第二步:
SMB1:service clvmd stop
SMB2:service clvmd stop
第三步:
SMB1:service cman stop
SMB2:service cman stop
必须按以上步骤停止集群,否则会造成无法正常关机和重启
以上步骤除了ccs_too 建立集群部分不需要再SMB2上进行操作,其他所有操作需要在SMB2做相同操作
挂载SAN存储
客户端安装yum install iscsi-initiator-utils
查找:可用存储
iscsiadm -m discovery -t sendtargets -p 172.31.88.61
修改iscsi配置文件,采用CHAP认证
vim /etc/iscsi/iscsid.conf
找到
#CHAP Settings
去掉以下三行的注释
node.session.auth.authmethod = CHAP
node.session.auth.username = username
node.session.auth.password = password
重启iscsi服务
登陆连接共享存储
iscsiadm -m node -T iqn.2000-01.com.synology:rackstation.target-1.d1cd51f58a -p 172.31.88.61 --login
lvm集群卷管理
lvcreate –L 40G –n lv_smbhome vg_SMB
lvcremove /dev/vg_SMB/lv_home
共享目录权限问题
在此实验中由于两台服务负载提供相同服务,就涉及到共享文件权限问题
所以需要两台计算机上passwd、group、shadow三个文件完全一样,否则在使用chown、setfacl权限时,会发生混乱,由于这两个命令是通过改变uid和gid来变更文件权限,所以即使两台服务器上的用户和组都存在,但是uid和gid可能不一样,就会造成在一台服务器上修改共享存储文件权限,可在另一台上看到的不一样
在一个节点上可以通过以下方式启动某个节点的应用服务
clusvcadm –e <service> -m <Node>
关闭某个应用服务
clusvcadm –s <service> -m <Node>
重启某个服务
clusvcadm –R <service> -m <Node>
切换某个服务到另一个节点
clusvcadm –r <service> -m <Node>
例如:clusvcadm –r <service> -m <Node>
[[email protected] ~]# clusvcadm –r smb -m SMB2 //将smb服务切换到smb2上
【监控RHCS集群状态】
cman_tool nodes –a
clustat –I -3 查看集群状态 没3秒刷新一次
gfs2_tool gettune /mnt/SMBdata 查看挂载目录的属性
new_files_jdata = 0 //设置是否立即同步到磁盘,一般设置为1
gfs2_tool settune /mnt/SMBdata new_files_jdata 1
【集群扩展】
如果要添加新的节点至集群
先查看日志文件
gfs2_tool journals /mnt/SMBdata
journal1 - 128MB
journal0 - 128MB
可以看到,默认的只有两个
下面需要新增一个节点SMB3
gfs2_jadd –j 1 /dev/vg_SMB/lv_SMB
利用3进行挂载,当然这里的3也必须在gfs2文件集群中
扩展集群逻辑卷(保证物理卷上有足够内存)
lvextend –L 60G /dev/vg_SMB/lv_SMB
用Lvs查看可以看到已经扩展到60G了
umount 强制卸载
fuser –cu /mnt/SMBdata