Sun Cluster Data Service for WebLogic Server ガイド (Solaris OS 版)

検証アルゴリズムと機能

障害モニターは、障害を検出して処理を行います。BEA WebLogic Server 内で障害を検出すると、障害モニターは初めに BEA WebLogic Server の再起動を行います。一定の時間内に BEA WebLogic Server が一定の回数停止すると (時間と回数は管理者が設定可能)、BEA WebLogic Server を含んでいるリソースグループは動作中のほかのクラスタノードにフェイルオーバーして再起動します。

Fault Monitor メソッドは、デフォルトでは拡張プロパティー Server_url に設定されているサーバー URL の検証を行います。この検証メソッドはホスト名とポートに接続し、続いて URL に対して HTTP GET 要求を実行します。接続が失敗する場合は完全な障害とみなされ、BEA WebLogic Server を含むリソースグループの再起動が行われるか、あるいは動作中のほかのクラスタノードにフェイルオーバーし、再起動します。接続が成功したが http 応答コードが 500 (内部的なサーバーエラー) の場合も完全な障害とみなされ、リソースグループの再起動またはフェイルオーバーが行われます。ほかの http 応答コードはすべて正常とみなされます。

monitor_uri_list 拡張プロパティーを設定すると、検証メソッドはリスト内に示された URI に接続し、障害が発生している場合は処理を行います。検証メソッドは、指定された URI (1 つ以上) に対して HTTP GET を実行します。

BEA WebLogic Server インスタンスの完全な障害が検証 (URL または URI の検証) によって検出された場合、かつ、拡張プロパティー db_probe_script にデータベース検証スクリプトが指定されている場合、検証メソッドは BEA WebLogic Server リソースに対して処理を行う前に、まず、データベースを検証します。データベース検証スクリプトが成功を示すコードを返す (データベースが稼動している) 場合は、BEA WebLogic Server リソースに対して処理が行われます。データベース検証スクリプトが障害を示すコードを返す (データベースが停止している) 場合は、BEA WebLogic Server 検証メソッドはデータベースが起動するまで何の処理 (再起動またはフェイルオーバー) も行いません。

START メソッド

リソース内で構成された BEA WebLogic Server が起動する前に、BEA WebLogic Server 構成とリソース拡張プロパティーが検証されます。db_probe_script 拡張プロパティーが設定されている場合には、この拡張プロパティーに設定されたスクリプトを起動してデータベースの検証が行われます。データベースが起動している場合は、拡張プロパティー Start_script に構成されている START スクリプトを pmf の制御下で呼び出すことによって、BEA WebLogic Server が起動されます。データベースが起動していない場合は、START メソッドは成功を示すコードを返し、検証メソッドに BEA WebLogic Server ソフトウェアの起動処理を任せます。検証メソッドは、データベースが起動して BEA WebLogic Server を起動するまで待機します (「検証アルゴリズムと機能」を参照)。

pmf 下の START スクリプトを起動したあと、START メソッドは BEA WebLogic Server が RUNNING モードになるのを待ってから、成功を宣言します。BEA WebLogic Server の稼動を待機する間、検証メソッドはサーバーの起動をチェックするためにサーバーに接続を試みます。起動時に、コンソールにはメッセージが表示されます。メッセージ「Failed to connect to host logical-host-1 and port 7001: Connection refused」は、BEA WebLogic Server が完全に起動するまで継続して表示されます。BEA WebLogic Server が RUNNING モードになった時点で、START メソッドはステータスを「Started Successfully」に設定します。

STOP メソッド

STOP メソッドは、リソース内で構成された BEA WebLogic Server を停止します。デフォルトでは、STOP メソッドは SIGKILL を BEA WebLogic プロセスに送信して、BEA WebLogic Server を強制終了します。smooth_shutdown 拡張プロパティーが TRUE に設定されている場合、STOP メソッドは次のコマンドを実行して、BEA WebLogic インスタンスを停止しようとします。


java weblogic.Admin -url hostname:port -username $WLS_USER 
-password $WLS_PW SHUTDOWN

このコマンドが失敗した場合、BEA WebLogic Server は SIGKILL で停止されます。このコマンドが成功した場合でも、STOP メソッドは SIGKILL を BEA WebLogic プロセスを送信して、確実に停止しようとします。

拡張プロパティー smooth_shutdown を TRUE に設定する場合は、必ず WLS_USERWLS_PW を BEA WebLogic Server START スクリプトに設定してください。Smooth_shutdown を TRUE に設定した場合、この拡張プロパティーをもう一度 FALSE に設定するまで、START スクリプトからWLS_USERWLS_PW を削除してはいけません。