Sun Cluster HA for Sun Java System Application Server の検証機能は、Sun Java System Application Server サーバーに要求を送ることにより、その状態を照会します。 検証機能は、次の作業を行います。
Probe_timeout リソースプロパティで設定されたタイムアウト値に基づいて、Sun Java System Application Server インスタンスを検証します。
ネットワークリソース構成とリソースグループの Port_list 設定によって定義された IP アドレスとポートの組に接続します。 リソースに Port_list も指定されている場合、この手順は省略されます。 正常に接続できた場合、検証機能は切り離されます。 接続に失敗した場合は、障害が記録されます。
大量のネットワークトラフィック、高システム負荷、構成の誤りは、問い合わせが失敗する原因になることがあります。 Sun Java System Application Server サーバーが検証対象のすべての IP アドレスとポートの組み合わせで待機するように構成されていないと、構成ミスになります。 Sun Java System Application Server サーバーは、このリソースに指定したすべての IP アドレスのすべてのポートに対応するように構成します。
Sun Java System Application Server サーバーに接続し、Monitor_Uri_List の各 URI に対して HTTP 要求を送り、応答を受け取ることによって、HTTP 1.1 GET チェックを実行します。
HTTP 要求の結果は、失敗か成功のいずれかです。 すべての要求に対して、Sun Java System Application Server サーバーから応答があった場合、検証機能は復帰して次の検証とスリープのサイクルを続けます。
大量のネットワークトラフィック、大きなシステム負荷、不正な構成は、HTTP GET 検証の失敗の原因になります。 Monitor_Uri_List プロパティを正しく構成しないと、Monitor_Uri_List の URI が不正なポートまたはホスト名を含むため失敗の原因になります。 たとえば、アプリケーションサーバーインスタンスが論理ホスト schost-1 で待ち受けていて、URI が http://schost-2/servlet/monitor として指定されていた場合、検証機能は schost-2 に接続して /servlet/monitor を要求しようとします。
Probe_timeout 内に検証機能が応答を受け取らなかった場合、履歴ログに障害が記録されます。 検証機能はこの状況を Sun Java System Application Server データサービスに属す障害とみなします。 Sun Java System Application Server の検証障害は、完全障害の場合もあれば、部分障害の場合もあります。
Probe_timeout 内に検証機能が応答を受け取らなかった場合、HTTP 応答コードを調べます。 応答コードが 500 (“Internal Server Error”) だった場合、検証は完全障害とみなされます。 それ以外の応答コードはすべて無視されます。
完全検証障害は、次のとおりです。
サーバーとの接続に失敗すると、次のエラーメッセージが出されます。 %s はホスト名、%d はポート番号を表します。
Failed to connect to the host <%s> and port <%d>. Receiving a response code of 500 “Internal Server Error” HTTP GET Response Code for probe of %s is 500. Failover will be in progress
サーバーに検証文字列を正常に送信できなかった場合は、次のエラーメッセージが出されます。 最初の %s はホスト名、%d はポート番号、2 番めの %s はエラーの詳細を表します。
Write to server failed: server %s port %d: %s.
モニターは、完全障害と等しくなるまで、すなわち、Retry_interval リソースプロパティで設定された値になるまで、発生した部分障害を累積します。
部分検証障害は、次のとおりです。
Probe_timeout で設定された時間が経過するまでに、切断できなかった場合は、次のエラーメッセージが出されます。 最初の %d はポート番号、%s はリソース名です。
Failed to disconnect from port %d of resource %s.
Probe_timeout の時間内ですべての検証手順を完了できないと、部分障害になります。
その他の理由でサーバーからデータを読み取ることができなかった場合は、次のエラーメッセージが出されます。 %s はホスト名、%d はポート番号を表します。 2 番めの %s はエラーの詳細を意味します。
Failed to communicate with server %s port %d: %s
異常履歴に基づいて、データサービスのローカルでの再起動、またはデータサービスのフェイルオーバーのいずれかを実行します。