Sun Cluster 3.1 Data Service for Sun ONE Application Server ガイド

Sun Cluster HA for Sun ONE Application Server 障害モニターの概要

この情報は、Sun Cluster HA for Sun ONE Application Server の障害モニターを理解するうえで役立ちます。

この節では、次の内容について説明します。

拡張プロパティ

Sun Cluster HA for Sun ONE Application Server の障害モニターでは、次の拡張プロパティを使用します。次の拡張プロパティを調整できます。

表 1–3 Sun Cluster HA for Sun ONE Application Server の拡張プロパティ

名前/データタイプ 

説明 

Confdir_list(文字配列)

この拡張プロパティでは、Sun ONE Application Server 構成ディレクトリの絶対パスを設定します。 

初期値: なし

調整:作成時 (At_ creation)

Monitor_Uri_List (文字列)

Sun ONE Application Server の機能をテストする目的で、障害モニターが使用できる単一 URI または URI リスト。障害モニターは、URI に HTTP GET を実行することによって、アプリケーションサーバーをテストします。Monitor_Uri_List 拡張プロパティを使用すると、配備されているアプリケーションの機能を検証できます。Sun ONE Application Server 上に配備されているアプリケーションが応対する 1 つ以上の URI にプロパティを設定することによって、配備されているアプリケーションを検証します。HTTP サーバーのリターンコードが 500 (Internal Server Error) となるか接続に失敗した場合、検証機能は対応処置を実行します。詳細は、検証メソッドの説明を参照してください。

初期値: Null

調整:任意の時点 (Anytime)

検証アルゴリズムと機能

Sun Cluster HA for Sun ONE Application Server の検証機能はサーバーに要求を送り、Sun ONE Application Server サーバーの状態を問い合わせます。検証機能は、次の作業を行います。

  1. Probe_timeout リソースプロパティで設定されたタイムアウト値に基づいて、Sun ONE Application Server インスタンスを検証します。

  2. ネットワークリソース構成とリソースグループの Port_list 設定によって定義された IP アドレスとポートの組に接続します。リソースに Port_list も指定されている場合、この手順は省略されます。正常に接続できた場合、検証機能は切り離されます。接続に失敗した場合は、障害が記録されます。

    大量のネットワークトラフィック、高システム負荷、構成の誤りは、問い合わせが失敗する原因になることがあります。検証対象のすべての IP アドレス/ポートの組で待ち受けるように Sun ONE Application Server サーバーを構成しなかった場合は、設定ミスになります。Sun ONE Application Server サーバーは、リソースに指定した各 IP アドレスに対し、それぞれのポートを提供する必要があります。

  3. Sun ONE Application Server サーバーに接続し、Monitor_Uri_List の各 URI に対して HTTP 要求を送り、応答を受け取ることによって、HTTP 1.1 GET チェックを実行します。

    HTTP 要求の結果は、失敗または成功のどちらかです。すべての要求に対して、Sun ONE Application Server サーバーから応答があった場合、検証機能は復帰して次の検証とスリープのサイクルを続けます。

    大量のネットワークトラフィック、高システム負荷、構成の誤りは、HTTP GET 検証が失敗する原因になることがあります。Monitor_Uri_List の URI に無効なポートまたはホスト名が含まれていた場合、Monitor_Uri_List プロパティの設定ミスになります。たとえば、アプリケーションサーバーインスタンスが論理ホスト schost-1 で待ち受けていて、URI が http://schost-2/servlet/monitor として指定されていた場合、検証機能は schost-2 に接続して /servlet/monitor を要求しようとします。

  4. Probe_timeout 内に検証機能が応答を受け取らなかった場合、履歴ログに障害が記録されます。検証機能はこの状況を Sun ONE Application Server データサービスに属す障害とみなします。Sun ONE 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.

  5. モニターは、完全障害と等しくなるまで、すなわち、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

  6. 異常履歴に基づいて、データサービスのローカルでの再起動、またはデータサービスのフェイルオーバーのいずれかを実行します。