Centos
Centos7 上的 Xen + DRBD + Pacemaker
所以我目前的環境是在一對相同的裸機伺服器上的centos7。我已經安裝了 drbd 並劃分了 3 個 100G 塊設備供 DRBD 鏡像。然後我在其中一個塊設備上安裝了一個 Centos7 映像。
我希望 Pacemaker 管理 DRBD 以及 xen 虛擬映像,所以我按照 clusterlabs.org 的“Clusters From Scratch”文件中指定的說明進行操作:
pcs cluster cib drbd_cfg pcs -f drbd_cfg resource create XenHost01_Storage ocf:linbit:drbd drbd_resource=XenHost01 op monitor interval=60s pcs -f drbd_cfg resource master XenHost01_StorageClone XenHost01_Storage master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true pcs cluster cib-push drbd_cfg
然後我也添加了要管理的 Xen vm。
pcs cluster cib vmstate_cfg pcs -f vmstate_cfg resource create XenHosts --group vminit systemd:vmstate op monitor interval=10s pcs cluster cib-push vmstate_cfg
所以我的集群資源看起來像這樣:
Full list of resources: Master/Slave Set: XenHost01_StorageClone [XenHost01_Storage] Masters: [ ha1 ] Slaves: [ ha2 ] Resource Group: vminit XenHosts (systemd:vmstate): Started ha1 PCSD Status: ha1: Online ha2: Online
我想弄清楚,以及我發帖的原因,是如何將 DRBD 主/從對粘貼在 vminit 組下,以便 Xen 虛擬機僅在主 DRBD 主機上啟動。如果沒有它們在一個組中,如果另一個主機顯示為 DRBD 中的主要主機,則集群不關心並仍然嘗試啟動虛擬映像並且會失敗。
有人知道如何在一個組下獲取主/從 drbd 資源嗎?我一直在扯頭髮。
您需要使用排序託管約束來告訴集群它只能啟動master
vminit
所在的組。XenHost01_StorageClone
以下應該為您做:
# pcs cluster cib cib_constraints.xml # pcs -f cib_constraints.xml constraint order promote XenHost01_StorageClone then start vminit # pcs -f cib_constraints.xml constraint colocation add vminit with master XenHost01_StorageClone # pcs cluster verify cib_constraints.xml # pcs cluster cib-push cib_constraints.xml