我按照Edmund White的精彩描述设置了一个HA-ZFS集群(请参阅https://github.com/ewwhite/zfs-ha/wiki )。 有两个不同RAID级别的ZFS池(实际上是一个RAIDZ3和一个镜像)。 相应池中的设备使用fence_scsi进行防护,并且想法是,在正常操作下,每个节点导出一个池,而在错误情况下,一个节点导出两个池。
将一个节点放入维护之后,所有资源成功地重新定位到另一个节点,并在维护完成后手动触发pcs resource relocate run group-scratch的重定位( pcs resource relocate run group-scratch ),将其移回其原始节点。 现在pcs status如下所示:
Cluster name: zfs-cluster Stack: corosync Current DC: pgsbfiler03 (version 1.1.16-12.el7_4.2-94ff4df) - partition with quorum Last updated: Tue Nov 14 16:21:49 2017 Last change: Tue Nov 14 15:58:48 2017 by root via cibadmin on pgsbfiler03 2 nodes configured 6 resources configured Online: [ pgsbfiler01 pgsbfiler03 ] Full list of resources: fence-scratch (stonith:fence_scsi): Started pgsbfiler03 Resource Group: group-scratch scratch (ocf::heartbeat:ZFS): Started pgsbfiler01 scratch-ip (ocf::heartbeat:IPaddr2): Started pgsbfiler01 fence-tank (stonith:fence_scsi): Started pgsbfiler03 Resource Group: group-tank tank (ocf::heartbeat:ZFS): Started pgsbfiler03 tank-ip (ocf::heartbeat:IPaddr2): Started pgsbfiler03 Daemon Status: corosync: active/enabled pacemaker: active/enabled pcsd: active/enabled
这是我的理解,stonith围栏不应该指向一个不同于资源的节点,就像fence-scratch和group-scratch 。
我没有find任何明确的关联篱笆与资源组的选项,也没有任何明显的方式来解决当前的情况,并把栅栏移到pgsbfiler01 。 该集群目前正在运行,并且这两个池都按预期导出,但是我真的很感激任何有关错误的提示以及如何解决/避免此问题。