DRBD 服務與 drbdadm
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 的工作是在節點之間複製塊設備。