將失效注入高可用性系統中

您可以將失效注入系統中,以檢查高可用性行為功能是否符合預期。

開始之前

小心: 提供這個機能是為了支援高可用性配置的驗收測試,只應該用於這個用途。 將失效注入系統中,會導致資源停用或在伺服器之間進行失效接手,且會造成工作量中斷。

關於這項作業

您可以向傳訊引擎 MBean 傳送一個 JMX 指令來模擬高可用性系統失效的狀況。 注入失效是一種非常有用的方法,可供進行進階的驗證或前置生產測試。 您不應將失效注入正式作業系統中。

您可以模擬兩個類型的傳訊引擎失效:區域錯誤和廣域錯誤。 如需錯誤類型的相關資訊,請參閱傳訊引擎異常狀況回復

程序

  1. 啟動 wsadmin 用戶端。
    [IBM i]註: [IBM i]wsadmin Scripting 用戶端是從 Qshell 執行. [IBM i]如需相關資訊,請參閱利用 wsadmin Script 配置 Qshell 來執行 WebSphere Script.

    如需 wsadmin 用戶端的相關資訊,請參閱wsadmin Scripting 工具

  2. 利用 JMX 指令來建立變數,將它的值設為您想要它失效的一或多個傳訊引擎。
    在 Jython 中:
    mbean_name = AdminControl.queryNames("type=SIBMessagingEngine,name=messaging_engine_name,*" )
    在 Jacl 中:
    set mbean_name [$AdminControl queryNames type=SIBMessagingEngine,name=messaging_engine_name,*]
  3. 請在 JMX 指令中,利用上一步驟所建立的變數來注入失效。
    在 Jython 中注入區域錯誤:
    AdminControl.invoke(mbean_name, "injectFault", "LocalError")
    在 Jython 中注入廣域錯誤:
    AdminControl.invoke(mbean_name, "injectFault", "GlobalError")
    在 Jacl 中注入區域錯誤:
    $AdminControl invoke $mbean_name injectFault LocalError
    在 Jacl 中注入廣域錯誤:
    $AdminControl invoke $mbean_name injectFault GlobalError

結果

請利用管理主控台來檢視結果。 如果您配置了系統的失效接手,區域錯誤應該會導致由另一部伺服器來進行傳訊引擎的失效接手。 廣域錯誤不會導致失效接手。

範例

比方說,如果要將廣域錯誤注入名稱為 myNode01.server1-bus1 的傳訊引擎,請使用下列指令:
在 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")

指出主題類型的圖示 作業主題



時間戳記圖示 前次更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjt0037_
檔名:tjt0037_.html