Centos

Centos7 上的 Xen + DRBD + Pacemaker

  • June 8, 2016

所以我目前的環境是在一對相同的裸機伺服器上的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 資源嗎?我一直在扯頭髮。

您需要使用排序託管約束來告訴集群它只能啟動mastervminit所在的組。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

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