Sun Cluster HA for Sun Java System Web Server の検証機能は、サーバーに要求を送ることによりそのサーバーの状態を照会します。検証機能が実際にサーバーを照会する前に、ネットワークリソースがこの Web サーバーリソース用に構成されていることの確認が行われます。ネットワークリソースが構成されていない場合は、エラーメッセージ (No network resources found for resource.) が記録され、検証はエラー終了します。
検証機能では、次の 2 つの Sun Java System Web Server 構成に対応する必要があります。
セキュアインスタンス
非セキュアインスタンス
Web サーバーがセキュアモードのときに、検証機能が構成ファイルからセキュアポートを取得できない場合は、エラーメッセージ (Unable to parse configuration file) が記録され、検証はエラーとなり終了します。セキュアインスタンスと非セキュアインスタンスの検証の処理は同じです。
Sun Java System Web Server リソースの Network_resources_used resource-property 設定は、Web サーバーが使用する一連の IP アドレスを決定します。Port_list リソースプロパティーの設定は、Sun Java System Web Server で使用されるポート番号のリストを決定します。障害モニターは、Web サーバーが IP アドレスとポートのすべての組み合わせに対して待機しているとみなします。ポート 80 以外のポート番号で待機するように Web サーバー構成をカスタマイズしている場合は、構成ファイル (magnus.conf) に IP アドレスとポートのすべての組み合わせが指定されていることを確認してください。障害モニターは、すべての組み合わせを検証し、IP アドレスとポートの特定の組み合わせで Web サーバーが待機していない場合、検証は失敗します。
指定された IP アドレスとポートの組み合わせによる Web サーバーとの接続に検証機能が失敗した場合、完全な障害が発生します。検証機能は障害を記録し、適切なアクションを行います。
検証機能が正しく接続した場合は、Web サーバーがセキュアモードで実行されているかどうかを調べます。セキュアモードで実行されている場合は、検証機能は Web サーバーとの接続を解除し、サーバーの状態が正常であると判断します。セキュア Sun Java System Web Server については、これ以上のチェックは行われません。
ただし、Web サーバーが非セキュアモードで実行されている場合は、検証機能は HTTP 1.0 HEAD 要求を Web サーバーに送信し、応答を待ちます。ネットワークトラフィックの混雑、過剰なシステム負荷、不適切な構成など、さまざまな理由によって要求が正しく処理できないことがあります。
不適切な構成は、検証される IP アドレスとポートのすべての組み合わせに対し、Web サーバーが待機するように構成されていない場合に生じます。Web サーバーは、このリソースに指定した各 IP アドレスに対し、それぞれポートを提供する必要があります。
また、リソースを作成するときに Network_resources_used および Port_list リソースプロパティーを正しく設定していないと、不適切な構成が生じます。
Probe_timeout リソースプロパティーの制限時間内に照会に対する応答を受信しない場合、検証機能は Sun Cluster HA for Sun Java System Web Server で異常が発生したと判断します。この異常は、検証の履歴に記録されます。
検証異常は、致命的な異常または部分的な異常になります。致命的な異常とみなされる検証異常は、以下のとおりです。
サーバーへの接続に失敗した場合。次のエラーメッセージが送信されます。%s はホスト名を示し、%d はポート番号を示します。
Failed to connect to %s port %d |
サーバーに接続しようとしてタイムアウト (Probe_timeout リソースプロパティーのタイムアウト値を超過) した場合。
サーバーへの検証文字列の送信に失敗した場合。次のエラーメッセージが送信されます。1 番目の %s はホスト名を示し、%d はポート番号を示し、2 番目の %s はエラーの詳細を示します。
Failed to communicate with server %s port %d: %s |
モニターは、Retry_interval リソースプロパティーで指定した期間内で、以下に示す 2 つの部分的な異常を累積し、1 つの致命的な異常としてカウントします。
部分的な異常とみなされる検証の障害は次のとおりです。
検証機能による照会に対し、サーバーからの応答を読み取ろうとしてタイムアウト (Probe_timeout リソースプロパティーのタイムアウト値を超過) した場合。
そのほかの理由でサーバーからデータを読み取ることができない場合。次のエラーメッセージが送信されます。1 番目の %s はホスト名を示し、%d はポート番号を示し、2 番目の %s はエラーの詳細を示します。
Failed to communicate with server %s port %d: %s |
検証機能は、Sun Java System Web Server サーバーに接続し、Monitor_Uri_List 内の各 URI に対して HTTP 要求を送信することにより、HTTP 1.1 GET チェックを行います。HTTP サーバーのリターンコードが 500 (Internal Server Error) となるか接続に失敗した場合、検証は対応処置を実行します。
HTTP 要求の結果は、失敗または成功のどちらかです。すべての要求に対して、Sun Java System Web Server サーバーから応答があった場合、検証機能は復帰して次の検証とスリープのサイクルを続けます。
大量のネットワークトラフィック、大きなシステム負荷、不正な構成は、HTTP GET 検証の失敗の原因になります。Monitor_Uri_List プロパティーの構成が不正な場合、つまり、Monitor_Uri_List の URI に間違ったポートまたはホスト名が含まれている場合、障害の原因になります。たとえば、Web サーバーインスタンスが論理ホスト schost-1 で待機しており、URI が http://schost-2/servlet/monitor として指定されている場合、検証機能は schost-2 に接触して /servlet/monitor を要求しようとします。
異常履歴に基づいて、データサービスのローカルでの再起動、またはデータサービスのフェイルオーバーのいずれかを実行します。このアクションについての詳細は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「Sun Cluster データベース用に障害モニターを調整する」を参照してください。