Drbd

DRBD 服務與 drbdadm

  • November 12, 2021

DRBD v9.17(核心 v9.1.4)

我試圖了解drbd作為服務執行與手動使用該drbdadm工具時的典型角色,該工具似乎比我在網上看到的一些演練更新。

什麼時候應該使用該服務而不是該drbdadm工具,以及在pacemaker控制故障轉移方面適合哪些方面drbd

我已經手動使用drbdadm並創建了一個資源,現在UPToDate在兩個節點上都使用 status 命令顯示。我需要弄清楚如何在起搏器中實現它以進行故障轉移,我只是認為我在這裡錯過了大局 - 在起搏器中添加資源似乎比浮動 IP 更複雜……謝謝閱讀!

drbdadm從一開始就存在,所以它並不比任何教程更新。

該服務將載入 DRBD 核心模組並drbdadm up all在啟動時啟動節點上的所有 DRBD 設備(就像會一樣),但不會嘗試將其提升到 Primary 並且無法掛載設備。這就是 Pacemaker 與 DRBD 結合時經常使用的用途,將 DRBD 節點提升為 Primary,然後使用 DRBD Primary 啟動服務。

DRBD 9.x 預設啟用了自動升級功能,因此如果您嘗試掛載(或以其他方式訪問)設備而不首先將其升級為主節點,並且目前沒有其他節點是主節點,它將自動升級為主節點所以它可以被訪問。

Pacemaker 是一個集群資源管理器,因此它的工作是跨一系列節點啟動/停止/監控服務,並確保這些資源的正確排序和位置。DRBD 在 Pacemaker 中被控制為“多狀態”(或ms)複製資源,它基本上是具有多個狀態的複製集(在 DRBD 的情況下為主要和次要,但這可能是數據庫複製集中的主和備用)。

在 2 節點 Pacemaker 集群中配置的名為 DRBD 資源的範例片段r0如下所示:

primitive p_drbd_r0 ocf:linbit:drbd \
   params drbd_resource=r0 \
   op start interval=0s timeout=240 \
   op promote interval=0s timeout=90 \
   op demote interval=0s timeout=90 \
   op stop interval=0s timeout=100 \
   op monitor interval=29 role=Master \
   op monitor interval=31 role=Slave
ms ms_drbd_r0 p_drbd_r0 \
   meta master-max=1 master-node-max=1 \
   notify=true clone-max=2 clone-node-max=1

如果您想管理在 上掛載文件系統r0,則需要添加文件系統資源和將其綁定到主 DRBD 節點的約束:

primitive p_fs_drbd Filesystem \
   params device="/dev/drbd0" directory="/drbd" \
   fstype=xfs options="noatime,nodiratime" \
   op start interval=0 timeout=60s \
   op stop interval=0 timeout=60s \
   op monitor interval=20 timeout=40s
colocation cl_fs-with-ms_drbd_r0 inf: p_fs_drbd:Started ms_drbd_r0:Master
order o_ms_drbd_r0-before-fs ms_drbd_r0:promote p_fs_drbd:start

在 Pacemaker 中管理它之前,您必須在 DRBD 設備上創建文件系統。

DRBD 的工作是在節點之間複製塊設備。

引用自:https://unix.stackexchange.com/questions/677045