将故障注入高可用性系统
可以将故障注入系统以检查高可用性行为是否按您所期望的方式工作。
开始之前
注意: 提供此设施的目的是支持高可用性配置的容错测试,并且此设施只应该用于该用途。将故障注入系统的操作将导致资源被禁用或者从一个服务器进行故障转移以切换至另一个服务器,并且将使工作负载中断。
关于此任务
可以将一条 JMX 命令发送至消息传递引擎 MBean 以在高可用性系统中模拟故障。注入故障的操作提供了一种非常有用的方法来执行高级验证或生产前测试。您不应该将故障注入到生产系统中。
您可以模拟两类消息传递引擎故障:局部错误和全局错误。有关错误类型的更多信息,请参阅从异常情况恢复消息传递引擎。过程
结果
示例
在 Jython 中:
myMBean = AdminControl.queryNames("type=SIBMessagingEngine,name=myNode01.
server1-bus1,*")
$AdminControl invoke $myMBean injectFault GlobalError
在 Jacl 中:
set myMBean [$AdminControl queryNames type=SIBMessagingEngine,name=myNode01.
server1-bus1,*]
AdminControl.invoke(myMBean, "injectFault", "GlobalError")