Sun Cluster Data Service for Sun Java System Web Server ガイド (Solaris OS 版)

Sun Cluster HA for Sun Java System Web Server 障害モニター

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) が記録され、検証はエラーとなり終了します。 セキュアインスタンスと非セキュアインスタンスの検証の処理は同じです。

検証機能では、Probe_timeout リソースプロパティに設定するタイムアウト値を使用して、Sun Java System Web Server を正常に検証するための試行時間を制限します。 このリソースプロパティの詳細については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「標準プロパティ」を参照してください。

Sun Java System Web Server リソースの Network_resources_used resource-property 設定は、Web サーバーが使用する一連の IP アドレスを決定します。 Sun Java System Web Server で使用されるポート番号は、Port_list リソースプロパティの設定によって決まります。 障害モニターは、Web サーバーが IP アドレスとポートのすべての組み合わせに対して待機しているとみなします。 ポート 80 以外のポート番号で待機するように Web サーバー構成をカスタマイズしている場合は、構成ファイル (magnus.conf) に IP アドレスとポートのすべての組み合わせが指定されていることを確認してください。 障害モニターは、すべての組み合わせを検証し、IP アドレスとポートの特定の組み合わせで Web サーバーが待機していない場合、検証は失敗します。

検証機能は、次のことを行います。

  1. 検証機能は、指定した IP アドレスとポートの組み合わせを使用し、Web サーバーに接続します。 正しく接続できない場合は、検証機能は致命的な異常が発生したと判断します。 その後、検証機能はこの異常を記録し、適切な処理を行います。

  2. 検証機能が正しく接続した場合は、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 リソースプロパティのタイムアウト値を超過) した場合。

    • 検証文字列をサーバーに送信することに失敗した場合。次のエラーメッセージが表示されます。最初の %s はホスト名、%d はポート番号です。 最後の %s はエラーの詳細です。


      Failed to communicate with server %s port %d: %s

    モニターは、Retry_interval リソースプロパティで指定した期間内で、以下に示す 2 つの部分的な異常を累積し、1 つの致命的な異常としてカウントします。

    部分的な異常とみなされる検証の障害は次のとおりです。

    • 検証機能による照会に対し、サーバーからの応答を読み取ろうとしてタイムアウト (Probe_timeout リソースプロパティのタイムアウト値を超過) した場合。

    • その他の理由によってサーバーからデータを読み取ることに失敗した場合。次のエラーメッセージが表示されます。最初の %s はホスト名、%d はポート番号です。 最後の %s はエラーの詳細です。


      Failed to communicate with server %s port %d: %s
  3. 検証機能は 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 として指定されている場合、検証機能は /servlet/monitor を要求するために schost-2 に問い合わせようとします。

    異常履歴に基づいて、データサービスのローカルでの再起動、またはデータサービスのフェイルオーバーのいずれかを実行します。 このアクションの詳細については、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「Sun Cluster データサービス障害モニター」を参照してください。