6.9.2 サーバの停止コマンドの作成

サーバの停止コマンドは,プログラムを自動停止するためのコマンドです。サーバの停止コマンドの作成は任意です。連動系切り替えなどでプログラムを自動停止したい場合に作成してください。

ここでは,サーバの停止コマンドが呼び出されるタイミング,およびサーバの停止コマンドの作成方法について説明します。

<この項の構成>
(1) サーバの停止コマンドが呼び出されるタイミング
(2) サーバの停止コマンドの作成方法

(1) サーバの停止コマンドが呼び出されるタイミング

作成したサーバの停止コマンドは,HAモニタがスーパユーザの権限で実行します。

サーバの停止コマンドは,次の場合に,共有リソースの切り離しをする前に呼び出されます。

HAモニタは,サーバの停止コマンドに,呼び出される場合に応じた引数を渡します。引数には,"-e","-w",および"-c"があります。それぞれの引数に対応する次のような処理を記述してください。

表6-4 サーバの停止コマンドの引数と記述する処理

引数引数が渡された時に記述する処理
-eサーバの正常停止。
-wサーバを計画切り替えするための計画停止。
-c異常終了したサーバを再起動できるようにするための処理。

サーバの停止コマンドの起動条件と引数の関係を,次の表に示します。

表6-5 サーバの停止コマンドの起動条件と渡される引数

サーバの停止コマンドの起動条件渡される引数
モニタモードのサーバ停止コマンド(monendコマンド)を実行-e
計画系切り替えコマンド(monswapコマンド)を実行-w
サーバ障害時の実行サーバ再起動前処理-c
サーバ障害時の系切り替えに伴う実行サーバの停止処理-wまたは-c
連動系切り替えに伴う実行サーバの計画停止処理-w
注※
サーバ対応の環境設定のtermcmd_at_abortオペランドにuseを指定した場合,HAモニタが渡す引数を"-w"から"-c"に変更できます。termcmd_at_abortオペランドについては,「8.3.1 HAモニタの環境設定(sysdef)」を参照してください。

(2) サーバの停止コマンドの作成方法

サーバの停止コマンドは,プログラムの停止処理を記述したシェルなどを作成します。必要に応じて,シェルの中でプログラムの終了に必要な動作環境を設定してください。作成したサーバの停止コマンドは,サーバ対応の環境設定のtermcommandオペランドに指定します。

実行サーバの正常終了時,計画停止時に呼び出されるサーバの停止コマンドの戻り値によって,HAモニタの動作が変わることはありません。一方,サーバの再起動時に呼び出されるサーバの停止コマンドでは,処理が正常終了した場合は戻り値として0を必ず返すように,処理を記述してください。

また,複数のプログラムの停止処理をサーバの停止コマンドに記述することで,複数のプログラムを一つのサーバとして使用できます。