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 より前のバージョン) の障害モニターは、リソースタイプが SUNW.s1as であるリソースに含まれます。

リソースタイプのシステムプロパティーおよび拡張プロパティーが、障害モニターの動作を制御します。事前に設定された障害モニターの動作は、これらのプロパティーのデフォルト値に基づいています。現在の動作は、ほとんどの 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 データベース用に障害モニターを調整する」を参照してください。

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

検証時における Sun Cluster HA for Sun Java System Application Server 障害モニターの処理

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