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

Sun Cluster HA for Sun Java System Application Server 障害モニターの調整

この節では、Sun Cluster HA for Sun Java System Application Server 障害モニターについて説明します。

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

拡張プロパティ

Sun Cluster HA for Sun Java System Application Server 障害モニターは、次の表に示す拡張プロパティを使用します。調整の項目は、プロパティを動的に更新できるのか、それとも作成時に限って更新できるのかを示します。

Sun Java System Application Server リソースを作成するときに、コマンド行の scrgadm -x parameter =value を使用して、拡張プロパティを構成します。拡張プロパティの詳細は、SUNW.s1as(5M) のマニュアルページを参照してください。Sun Cluster にどのようなデータサービスプロパティがあるかについては、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』の「標準プロパティ」を参照してください。

表 1–2 Sun Cluster HA for Sun Java System Application Server の拡張プロパティ

名前/データタイプ 

説明 

Confdir_list(string array)

Sun Java System Application Server の特定インスタンスの構成ディレクトリへの絶対パス 

初期値: なし

調整:作成時

Monitor_Uri_List (文字列)

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

初期値:Null

調整: 任意の時点

検証アルゴリズムと機能

Sun Cluster HA for Sun Java System Application Server の検証機能は、Sun Java System Application Server サーバーに要求を送ることにより、その状態を照会します。検証機能は、次の作業を行います。

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

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

    大量のネットワークトラフィック、高システム負荷、構成の誤りは、問い合わせが失敗する原因になることがあります。Sun Java System Application Server サーバーが検証対象のすべての IP アドレスとポートの組み合わせで待機するように構成されていないと、構成ミスになります。Sun Java System Application Server サーバーは、このリソースに指定したすべての IP アドレスのすべてのポートに対応するように構成します。

  3. 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 の URI に無効なポートまたはホスト名が含まれていた場合、Monitor_Uri_List プロパティの設定ミスになります。たとえば、アプリケーションサーバーインスタンスが論理ホスト schost-1 で待ち受けていて、URI が http://schost-2/servlet/monitor として指定されていた場合、検証機能は schost-2 に接続して /servlet/monitor を要求しようとします。

  4. 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.

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