fence_kdump一般用off替代reboot,会保存crash状态,把节点隔离,把资源切换到可用节点
作为level 1的隔离策略,后边可以添加level 2的电源级别的隔离策略
一 环境确认
每个集群节点上确认kdump开启状态
systemctl is-enabled kdump
rpm -q fence-agents-kdump
如果没有关闭防火墙firewalld,开启以下端口:
# firewall-cmd --add-port=7410/udp
# firewall-cmd --add-port=7410/udp --permanent
7410/udp是正常节点用来接收crash节点kdump发送出来的提示信息。
二 配置stonith属性
在集群节点hatest1上执行命令操作:
pcs property --all | grep stonith
pcs property set stonith-enabled=true
pcs property --all | grep stonith
三 设置fence_kdump类型的隔离设备
pcs stonith create kdump fence_kdump pcmk_reboot_action="off" pcmk_host_list="hatest1 hatest2"
pcs resource create dummy ocf:heartbeat:Dummy
pcs status
四 触发隔离
假如提示kdump这个隔离资源运行在hatest1上
在hatest1上执行命令:
echo c > /proc/sysrq-trigger
触发crash,通过虚拟机的图形界面查看是否宕机。
在hatest2上执行命令:
cat /var/log/pacemaker/pacemaker.log |grep -i fence
查看隔离hatest1节点的信息
五 其他
硬重启hatest1虚拟机后重新加入集群
报错信息可以通过以下命令清空
pcs stonith history cleanup