鉴于下面描述的 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,您应该会成功。