SLES 12 高可用性集群 - scsi 持久预留防护

SLES 12 高可用性集群 - scsi 持久预留防护

我正在试用 SLES 12 和 HAE 来运行由两个节点组成的文件服务器集群。想法是使用 SCSI 持久保留作为隔离方法,使用来自 stonith 隔离代理的 fence_scsi 脚本。两个节点 (a、b) 通过 FC 连接到同一个 LUN,然后仅通过 NFS 从活动节点导出。

问题出在 fence_scsi 上,因为 crm 失败/抱怨未提供节点名/密钥。

    primitive storage-fence stonith:fence_scsi \
            params action=off devices="/dev/mapper/mpath_test"  \
            op monitor interval=60s timeout=0s

我最终得到:

storage-fence_start_0 on fs009a 'unknown error' (1): call=18, status=Error, last-rc-change='Wed Jun 17 00:51:40 2015', queued=0ms, exec=1093ms
storage-fence_start_0 on fs009b 'unknown error' (1): call=18, status=Error, last-rc-change='Wed Jun 17 00:56:42 2015', queued=0ms, exec=1101ms

    2015-06-17T01:34:29.156751+02:00 fs009a stonithd[25547]:  warning: log_operation: storage-fence:25670 [ ERROR:root:Failed: nodename or key is required ]
    2015-06-17T01:34:29.156988+02:00 fs009a stonithd[25547]:  warning: log_operation: storage-fence:25670 [  ]
    2015-06-17T01:34:29.157234+02:00 fs009a stonithd[25547]:  warning: log_operation: storage-fence:25670 [ ERROR:root:Please use '-h' for usage ]
    2015-06-17T01:34:29.157460+02:00 fs009a stonithd[25547]:  warning: log_operation: storage-fence:25670 [  ]

现在,如果nodename提供了,它就不会抱怨。但是我不明白隔离配置。我是否应该设置两个stonith:fence_scsi资源,每个资源都“粘贴”到两个节点中的每一个?

这是来自 RHEL 的一个示例,它处理整个事情,没有任何额外的限制(并且它可以工作!)

   pcs stonith create my-scsi-shooter fence_scsi devices=/dev/sda meta provides=unfencing

参考自 RHEL 文档

请注意,SLES12 仍使用 crm,而 RHEL 使用 pcs。此外,SLES 中不存在 meta 属性provides。有没有办法将 RHEL pcs 命令转换为 SLES?

完整的配置如下:

# crm configure show
node 739719956: fs009a \
        attributes maintenance=off standby=off
node 739719957: fs009b \
        attributes maintenance=off standby=off
primitive clusterIP IPaddr2 \
        params ip=172.23.59.22 cidr_netmask=25 \
        op monitor interval=10s timeout=20s \
        op stop interval=0s timeout=20s \
        op start interval=0 timeout=20s
primitive fs_storage_test Filesystem \
        params device="/dev/mapper/mpath_test_part1" directory="/TEST" fstype=ext4 \
        op monitor timeout=40 interval=20 \
        op start timeout=60 interval=0 \
        op stop timeout=60 interval=0 \
        meta target-role=Started
primitive nfs-server systemd:nfsserver \
        op monitor interval=60 timeout=15 \
        op start interval=0 timeout=15 \
        op stop interval=0 timeout=15
primitive storage-fence stonith:fence_scsi \
        params action=off devices="/dev/mapper/mpath_test" verbose=false \
        op monitor interval=60s timeout=0s \
        meta target-role=Started
group nas-service clusterIP fs_storage_test nfs-server \
        meta target-role=Started
location constraint-location-a nas-service 100: fs009a
property cib-bootstrap-options: \
        dc-version=1.1.12-ad083a8 \
        cluster-infrastructure=corosync \
        cluster-name=fs009 \
        stonith-enabled=true \
        no-quorum-policy=stop \
        last-lrm-refresh=1434493344
rsc_defaults rsc-options: \
        resource-stickiness=100

corosync配置文件http://pastebin.com/M5sr7htC

corosync 2.3.3

起搏器 1.1.12

相关内容