centos5上iscsi+gfs共享存儲的實現

一、安裝
   
    系統環境: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設備不能單獨使用。
    同時啓動集羣內超過半數的節點可以很快啓動成功。

遇到其他問題請及時反饋。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章