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

Sun Cluster HA for Sun Java System Web Server 故障監視器

Sun Cluster HA for Sun Java System Web Server 的探測使用對伺服器的要求來查詢伺服器的運作情況。在探測實際查詢伺服器之前,系統會執行一項檢查,以確認已為該 Web 伺服器資源配置網路資源。如果未配置網路資源,系統會記錄錯誤訊息 (未找到資源的網路資源),並且探測將以失敗結束。

探測必須進行 Sun Java System Web Server 的以下兩項配置。

如果 Web 伺服器處於安全模式,並且探測無法從配置檔案取得安全連接埠,則系統會記錄錯誤訊息 (無法剖析配置檔案),並且探測將以失敗結束。安全實例探測和不安全實例探測包含共用步驟。

探測使用資源特性 Probe_timeout 指定的逾時值,來限制嘗試成功探測 Sun Java System Web Server 所用的時間。請參閱Sun Cluster Data Services Planning and Administration Guide for Solaris OS」中的「Standard Properties」,以取得有關此資源特性的詳細資訊。

Sun Java System Web Server 資源上的 Network_resources_used 資源特性設定決定 Web 伺服器使用的 IP 位址集。Port_list 資源特性設定決定 Sun Java System Web Server 使用的連接埠編號清單。故障監視器假定 Web 伺服器偵聽 IP 和埠的所有組合。如果您將 Web 伺服器配置自訂為偵聽其他連接埠編號 (除連接埠 80 之外),請確定您的結果配置檔案 (magnus.conf) 包含 IP 位址和連接埠的所有可能組合。如果 Web 伺服器未偵聽特定的 IP 位址和埠組合,則故障監視器會嘗試探測所有這樣的組合並可能會失敗。

探測執行以下步驟。

  1. 探測使用指定的 IP 位址和埠組合連線至 Web 伺服器。如果連接不成功,探測將斷定發生了完全失敗。然後,探測將記錄失敗並採取相應的動作。

  2. 如果探測連線成功,它將檢查 Web 伺服器是否以安全模式執行。如果是,探測會取消連接並傳回成功狀態訊息,並且不再對安全的 Sun Java System Web Server 執行進一步檢查。

    但是,如果 Web 伺服器以不安全的模式執行,探測會向 Web 伺服器傳送 HTTP 1.0 HEAD 要求,並等待回應。要求可能會由於多種原因而失敗,這些原因包括大量的網路通訊、沉重的系統負載以及配置錯誤等。

    當 Web 伺服器未配置為偵聽所有被探測的 IP 位址和埠組合時,會發生配置錯誤。網路伺服器應對為該資源指定的每個 IP 位址的每個埠提供服務。

    如果您在建立資源時未正確設定 Network_resources_usedPort_list 資源特性,可能也會導致配置錯誤。

    如果未在 Probe_timeout 資源時間限制內收到查詢回覆,探測將斷定此次探測 Sun Cluster HA for Sun Java System Web Server 失敗。失敗將記錄在探測歷史中。

    探測失敗可以是完全失敗或部分失敗。以下探測失敗被視為完全失敗。

    • 無法連接至伺服器,如以下錯誤訊息旗號所示,其中 %s 表示主機名稱,%d 表示連接埠編號。


      無法連接至 %s 連接埠 %d
    • 嘗試連接至伺服器後超出時間限制 (超出資源特性逾時 Probe_timeout)。

    • 無法將探測字串成功傳送至伺服器,如以下錯誤訊息旗號所示,其中第一個 %s 表示主機名稱,%d 表示連接埠編號。第二個 %s 表示有關錯誤的進一步詳細資訊。


      無法與伺服器 %s 連接埠 %d 通訊:%s

    監視器在資源特性間隔 Retry_interval 內累計兩個這樣的部分失敗,並將它們計數為一次失敗。

    以下探測失敗被視為部分失敗。

    • 嘗試讀取來自伺服器的探測查詢回覆時超出時間限制 (超出資源特性逾時 Probe_timeout)。

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


      無法與伺服器 %s 連接埠 %d 通訊:%s
  3. 探測連線至 Sun Java System Web Server 伺服器,並透過將 HTTP 要求傳送至 Monitor_Uri_List 中的每個 URI,來執行 HTTP 1.1 GET 檢查。如果 HTTP 伺服器的回覆碼為 500 (內部伺服器錯誤) 或者連接失敗,則探測將採取動作。

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

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

    根據失敗歷史,一個失敗可導致本機重新啟動或資料服務的防故障備用。該動作將在Sun Cluster Data Services Planning and Administration Guide for Solaris OS」中的「Sun Cluster Data Service Fault Monitors」中進一步描述。