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 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 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三个文件完全一样否则在使用chownsetfacl权限时会发生混乱由于这两个命令是通过改变uid和gid来变更文件权限所以即使两台服务器上的用户和组都存在但是uid和gid可能不一样,就会造成在一台服务器上修改共享存储文件权限,可在另一台上看到的不一样

 

 

在一个节点上可以通过以下方式启动某个节点的应用服务

clusvcadm –e -m

关闭某个应用服务

clusvcadm –s -m

重启某个服务

clusvcadm –R -m

切换某个服务到另一个节点

clusvcadm –r -m

例如:clusvcadm –r <service> -m

[root@SMB1 ~]# 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