Drbd

為什麼要在 Pacemaker 集群中禁用 DRBD

  • January 15, 2019

DRBD 文件(在將 DRBD 與 Pacemaker 集群集成部分)建議應在 Pacemaker 集群中禁用 DRBD:

如果您正在使用 DRBD OCF 資源代理,建議您將 DRBD 啟動、關閉、升級和降級專門推遲到 OCF 資源代理。這意味著您應該禁用 DRBD 初始化腳本:chkconfig drbd off.

在 systemd 下,這相當於systemctl disable drbd.service.

儘管有此建議,但啟用 DRBD 有什麼害處嗎?這個想法是啟用 DRBD,但禁用 Corosync 和 Pacemaker,以便在集群節點發生故障並重新啟動後,它將繼續接收 DRBD 同步的數據,但否則將保持“被動”狀態。這應該允許在故障節點重新進入集群之前對其進行分析,但同時實時數據仍保存在兩個集群節點上。建議背後的理由是什麼?

那麼在作業系統級別禁用 DRBD 服務的目的是一切都由起搏器控制。如果兩個服務(例如,PCMK 和您的作業系統)正在嘗試啟動/停止/提升/降級等,那麼您就有腦裂的風險。對於受控的集群環境,一切都應該由集群資源管理器(在本例中為起搏器)處理,以避免集群節點之間的混淆。在腦裂或類似情況下,您的 CRM 將使用 STONITH 或隔離或使用其他節點上配置的仲裁來解決它。

引用自:https://serverfault.com/questions/949153