Sun Cluster 3.1 Data Service for WebLogic Server ガイド

検証アルゴリズムと機能

障害モニターは、障害を検出して処理を行います。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 拡張プロパティが設定されている場合には、この拡張プロパティに設定されたスクリプトを起動してデータベースの検証が行われます。データベースが起動している場合は、pmf 下の拡張プロパティ Start_script に構成されている START スクリプトを呼び出すことによって 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 に設定しないかぎり、WLS_USERWLS_PW を START スクリプトから削除できません。