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

故障監視器在探測期間執行的作業

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

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

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

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 位址和埠組合,則故障監視器會嘗試測試所有這樣的組合並可能會失敗。

如果探測無法連線至使用特定 IP 位址和連接埠組合的 Web 伺服器,則會發生完全失敗。此探測會記錄失敗,並採取適當的動作。

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

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

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

如果您在建立資源時未正確設定 Network_resources_used Port_list 資源特性,也會發生配置錯誤。

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

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

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

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

探測連線至 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,則探測將嘗試聯絡 schost-2,以請求 /servlet/monitor

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