8.4.1 クラスタソフトに登録するスクリプトの作成(UNIXの場合)
UNIXのクラスタソフトでは,通常,スクリプトなどによりアプリケーションを制御するツールを作成して,クラスタソフトに登録します。このときのスクリプトには一般的に,起動,停止,動作監視,強制停止の機能が必要です。
ここでは,スクリプト設計に必要なJP1/IM - Managerの情報を次に説明します。この情報を基に,クラスタソフトの仕様に合わせて,JP1/IM - Managerを制御するスクリプトを作成し,クラスタソフトに登録してください。
登録する機能 |
説明 |
---|---|
起動 |
JP1/IM - Managerを起動します。
|
停止 |
JP1/IM - Managerを停止します。
なお,停止コマンドが終了したあと,後述する強制停止コマンドを実行することをお勧めします。これは,何らかの問題がある場合でも確実にプロセスを終了させ,フェールオーバーが失敗することを防ぐためです。 |
JP1/IM - Managerの動作監視※1 |
JP1/IM - Managerが正常に動作していることを監視します。
正常動作していることは,jco_spmd_statusコマンドの戻り値によって判定します。このコマンドでは,各プロセスが動作しているか,動作していないかで動作状態を判定しています。 動作監視の機能を提供していないクラスタソフトもあります。また,JP1/IM - Managerの障害時にフェールオーバーする必要がない場合,この機能は登録しません。
|
IMデータベースの稼働状態の確認※2 |
IMデータベースが正常に稼働しているかどうかを確認します。
稼働状態は,jimdbstatusコマンドの戻り値によって判定します。
|
強制停止 |
JP1/IM - Managerを強制的に停止し,使用中のリソースを解放します。
jco_killall.clusterコマンドを実行すると,JP1/IM - Managerの終了処理を一切行わずに,各プロセスを強制的に停止します。
|
- 注※1
-
動作確認に関するJP1の動作について,ここで説明しているUNIXの場合と,Windowsの場合は,使用するコマンドは同じですが動作は異なりますので注意してください。
Windowsの場合は,Windowsのサービス制御との関連によって,UNIXの場合とは動作が異なります。Windowsでは,プロセスの一部が停止すると,JP1のプロセス管理が自動的にすべての各プロセスを停止して,サービスを停止状態にします。サービスの停止によって異常と判定するか,jco_spmd_statusコマンドなどの戻り値が8になるのを待ってから異常と判定してください。
- 注※2
-
IMデータベースを使用している場合に実行します。
- メモ
-
JP1の再起動について
クラスタ運用のJP1の障害を検知した場合に,待機系サーバにフェールオーバーする前に,同じサーバでJP1を再起動して回復を試みる場合があります。
この場合は,JP1のプロセス管理による再起動を使用しないでください。
クラスタソフトはJP1の障害検知後に再起動を試みるため,障害の内容によってはJP1の再起動機能が影響を受け,正常に動作できない可能性があります。より確実に再起動を行うために,クラスタソフトからの制御でJP1を再起動してください。