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 (サポートバージョン 8.1) の Domain Administration Server (DAS) コンポーネント用の障害モニターは、リソースタイプが SUNW.jsas であるリソースに含まれています。

リソースタイプのシステムプロパティーおよび拡張プロパティーが、障害モニターの動作を制御します。事前に設定された障害モニターの動作は、これらのプロパティーのデフォルト値に基づいています。現在の動作は、ほとんどの Sun Cluster システムに適しているはずです。したがって、障害モニターを調整するのは、事前に設定されたこの動作を変更したい場合だけに留めるべきです。

これらの障害モニターを調整するには、次のタスクが必要です。

これらの作業は、「Sun Cluster HA for Sun Java System Application Server の登録と構成 (サポートバージョン 8.1)」に示されている方法で Sun Cluster HA for Sun Java System Application Server の登録と構成を行なった場合に実施してください。

これらの作業の詳細は、『Sun Cluster データサービスの計画と管理 (Solaris OS 版)』「Sun Cluster データベース用に障害モニターを調整する」を参照してください。

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

検証時における DAS コンポーネント用障害モニターの処理

Sun Cluster HA for Sun Java System Application Server の DAS コンポーネントの障害モニター検証機能は、Sun Java System Application Server サーバーの健全性を照会する要求をサーバーに送信します。障害モニターの処理は、Monitor_Uri_List 拡張プロパティーの設定によって異なります。

Monitor_Uri_List プロパティーが設定されている場合の障害モニターの処理

Monitor_Uri_List 拡張プロパティーが単一の URI または複数の URI に設定されている場合、障害モニターの検証機能は次の手順を実行します。

  1. 障害モニターは、Probe_timeout リソースプロパティーに設定されているタイムアウト値に従って Sun Java System Application Server インスタンスの検証を行います。

  2. 検証機能は、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 プロパティーに構成ミス (不正なポートまたはホスト名の指定) があると、失敗を引き起こす可能性があります。たとえば、アプリケーションサーバーインスタンスが論理ホスト schost-1 で待機していて、URI が http://schost-2/servlet/monitor と指定されていると、検証機能は schost-2 に接続して /servlet/monitor を要求しようとします。

  3. Probe_timeout に指定された制限時間内に応答がない場合、検証機能は履歴ログに失敗を記録します。検証機能はこの状況を Sun Java System Application Server データサービスに属す障害とみなします。Sun Java System Application Server の検証障害は、完全障害の場合もあれば、部分障害の場合もあります。

    Probe_timeout 内に検証機能が応答を受け取らなかった場合、HTTP 応答コードを調べます。応答コードが 500 (内部サーバーエラー) だった場合、検証は完全障害とみなされます。それ以外の応答コードはすべて無視されます。

    完全検証障害は、次のとおりです。

    • サーバーとの接続に失敗すると、次のエラーメッセージが出されます。%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.
  4. モニターは、完全障害と等しくなるまで、すなわち、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
  5. 障害が発生すると、障害の履歴と検証パラメータの設定にもとづき、データサービスのローカルな再起動またはフェイルオーバーが発生します。

Monitor_Uri_List プロパティーが設定されていない場合の障害モニターの処理

Monitor_Uri_List 拡張プロパティーが設定されていない場合、障害モニターの検証機能は次の手順を実行します。

  1. 障害モニターは、Probe_timeout リソースプロパティーに設定されているタイムアウト値に従って Sun Java System Application Server インスタンスの検証を行います。

  2. 障害モニターの検証機能は、次に示すように asadmin コマンドを使用して Domain Administration Server (DAS) の状態を取得します。


    $INSTALL_DIR/appserver/bin/asadmin list-domains --domaindir $DOMAIN_DIR

    次の環境変数が設定されます。

    • INSTALL_DIR は、Confdir_list 拡張プロパティーを使用して設定されているインストールの場所です。

    • DOMAIN_DIR は、ドメインディレクトリのフルパスです。

    • DOMAIN_NAME はドメインの名前です。

  3. 検証機能が DAS が稼働していないと判断した場合、完全な障害として通知されます。

  4. 障害が発生すると、障害の履歴と検証パラメータの設定にもとづき、データサービスのローカルな再起動またはフェイルオーバーが発生します。