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

Sun Cluster HA for BEA WebLogic Server 障害モニターの操作

この節では、Sun Cluster HA for BEA WebLogic Server 障害モニターについて解説します。

拡張プロパティ

Sun Cluster HA for BEA WebLogic Server は、以下の拡張プロパティを使用します。次の拡張プロパティを調整できます。拡張プロパティの確認または設定の方法については、「Sun Cluster HA for BEA WebLogic Server 拡張プロパティ」を参照してください。

表 1–3 Sun Cluster HA for BEA WebLogic Server 拡張プロパティ

名前/データタイプ 

説明 

Confdir_list (文字列配列) 

BEA WebLogic Server のホームディレクトリ $WL_HOME のフルパスは、この拡張プロパティに設定します。


注 –

setWLSEnv.shstartWLS.sh が標準の場所 $confdir_list/server/bin に存在しない場合には、$confdir_list/server/bin ディレクトリからこれらのファイルに対してリンクを作成する必要があります。このリンクを作成しないと、BEA WebLogic Server リソースの作成は失敗します。


初期値: なし

調整:作成時

Start_Script (文字列) 

BEA WebLogic Server インスタンス (Administration または Managed) の起動に使用されるスクリプトのフルパス。このスクリプトは通常、config.xml ファイルとともにドメイン名ディレクトリの下に存在します。各 BEA WebLogic Server を起動するために、個別スクリプトまたは単一スクリプトを設定することが可能です。詳細は、「構成に関する要件」を参照してください。

初期値: なし

調整:作成時

Server_Url (文字列) 

このリソースによって起動する BEA WebLogic Server の完全な URL (サーバーに接続するために使用されるプロトコルを含む)。検証メソッドは、この URL から HTTP GET を実行して、サーバーの健全性を検査します。URL 内のプロトコルは http に設定する必要があります。完全な URL 形式は次のようになります。


http://host:port

Server_Url の詳細については、使用するバージョンの BEA WebLogic Server マニュアルを参照してください。たとえば、BEA WebLogic Server 7.0 の場合は、マニュアルは以下の Web サイトにあります。


http://e-docs.bea/com/wls/docs70/adminguide
/startstop.html#1161188

server_urlmonitor_uri_list には、必ず解決可能なホスト名を使用してください。Fully Qualified Domain Names (FQDNs) を使用する場合、DNS を使用するホスト名を解釈処理するためには、 DNS が使用可能で、さらに /etc/nsswitch.conf のエントリが正しくなければなりません。

初期値: なし

調整:作成時

Monitor_Uri_List (文字列) 

単一の URI またはコンマ区切りの URI リストです。障害モニターはこの URI に対して HTTP GET を実行することにより BEA WebLogic Server の機能性をテストします。Server_Url 拡張プロパティは、ホスト名とポートの単純な検証用です。この拡張プロパティで WLS の機能性を検証する場合、Java サーブレットを取得するか、WLS からアプリケーションを起動して HTTP サーバーのリターンコードを取得する必要があります。HTTP サーバーのリターンコードが 500 (Internal Server Error) となるか接続に失敗した場合、検証は対応処置を実行します。詳細は、検証メソッドの説明を参照してください。

server_urlmonitor_uri_list には、必ず解決可能なホスト名を使用してください。Fully Qualified Domain Names (FQDNs) を使用する場合、DNS を使用するホスト名を解釈処理するためには、 DNS が使用可能で、さらに /etc/nsswitch.conf のエントリが正しくなければなりません。

初期値:Null

調整:任意の時点

Server_name (文字列) 

単一の起動スクリプトを使用してすべての Managed Server を起動する場合、起動スクリプトの引数として Managed Server 名を渡します。Agent 起動メソッドは、起動スクリプトの引数としてサーバー名を渡す必要が生じると、Managed Server 名をこの拡張プロパティに設定します。 

初期値:Null

調整:任意の時点

DB_Probe_Script (文字列) 

この拡張プロパティでは、データベース検証スクリプトへの絶対パスを設定します。HA-WLS 検証メソッドは、WLS インスタンスだけを検証します。管理者は、HA_WLS で DB も検証したい場合に、この拡張スクリプトからデータベース検証スクリプトを取得することができます。この検証スクリプトは、成功すると 0 を返します。BEA WebLogic Server は、データベース検証が成功すると起動されます。HA-WLS 検証は、WLS インスタンスの障害検出時にこの拡張プロパティが設定されていると、データベース検証が成功した場合にのみアクションを実行します。詳細については、「検証アルゴリズムと機能」を参照してください。

初期値:Null

調整:任意の時点

Smooth_shutdown 

これは、WebLogic クラスを使用してスムーズなシャットダウンを有効にする拡張プロパティです。Admin クラスWLS プロセスの終了前にスムーズシャットダウンを実行する方が望ましい場合は、この拡張プロパティを TRUE に設定します。このとき WLS_USERWLS_PW は、boot.properties ではなく start_script に設定する必要があります。

以下のすべてに当てはまる場合に TRUE に設定します。

  • usernamepasswordstart_script に設定してもかまわない場合。

  • プロセスを終了する際、デフォルトではなくスムーズシャットダウンを実行する方が望ましい場合。

  • エージェントの停止メソッドが、ユーザー名とパスワードを起動スクリプトから読み込んで java weblogic.Admin コマンドに渡してもかまわない場合。

初期値:False

調整:任意の時点

検証アルゴリズムと機能

障害モニターは、障害を検出して処理を行います。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 スクリプトから削除できません。