一、安裝
系統環境:CentOS release 5.5 – 2.6.18-194.el5xen
安裝iscsi-target,存儲目標端即存儲端
在有共享磁盤的主機上安裝iscsi-target
安裝iscsi-initiator,存儲服務端
在使用共享存儲的主機上安裝iscsi-initiator,所有GFS節點
安裝global file system,全局文件系統
在使用共享存儲的主機上安裝gfs模塊
gfs主要組件有,集羣卷管理、鎖管理、集羣管理、集羣配置管理、圍欄和恢復。
在這裏,假定有3臺計算機,它們的IP分別是192.168.0.7 192.168.0.8 192.168.0.24
192.168.0.24 192.168.0.7上各有一塊可用磁盤,作爲共享磁盤
3臺計算機都是GFS節點,即使用共享磁盤
在192.168.0.24上,安裝配置iscsi-target,iscsi-initiator,gfs
在192.168.0.7上,安裝配置iscsi-target,iscsi-initiator,gfs
在192.168.0.8上,安裝配置iscsi-initiator,gfs
1、安裝iscsi-target
#yum install scsi-target-utils
#yum install libibverbs-devel libibverbs librdmacm librdmacm-devel
2、安裝iscsi-initiator
#yum install iscsi-initiator-utils
3、安裝gfs
#yum install -y gfs2-utils cman kmod-gfs kmod-dlm cluster-snmp lvm2-cluster rgmanager
二、配置共享存儲
配置iscsi-target
建立target device
配置iscsi-initiator
記錄並登錄target device
配置GFS共享
利用GFS實現文件共享和同步
1、配置iscsi-target
#/etc/init.d/tgtd start
在192.168.0.24新建分區(fdisk):/dev/sda9
#tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2011-09.com.nfschina:nfs-storage24
添加一個新的iscsi-target:iqn.2011-09.com.nfschina:nfs-storage
--tid 目標id
--T 相當於—targetname 目標名
iqn(iSCSI Qualified Name)命名規則:
格式 意義 範例
yyyy-mm 年份-月份 2011-09
Reversed-domain-name 把域名反過來寫,通常把公司域名反過來寫 com.nfschina
identifier 識別字,通常註明這個存儲空間的用途 nfs-storage
#tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sda9
把磁盤分區添加到目標設備。
#tgtadm --lld iscsi - -op show - -mode target 查看目標設備
#tgtadm --lld --op bind –mode target –tid 1 -I initiator-ip
如果需要對所有initiator可存取,則將initiator-ip換成ALL
#tgtadm --lld iscsi --op bind --mode target --tid 1 -I 192.168.0.7
#tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL
使用相同方法,在192.168.0.7上配置iscsi-target,target名爲 iqn.2011-09.com.nfschina:nfs-storage07
2、配置iscsi-initiator
3臺計算機均安裝配置iscsi-initiator
#/etc/init.d/iscsi start
啓動iscsi模塊
#iscsiadm -m discovery -t sendtargets -p 192.168.0.24
#iscsiadm -m discovery -t sendtargets -p 192.168.0.7
利用iscsiadm命令探測iscsi device
命令執行完成後,將在本地的記錄設備信息:/var/lib/iscsi/nodes/iqn.2011-09.com.nfschina:rhcs-storage08/
下次啓動iscsi時將會自動讀取信息並登錄到該設備,如需取消自動登錄,則刪掉對應文件夾
#iscsiadm -m node -T iqn.2011-09.com.nfschina:nfs-storage24 -p 192.168.0.24 -l
#iscsiadm -m node -T iqn.2011-09.com.nfschina:nfs-storage07 -p 192.168.0.7 -l
登錄到target設備。
登錄成功後,利用fdisk -l可以發現多了兩個硬盤分區sdb,sdc,這就是iscsi共享的分區。
登出:#iscsiadm -m node -T iqn.2011-09.com.nfschina:nfs-storage -p target-ip -u
3、配置GFS
首先在3臺計算機上的/etc/hosts文件末尾添加如下內容
192.168.0.24 gfs1
192.168.0.8 gfs2
192.168.0.7 gfs3
有幾個GFS節點就添加幾行,每個節點上都要添加
下面以配置gfs1節點爲例
#echo ''initiatorAlias=gfs1''>> /etc/iscsi/initiatorname.iscsi
指定initiator別名
創建配置文件:/etc/cluster/cluster.conf,添加如下內容
<?xml version="1.0"?>
<cluster name="GFSCluster" config_version="1">
<clusternodes>
<clusternode name="gfs1" votes="1" nodeid="1">
<fence>
<method name="single">
<device name="node1" nodename="gfs1"/>
</method>
</fence>
</clusternode>
<clusternode name="gfs2" votes="1" nodeid="2">
<fence>
<method name="single">
<device name="node2" nodename="gfs2"/>
</method>
</fence>
</clusternode>
<clusternode name="gfs3" votes="1" nodeid="3">
<fence>
<method name="single">
<device name="node3" nodename="gfs3"/>
</method>
</fence>
</clusternode>
</clusternodes>
<fencedevices>
<fencedevice name="node1" agent="fence_manual"/>
<fencedevice name="node2" agent="fence_manual"/>
<fencedevice name="node3" agent="fence_manual"/>
</fencedevices>
<rm>
<failoverdomains/>
<resources/>
</rm>
</cluster>
#/etc/init.d/gfs start
#/etc/init.d/gfs2 start
啓用gfs服務。
#/etc/init.d/rgmanager start
啓用集羣管理。
#/etc/init.d/cman start
啓用集羣。
#/etc/init.d/clvm start
啓用集羣卷管理。
ps:以上至“3、配置GFS” 部分須在每個GFS節點(3臺計算機)執行。
下面的配置內容任選一臺計算機執行即可。
假定登錄節點登錄到taget設備後,本地主機多出了/dev/sdb /dev/sdc磁盤
#pvcreate -ff /dev/sdb 通過pvdisplay查看物理卷詳情
#pvcreate -ff /dev/sdc
#vgcreate gfsvg /dev/sdb /dev/sdc 通過vgscan探測物理卷組
可以添加多個磁盤到組中 #vgcreate gfsvg /dev/sdb /dev/sdc /sdd
#vgdisplay
查看vg組信息,找到磁盤容量 Total PE 1126
#lvcreate -l 1126 -n gfs gfsvg
在組物理卷組gfsvg上建立邏輯卷gfs
#gfs_mkfs -p lock_dlm -t GFSCluster:gfs -j 3 /dev/gfsvg/gfs
-p後面跟gfs鎖管理機制,lock_dlm鎖實現了集羣讀寫同步
-t後面是ClusterName:FSName 即/etc/cluster/cluster.conf中的集羣名及要給格式化好的gfs分區名字
-j指定日誌個數
最後的參數是要格式化的設備名,如新建的邏輯卷名
三、使用GFS共享
配置GFS後,可以在任一節點掛載使用共享卷
GFS支持動態擴容
由於GFS實現了讀寫同步,因此崩潰時數據已經保存到磁盤,恢復GFS服務即可
1、掛載GFS
#vim /etc/lvm/lvm.conf 修改下項
locking_type = 3
#lvscan
ACTIVE '/dev/gfsvg/gfs' [4.80 GB] inherit
#mount -t gfs /dev/gfsvg/gfs /mountpoint
使用#df -h檢查gfs是否掛在成功
#vim /etc/lvm/lvm.conf
locking_type = 1
2、GFS擴容
例如,要將sdc磁盤加入到/dev/gfsvg/gfs共享
#pvcreate -ff /dev/sdd
#vgextend gfsvg /dev/sdd
#lvextend /dev/gfsvg/gfs /dev/sdd
#gfs_grow /dev/gfsvg/gfs
3、GFS恢復
iscsi-target配置是一次性的,重啓tgtd或者主機斷電重啓後會失去所有配置。所以恢復GFS首先要
重新配置iscsi-target。
#/etc/init.d/gfs start
#/etc/init.d/gfs2 start
按順序啓動服務:
#/etc/init.d/rgmanager start
#/etc/init.d/cman start
#/etc/init.d/clvm start
#vim /etc/lvm/lvm.conf ##locking_type = 3
#lvscan
#mount /dev/gfsvg/gfs /mountpoint
#vim /etc/lvm/lvm.conf ##locking_type = 1
四、問題解答
1、不能掛載gfs模塊
模塊與內核版本不符,重新安裝對應版本的gfs.
2、#lvscan
Skipping Cluster Volume group
修改/etc/lvm/lvm.conf locking_type = 3
3、#lvscan
inactive '/dev/gfsvg/gfs' [4.86 GB] inherit
#lvchange -ay /dev/gfsvg/gfs
4、啓動cman服務時,不能啓動fenced
集羣中,fenced設備不能單獨使用。
同時啓動集羣內超過半數的節點可以很快啓動成功。
遇到其他問題請及時反饋。
centos5上iscsi+gfs共享存儲的實現
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.