跳至內容跳至頁面導覽:上一頁 [access key p]/下一頁 [access key n]
documentation.suse.com / SUSE Linux Enterprise High Availability Extension 文件 / 管理指南 / 儲存和資料複製 / 分散式鎖定管理員 (DLM)
適用範圍 SUSE Linux Enterprise High Availability Extension 15 SP4

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

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

18.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 提供的備援功能。

18.2 設定 DLM 叢集資源

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

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

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

如果您的設定包含 OCFS2 和叢集 LVM,只需為 OCFS2 和叢集 LVM 設定一個 DLM 資源就足夠了。

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

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

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

  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 提交變更,然後使用 quit 離開 crm 即時組態。

注意
注意:停用 STONITH 時會出現故障

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