Centos7 上的 Xen + DRBD + Pacemaker

Centos7 上的 Xen + DRBD + Pacemaker

所以我现在的环境是centos7,在一对相同的裸机服务器上。我已经安装了 drbd 并划分了 3 x 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 资源吗?我一直在撕扯我的头发。

答案1

您需要使用排序共置约束来告诉集群它只能启动主节点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

相关内容