套用至 SUSE Linux Enterprise High Availability Extension 12 SP5

17 分散式鎖定管理員 (DLM)

摘要

核心中的分散式鎖定管理員 (DLM) 是 OCFS2、GFS2、Cluster MD 和 cLVM 用於在每個相關層提供主動-主動儲存的基礎元件。

17.1 用於 DLM 通訊的通訊協定

為了避免單一故障點,非常有必要對高可用性叢集設定備援通訊路徑。對於 DLM 通訊也是如此。如果出於任何原因無法使用網路結合 (連結彙總控制通訊協定,LACP),則我們強烈建議在 Corosync 中定義備援通訊通道 (另一個環)。如需詳細資料,請參閱程序 4.3 「定義備援通訊通道」

然後,DLM 會根據 /etc/corosync/corosync.conf 中的組態,確定是要使用 TCP 還是 SCTP 通訊協定來進行通訊︰

  • 如果 rrp_mode 設定為 none (表示停用備援環組態),則 DLM 會自動使用 TCP。但是,如果未定義備援通訊通道,在 TCP 連結中斷的情況下,DLM 通訊將會失敗。

  • 如果 rrp_mode 設定為 passive (一般會如此設定),並且在 /etc/corosync/corosync.conf 中正確設定了另一個通訊環,則 DLM 會自動使用 SCTP。在此情況下,DLM 訊息傳送會獲得 SCTP 提供的備援功能。

17.2 設定 DLM 叢集資源

DLM 使用 Pacemaker 提供的並在使用者空間中執行的叢集成員資格服務。因此,需要將 DLM 設定為叢集中每個節點上都存在的複製品資源。

注意
注意:多個解決方案的 DLM 資源

由於 OCFS2、GFS2、Cluster MD 和 cLVM 全部都使用 DLM,因此為 DLM 設定一個資源便已足夠。由於 DLM 資源在叢集中的所有節點上執行,因此將其設定為複製品資源。

如果您的環境中包含 OCFS2 與 cLVM,只需為 OCFS2 與 cLVM 設定一個 DLM 資源就足夠了。

程序 17.1︰ 設定 DLM 的基礎群組

該組態由一個包含數個基本資源的基礎群組與一個基礎複製品構成。之後,基礎群組和基礎複製品便可用於各種情境 (例如,用於 OCFS2 和 cLVM)。您只需根據需要新增相應的基本資源來延伸基礎群組。由於基礎群組有內部並存與順序條件約束,因此您不需要指定多個個別群組、複製品及其相依項,這使總體設定程序更為簡便。

對叢集中的某個節點執行以下步驟︰

  1. 啟動外圍程序,並以 root 或同等身分登入。

  2. 執行 crm configure

  3. 輸入以下指令以建立 DLM 的基本資源︰

    crm(live)configure# primitive dlm ocf:pacemaker:controld \
      op monitor interval="60" timeout="60"
  4. 為 DLM 資源和其他儲存相關的資源建立一個基礎群組︰

    crm(live)configure# group g-storage dlm
  5. 複製 g-storage 群組,以使其在所有節點上執行︰

    crm(live)configure#  clone cl-storage g-storage \
      meta interleave=true target-role=Started
  6. 使用 show 檢閱所做的變更。

  7. 如果所有設定都正確,請使用 commit 提交變更,然後使用 exit 離開 crm 即時組態。

注意
注意:停用 STONITH 失敗

系統不支援未啟用 STONITH 的叢集。如果您出於測試或疑難排解目的將全域叢集選項 stonith-enabled 設定為 false,則 DLM 資源以及依賴於它的所有服務 (例如 cLVM、GFS2 和 OCFS2) 將無法啟動。

列印此頁面