13.1 cLVM 的組態

若要設定支援叢集磁碟區群組,必須成功完成以下幾項任務:

  1. 變更要成為支援叢集的 LVM2 的鎖定類型。

    編輯 /etc/lvm/lvm.conf 檔案並找到下面一行:

    locking_type = 1

    將鎖定類型變更為 3,並將組態寫入磁碟。將此組態複製到所有節點。

  2. 將 clvmd 資源做為複製品包括在 Pacemaker 組態中,並使之依賴於 DLM 複製資源。crm 組態外圍程序中的典型片段如下所示:

    primitive dlm ocf:pacemaker:controld
    primitive clvm ocf:lvm2:clvmd \
            params daemon_timeout="30"
    clone dlm-clone dlm \
            meta target-role="Started" interleave="true" ordered="true"
    clone clvm-clone clvm \
            meta target-role="Started" interleave="true" ordered="true"
    colocation colo-clvm inf: clvm-clone dlm-clone
    order order-clvm inf: dlm-clone clvm-clone
    ...    
        

    繼續之前,請確定已在叢集中成功啟動這些資源。可以使用 crm_mon 或 GUI 來檢查執行中的服務。

  3. 使用下列指令準備 LVM 的實體磁碟區:

    pvcreate <physical volume path>
  4. 建立支援叢集磁碟區群組:

    vgcreate --clustered y <volume group name> <physical volume path>
  5. 視需要建立邏輯磁碟區,例如:

    lvcreate --name testlv -L 4G <volume group name>
  6. 為了確保在整個叢集範圍啟動磁碟區群組,請按如下方式設定 LVM 資源:

    primitive vg1 ocf:heartbeat:LVM \
            params volgrpname="<volume group name>"
    clone vg1-clone vg1 \
            meta interleave="true" ordered="true"
    colocation colo-vg1 inf: vg1-clone clvm-clone
    order order-vg1 inf: clvm-clone vg1-clone
        
  7. 若要僅在一個節點上獨占啟動磁碟區群組,請使用下面的範例;在此範例中,由於針對非叢集化應用程式採用其他保護措施,cLVM 可避免在多個節點上啟動 VG 中的所有邏輯磁碟區:

    primitive vg1 ocf:heartbeat:LVM \
            params volgrpname="<volume group name>" exclusive="yes"
    colocation colo-vg1 inf: vg1 clvm-clone
    order order-vg1 inf: clvm-clone vg1
        
  8. 現在,VG 中的邏輯磁碟區可做為檔案系統裝載或 RAW 使用量使用。請確定使用它們的服務務必具有正確的相依性,這樣才能在啟動 VG 後對它們進行並存和排序處理。

完成這些組態設定步驟後,即可像在任何獨立工作站上一樣進行 LVM2 組態設定。