在 shell 脚本中,我们当前调用/usr/sbin/pcs status cluster
然后grep -qE
for'Current DC:.*partition with quorum'
来确定集群是否正常。
我想知道是否有更快的方法,因为pcs status cluster
它会查询所有节点的 PCSD 状态,这需要时间,大约一秒半,我想在执行某些要完成的操作之前进行此检查经常。
pcs status nodes both
计算在线节点的数量是否同样有助于确定集群是否正常运行?
这大约需要 2 秒:
pcs status cluster 2>&1 | grep -qE 'Current DC:.*partition with quorum'
这大约需要 0.2 秒:
pcs status nodes both | grep -cE 'Online: [a-z]+ [a-z]+ [a-z]+'
(集群有 5 个节点,因此正则表达式中的三个节点名称)。
编辑:
这大约需要 0.02 秒:
corosync-quorumtool 2>&1 | grep -q -E '^Quorate:.*Yes$'
谢谢马特·克雷兹曼!
假设您使用的是 Corosync,您可以使用
corosync-quorumtool
:编辑:然后检查
Quorate
报告Yes
。