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三個文件完全一樣,否則在使用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>
[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