是否可以设置 Pacemaker 组中资源的特定顺序?

是否可以设置 Pacemaker 组中资源的特定顺序?

鉴于下面描述的 Pacemaker/Corosync 资源配置,是否可以在资源组内的特定位置添加资源?配置是使用 RHEL 提供的集群附加组件的 CentOS 7.2。

这是一个 NFS 服务器集群,Pacemaker 处理 NFS 守护进程、卷、导出、虚拟 IP 和 NFS 客户端通知。

当我想添加 NFS 挂载时(exportfs 资源)到集群设置,它最终被列出nfs-notify 资源。这会以糟糕的方式破坏集群。

我找到了一些基本的pcs resource order命令,它们似乎允许指定资源 X 需要在资源 Y 之前运行,但这是不可扩展的。

这可能吗?

[root@zfs1-node1 ~]# pcs status
Cluster name: zfs1
Last updated: Tue Jan  5 04:09:11 2016      Last change: Tue Jan  5 04:08:15 2016 by root via cibadmin on zfs1-node1
Stack: corosync
Current DC: zfs1-node1 (version 1.1.13-10.el7-44eb2dd) - partition with quorum
2 nodes and 9 resources configured

Online: [ zfs1-node1 zfs1-node2 ]

Full list of resources:

 fence-vol1 (stonith:fence_scsi):   Started zfs1-node1
 Resource Group: group-vol1
     vol1   (ocf::heartbeat:ZFS):   Started zfs1-node1
     nfs-daemon (ocf::heartbeat:nfsserver): Started zfs1-node1
     nfsinfo    (ocf::heartbeat:exportfs):  Started zfs1-node1
     vol1-management    (ocf::heartbeat:exportfs):  Started zfs1-node1
     vol1-ppro-mirrors  (ocf::heartbeat:exportfs):  Started zfs1-node1
     vol1-staging   (ocf::heartbeat:exportfs):  Started zfs1-node1
     ip-vol1    (ocf::heartbeat:IPaddr2):   Started zfs1-node1
     nfs-notify (ocf::heartbeat:nfsnotify): Started zfs1-node1

PCSD Status:
  zfs1-node1: Online
  zfs1-node2: Online

Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled

答案1

您可以使用该cibadmin实用程序查询 Pacemaker 配置,在<group id="group-vol1"></group>标签内相应地移动原语,然后将新配置推回 Pacemaker。

该过程大致如下:

# cibadmin --query > /tmp/cib.xml
# vi /tmp/cib.xml
# cibadmin --replace --xml-file /tmp/cib.xml

当您在 vi 中编辑 cib.xml 时,您将看到您的组由如下标签定义:
<group id="group-vol1"> *primitives within the group will go here* </group>

所有原语都将在组标签内定义。它们将如下所示(例如 ZFS 原语):
<primitive id="vol1" class="ocf" provider="heartbeat" type="ZFS"> *attributes and operations will go here* </primitive>

按照您希望的顺序移动基元;顶部第一个,底部最后一个。将更改推送到 Pacemaker,您应该会成功。

相关内容