Hitachi

高信頼化システム監視機能 HAモニタ Linux(R)(x86)編


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

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

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

〈この項の構成〉

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

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

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

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

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

引数

引数が渡された時に記述する処理

-e

サーバの正常停止。

-w

サーバを計画切り替えするための計画停止。

-c

異常終了したサーバを再起動できるようにするための処理。

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

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

サーバの停止コマンドの起動条件

渡される引数

termcmd_at_abort=nouseの場合

termcmd_at_abort=useの場合

モニタモードのサーバ停止コマンド(monendコマンド)でサーバを停止。

-e

-e

サーバ障害時,モニタモードのサーバ停止コマンド(monendコマンド)で待機サーバがない実行サーバを停止。

-e

-c

サーバ障害によるサーバの系切り替え処理。

-w

-c

サーバの系切り替えコマンド(monswap コマンドまたはmonswap -gコマンド)を実行(計画系切り替え)。

-w

-w

待機サーバがない実行サーバの障害時,待機サーバを起動したあとサーバの系切り替えコマンド(monswapコマンドまたはmonswap -gコマンド)を実行(計画系切り替え)。

-w

-c

連動系切り替えに伴って,実行サーバを強制停止・系切り替え。

-w

-w

サーバ障害時,連動系切り替えに伴って,待機サーバがない実行サーバを強制停止。

-w

-c

待機サーバがない実行サーバの障害時,連動系切り替えに伴って,待機サーバを起動したあと,系切り替え。

-w

-c

サーバ障害時の実行サーバ再起動前処理。

-c

-c

サーバの起動コマンド失敗による,サーバの起動中止。

-c

(凡例)

−:サーバの停止コマンドを発行しません。

注※

渡される引数は,HAモニタの環境設定のtermcmd_at_abortオペランドに何を指定するかによって異なります。termcmd_at_abortオペランドについては,「8.3.1 HAモニタの環境設定(sysdef)」を参照してください。

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

サーバの停止コマンドは,プログラムの停止処理を記述したシェルなどを指定します。

シェルの中でプログラムの終了に必要な動作環境を設定してください。RHEL7以降ではUnit設定ファイルに環境変数を設定できますが,HAモニタを上書きインストールするとUnit設定ファイルが上書きされます。そのため,シェルの中で動作環境(環境変数)を設定することを推奨します。

サーバの停止コマンドを実行した際に,引き継がれる環境変数を次に示します。

次の場合は,HAモニタのUnit設定ファイルで設定した環境変数が引き継がれます。
  • RHEL7以降のバージョンで,HAモニタのバージョンが01-65以降の場合

  • RHEL7以降のバージョンで,HAモニタのバージョンが01-65より前で,システム起動時にHA モニタが自動起動した場合

次の場合は,HAモニタの起動コマンド(monstartコマンド)を実行したユーザの環境変数が引き継がれます。

  • RHEL7以降のバージョンで,HAモニタのバージョンが01-65より前で,monstartコマンドでHAモニタを起動した場合

  • RHEL6で,monstartコマンドでHAモニタを起動した場合

次の場合は,起動スクリプト/etc/rc.d/init.d/HAmonで設定した環境変数が引き継がれます。

  • RHEL6で,システム起動時にHAモニタが自動起動した場合

モニタモードのプログラム管理機能使用時に,APIを発行するUAPをサーバの停止コマンドで停止する場合は,UAPの環境変数にプログラム名を設定する必要があります。また,サーバの停止コマンドには,対象となるすべてのUAPの停止処理を記述してください。UAPがプロセスを生成する場合は,生成したプロセスの停止処理も記述してください。UAPの環境変数については,「6.16.2 UAPの環境変数の設定」を参照してください。

作成したサーバの停止コマンドは,サーバ対応の環境設定のtermcommandオペランドに指定します。また,サーバの停止コマンドが起動してから終了するまでのタイムアウト時間を,サーバ対応の環境設定のstop_timeoutオペランドまたはstop_timeout_swオペランドで指定できます。

実行サーバの正常終了時,計画停止時に呼び出されるサーバの停止コマンドの戻り値によって,HAモニタの動作が変わることはありません。ただし,次の点に注意して停止コマンドを作成してください。

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