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