6.4. 测试 ERS 实例失败
测试 pacemaker 集群是否在 ERS 实例的 enqueue 服务器或整个 ERS 实例失败时执行恢复操作。
先决条件
- 您已确保所有集群节点都已启动,并且 ERS 和 ERS 的资源组在不同节点上运行。
- 集群状态没有失败。
流程
在运行 ERS 的节点上,识别 enqueue 服务器的进程 ID (PID)。使用
sapcontrol… GetProcessList作为 <sid>adm用户查找 PID 作为最后一个条目:<sid>adm $ sapcontrol -nr <instance> -function GetProcessList name, description, dispstatus, textstatus, starttime, elapsedtime, pid enq_replicator, Enqueue Replicator 2, GREEN, Running, YYYY MM DD 15:42:03, 0:00:04, 19124在示例中,equeue 服务器 PID 为
191240。向确定的进程发送
SIGKILL信号以立即终止它:<sid>adm $ kill -9 <pid>-
将
<pid> 替换为 enqueue 服务器的 PID,例如191240。
-
将
-
检查 ERS 实例恢复。当所有资源的默认
migration-threshold设置为3时,集群会在同一节点上重启资源两次,然后再在不同节点上恢复。 - 重复步骤 1 和 2,直到您终止进程 3 次。当同一资源有 3 个连续故障后,集群会在另一个节点上恢复资源。
验证
检查 ERS 实例是否在其他节点上运行:
[root]# pcs resource * Resource Group: grp_S4H_ERS20: * rsc_vip_S4H_ERS20 (ocf:heartbeat:IPAddr2): Started node2 * rsc_SAPStartSrv_S4H_ERS20 (ocf:heartbeat:SAPStartSrv): Started node2 * rsc_SAPInstance_S4H_ERS20 (ocf:heartbeat:SAPInstance): Started node2 * 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 实例在 node2 上失败,并已移到 node1。当 ERS 实例由于故障而无法在与 ASCS 不同的节点上运行时,它将在与 ASCS 实例相同的节点上重启。
当您清除失败时,集群会自动将 ERS 实例移到其他节点。
检查失败计数,并注意它有 3 次触发另一节点上的恢复:
[root]# pcs resource failcount Failcounts for resource 'rsc_SAPInstance_S4H_ERS20' node1: 3
后续步骤
- 清除集群中可能来自之前测试的任何故障通知。如需更多信息,请参阅 清理失败历史记录。