6.6. 使用 ERS 实例崩溃节点
模拟运行 ERS 实例的集群节点崩溃,以测试集群资源的行为。
先决条件
- 您已确保所有集群节点都已启动,并且 ERS 和 ERS 的资源组在不同节点上运行。
- 集群状态没有失败。
流程
在运行 ERS 实例的节点上触发崩溃,如 node1。这会立即导致节点上的内核 panic,有效地模拟系统崩溃,且节点变得无响应。
集群的隔离机制(STONITH)检测到失败并启动恢复操作。通常,它会隔离节点,并在存活的集群节点上重启任何失败的资源。
以下命令会立即导致您运行命令的节点崩溃,没有进一步警告:
[root]# echo c > /proc/sysrq-trigger
验证
检查其他节点中的集群是否隔离崩溃的节点:
[root]# pcs stonith history reboot of node2 successful: delegate=node1, client=pacemaker-controld.1426, origin=node1, completed=... 1 event found检查集群是否在剩余的节点上启动 ERS 资源。在 2 节点集群中,这会导致同一节点上运行的 ASCS 和 ERS :
[root]# pcs resource * Resource Group: grp_S4H_ASCS20: * rsc_vip_S4H_ASCS20 (ocf:heartbeat:IPAddr2): Started node1 * rsc_SAPStartSrv_S4H_ASCS20 (ocf:heartbeat:SAPStartSrv): Started node1 * rsc_SAPInstance_S4H_ASCS20 (ocf:heartbeat:SAPInstance): Started node1 * Resource Group: grp_S4H_ERS29: * rsc_vip_S4H_ERS29 (ocf:heartbeat:IPAddr2): Started node1 * rsc_SAPStartSrv_S4H_ERS29 (ocf:heartbeat:SAPStartSrv): Started node1 * rsc_SAPInstance_S4H_ERS29 (ocf:heartbeat:SAPInstance): Started node1在隔离的节点再次运行后,检查集群是否自动将 ERS 实例移到之前失败的节点:
[root]# pcs resource * Resource Group: grp_S4H_ASCS20: * rsc_vip_S4H_ASCS20 (ocf:heartbeat:IPAddr2): Started node1 * rsc_SAPStartSrv_S4H_ASCS20 (ocf:heartbeat:SAPStartSrv): Started node1 * rsc_SAPInstance_S4H_ASCS20 (ocf:heartbeat:SAPInstance): Started node1 * Resource Group: grp_S4H_ERS29: * rsc_vip_S4H_ERS29 (ocf:heartbeat:IPAddr2): Started node2 * rsc_SAPStartSrv_S4H_ERS29 (ocf:heartbeat:SAPStartSrv): Started node2 * rsc_SAPInstance_S4H_ERS29 (ocf:heartbeat:SAPInstance): Started node2
后续步骤
- 清除集群中可能来自之前测试的任何故障通知。如需更多信息,请参阅 清理失败历史记录。