2017年3月25日 星期六

在 CentOS7/RHEL7 上,學習架設 High-Availability 服務(十三)

學習目標:
  • 用 GFS2 叢集檔案系統提供資源儲存!
操作流程:練習(一)
  1. 在各節點上,安裝 gfs2-utils 與 lvm2-cluster 兩個套件:
    [root@nodea ~]# yum -y install gfs2-utils lvm2-cluster
    
  2. 在各節點上,設定 no-quorum-policy=freeze:
    [root@nodea ~]# pcs property set no-quorum-policy=freeze
    
  3. 在 nodea 節點上,設定 DLM 代理資源:
    [root@nodea ~]# pcs resource create dlm ocf:pacemaker:controld op monitor interval=30s on-fail=fence clone interleave=true ordered=true
    
  4. 在各節點上,設定 locking_type 在 /etc/lvm/lvm.conf 檔案內:
    [root@nodea ~]# lvmconf --enable-cluster
    
  5. 在各節點上,先暫停 lvm2-lvmetad 服務的運作,以利修改設定檔:
    [root@nodea ~]# systemctl stop lvm2-lvmetad
    
  6. 在 nodea 節點上,設定 clvmd 成為叢集資源:
    [root@nodea ~]# pcs resource create clvmd ocf:heartbeat:clvm op monitor interval=30s on-fail=fence clone interleave=true ordered=true
    
  7. 在 nodea 節點上,設定啟用條件順序,讓 dlm 資源早於 clvmd 資源啟用,並且只能用於同一節點上:
    [root@nodea ~]# pcs constraint order start dlm-clone then clvmd-clone
    [root@nodea ~]# pcs constraint colocation add clvmd-clone with dlm-clone
    
  8. 在 nodea 節點上,建立 LVM 檔案系統:
    [root@nodea ~]# pvcreate /dev/mapper/mpatha
    [root@nodea ~]# vgcreate -Ay -cy cluster_vg /dev/mapper/mpatha
    [root@nodea ~]# lvcreate -L 2G -n gfsdata cluster_vg
    
  9. 在 nodea 節點上,建立 gfs2 檔案系統於 LVM 上:
    [root@nodea ~]# mkfs.gfs2 -t clusterX:gfsdata -j2 /dev/mapper/cluster_vg-gfsdata
    [root@nodea ~]# mkdir /gfsdata
    [root@nodea ~]# mount -t gfs2 /dev/mapper/cluster_vg-gfsdata /gfsdata
    [root@nodea ~]# echo "Hello, cluster gfs2" > /gfsdata/test1
    
操作流程:練習(二)
  1. 在 nodec 上,將 LVM 檔案系統掛載 (會發現空間不足掛載):
    [root@nodec ~]# mount -t gfs2 /dev/mapper/cluster_vg-gfsdata /gfsdata
    
  2. 在 nodea 上檢查 GFS2 檔案系統掛載情況以及硬碟剩餘空間:
    [root@nodea ~]# gfs2_edit -p jindex /dev/mapper/cluster_vg-gfsdata | grep journal
    [root@nodea ~]# df -h /gfsdata
    
  3. 在 nodea 上,增加兩個 journal 掛載數:
    [root@nodea ~]# gfs2_jadd -j2 /gfsdata
    
  4. 在 nodea 上,再次檢查 GFS2 檔案系統掛載情況以及硬碟剩餘空間:
    [root@nodea ~]# gfs2_edit -p jindex /dev/mapper/cluster_vg-gfsdata | grep journal
    [root@nodea ~]# df -h /gfsdata
    
  5. 在 nodea 上,增加 LVM 空間:
    [root@nodea ~]# lvextend -L +512MB /dev/mapper/cluster_vg-gfsdata
    
  6. 在 nodea 上,增加 GFS 空間至 LVM 空間大大:
    [root@nodea ~]# gfs2_grow /gfsdata
    [root@nodea ~]# df -h /gfsdata
    
  7. 在 nodec 上,再次將 LVM 檔案系統掛載:
    [root@nodec ~]# mount -t gfs2 /dev/mapper/cluster_vg-gfsdata /gfsdata
    
操作流程:練習(三)
  1. 在各節點上,準備 DLM 以及 clvmd 服務:
    [root@nodea ~]# yum install -y gfs2-utils lvm2-cluster
    [root@nodea ~]# pcs property set no-quorum-policy=freeze
    [root@nodea ~]# pcs resource create dlm ocf:pacemaker:controld op monitor \ 
    > interval=30s on-fail=fence clone interleave=true ordered=true
    [root@nodea ~]# lvmconf --enable-cluster
    [root@nodea ~]# systemctl stop lvm2-lvmetad
    [root@nodea ~]# pcs resource create clvmd ocf:heartbeat:clvm op monitor \
    > interval=30s on-fail=fence clone interleave=true ordered=true
    [root@nodea ~]# pcs constraint order start dlm-clones then clvmd-clone
    [root@nodea ~]# pcs constraint colocation add clvmd-clone with dlm-clone
    
  2. 在 nodea 上,建立 LVM ,並且製作 GFS2 檔案系統:
    [root@nodea ~]# pvcreate /dev/mapper/mpatha
    [root@nodea ~]# vgcreate -Ay -cy socks /dev/mapper/mpatha
    [root@nodea ~]# lvcreate -L 1G -n shoes socks
    [root@nodea ~]# mkfs.gfs2 -t clusterx:centos-gfs2 -j3 /dev/mapper/socks-shoes 
    
  3. 在 nodea 上,建立 cluster 資源:
    [root@nodea ~]# pcs resource create clusterfs Filesystem \
    > device="/dev/socks/shoes" directory="/mnt/pants" \
    > fstype="gfs2" options="noatiome" op monitor interval=10s
    > on-fail=fence clone interleave=true
    [root@nodea ~]# pcs constraint order start clvmd-clone then clusterfs-clone
    [root@nodea ~]# pcs constraint colocation add clusterfs-clone with clvmd-clone
    
  4. 在 nodec 上,確認掛載況狀:
    [root@nodec ~]# mount | grep /mnt/pants