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 拡張プロパティが設定されている場合には、この拡張プロパティに設定されたスクリプトを起動してデータベースの検証が行われます。データベースが起動している場合は、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 スクリプトから削除できません。