主机名 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 �Ct rsa �CP “”
ssh-copy-id -i .ssh/id_rsa.pub root@SMB2
安装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 �Cenable-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 �Cp lock_dlm �Ct clustername:fsname �Cj 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 �CL 40G �Cn lv_smbhome vg_SMB
lvcremove /dev/vg_SMB/lv_home
共享目录权限问题
在此实验中由于两台服务负载提供相同服务,就涉及到共享文件权限问题
所以需要两台计算机上passwd、group、shadow三个文件完全一样,否则在使用chown、setfacl权限时,会发生混乱,由于这两个命令是通过改变uid和gid来变更文件权限,所以即使两台服务器上的用户和组都存在,但是uid和gid可能不一样,就会造成在一台服务器上修改共享存储文件权限,可在另一台上看到的不一样
在一个节点上可以通过以下方式启动某个节点的应用服务
clusvcadm �Ce <service> -m <Node>
关闭某个应用服务
clusvcadm �Cs <service> -m <Node>
重启某个服务
clusvcadm �CR <service> -m <Node>
切换某个服务到另一个节点
clusvcadm �Cr <service> -m <Node>
例如:clusvcadm �Cr <service> -m <Node>
[root@SMB1 ~]# clusvcadm �Cr smb -m SMB2 //将smb服务切换到smb2上
【监控RHCS集群状态】
cman_tool nodes �Ca
clustat �CI -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 �Cj 1 /dev/vg_SMB/lv_SMB
利用3进行挂载,当然这里的3也必须在gfs2文件集群中
扩展集群逻辑卷(保证物理卷上有足够内存)
lvextend �CL 60G /dev/vg_SMB/lv_SMB
用Lvs查看可以看到已经扩展到60G了
umount 强制卸载
fuser �Ccu /mnt/SMBdata