用於 Sun Java System Application Server 的 Sun Cluster 資料服務指南 (適用於 Solaris 作業系統)

探測期間 DAS 元件的故障監視器執行的作業

Sun Cluster HA for Sun Java System Application Server 的 DAS 元件的故障監視器探測會向伺服器傳送請求,以查詢 Sun Java System Application Server 伺服器的運作狀態。故障監視器的作業取決於 Monitor_Uri_List 延伸特性的設定。

已設定 Monitor_Uri_List 特性時故障監視器執行的作業

當將 Monitor_Uri_List 延伸特性設定為單個 URI 或 URI 清單時,故障監視器探測會執行以下步驟。

  1. 故障監視器依照 Probe_timeout 資源特性設定的逾時值探測 Sun Java System Application Server 實例。

  2. 該探測將連線至 Sun Java System Application Server 伺服器並且執行 HTTP 1.1 GET 檢查,方法是傳送 HTTP 請求並接收對 Monitor_Uri_List 中每個 URI 的回應。

    每個 HTTP 請求的結果為失敗或成功。如果所有要求均成功收到來自 Sun Java System Application Server 伺服器的回覆,測試將返回並繼續進行下一個測試和休息循環。

    大量的網路通訊、沉重的系統負載以及配置錯誤均會導致 HTTP GET 探測失敗。如果 Monitor_Uri_List 中的 URI 包含不正確的連接埠或主機名稱,則 Monitor_Uri_List 特性的配置錯誤可能導致失敗。例如,如果應用程式伺服器實例正在偵聽邏輯主機 schost-1 並且 URI 指定為 http://schost-2/servlet/monitor,則探測將嘗試聯絡 schost-2 以請求 /servlet/monitor

  3. 如果未在 Probe_timeout 限制內收到探測的回應,探測將在歷史記錄中記錄失敗。測試會將此情況視為 Sun Java System Application Server 資料服務部分上的失敗。Sun Java System Application Server 測試失敗可以為完全失敗或部分失敗。

    如果在 Probe_timeout 限制內收到對探測的回覆,則系統將檢查 HTTP 回覆碼。如果回應代碼為 500 內部伺服器錯誤,則認為探測完全失敗。所有其他的回覆碼均被忽略。

    以下為完全探測失敗。

    • 連接至伺服器失敗時會收到以下錯誤訊息。%s 表示主機名稱,%d 表示連接埠編號。


      無法連線至主機 <%s> 與連接埠 <%d>。
      收到回應代碼為 500 內部伺服器錯誤,%s 探測的 HTTP GET
      回應代碼為 500。容錯移轉即將啟動
    • 將測試字串傳送至伺服器失敗時會收到以下錯誤訊息。第一個 %s 表示主機名稱,%d 表示連接埠編號,第二個 %s 表示有關錯誤的進一步詳細資訊。


      無法寫入伺服器:伺服器 %s 連接埠 %d: %s。
  4. 監視器將累積發生在 Retry_interval 資源特性設定中的部分失敗,直至其等同於完全失敗。

    以下為部分探測失敗:

    • 如果無法在 Probe_timeout 設定的時間之前取消連接時,則會收到以下錯誤訊息。%d 表示連接埠號碼,%s 表示資源名稱。


      無法從資源 %s 的連接埠 %d 斷開連線。
    • 無法在 Probe_timeout 時間內完成所有探測步驟為部分失敗。

    • 當由於其他原因無法從伺服器讀取資料時,會收到下列錯誤訊息。第一個 %s 表示主機名稱,%d 表示連接埠編號,第二個 %s 表示有關錯誤的進一步詳細資訊。


      無法與伺服器 %s 連接埠 %d 通訊:%s
  5. 根據失敗的歷史記錄和探測參數的設定,失敗可能導致本機重新啟動或資料服務的容錯移轉。

設定 Monitor_Uri_List 特性時故障監視器執行的作業

設定 Monitor_Uri_List 延伸特性時,故障監視器探測會執行以下步驟。

  1. 故障監視器依照 Probe_timeout 資源特性設定的逾時值探測 Sun Java System Application Server 實例。

  2. 探測使用 asadmin 指令以取得 Domain Administration Server (DAS) 的狀態,如下所示:


    $INSTALL_DIR/appserver/bin/asadmin list-domains --domaindir $DOMAIN_DIR

    設定了以下環境變數。

    • INSTALL_DIR 為使用 Confdir_list 延伸特性設定的安裝位置。

    • DOMAIN_DIR 為網域目錄的完整路徑。

    • DOMAIN_NAME 為網域名稱。

  3. 如果探測確定 DAS 未在執行,將發出完全失敗。

  4. 根據失敗的歷史記錄和探測參數的設定,失敗可能導致本機重新啟動或資料服務的容錯移轉。