4.15.1 サーバの状態変化を契機に実行するユーザコマンド
(1) 形式
コマンド名 -n サーバ識別名 -k サーバ種別 サーバ状態パラメタ [開始/終了パラメタ] |
(2) パラメタ
- コマンド名
- ユーザが作成しHAモニタの環境設定(sysdef)で指定した,ユーザコマンドのコマンド名を示します。
- -n サーバ識別名
- 状態が変化しユーザコマンドを発行する契機となった,サーバの識別名を示します。
- -k サーバ種別
- サーバ識別名で示したサーバの種別を示します。次のどちらかが渡されます。
- online:実行サーバの場合
- standby:待機サーバの場合
- サーバ状態パラメタ
- サーバ識別名で示したサーバの状態を示します。次のどれかが渡されます。
- -s:サーバ起動状態
- -e:サーバ正常終了状態
- -p:サーバ計画終了状態
- -a:サーバ障害状態(障害処理終了後,系切り替え処理ができる場合)
- -o:サーバ障害状態(障害処理終了後,系切り替え処理ができない場合)
- -f:サーバ障害状態(障害処理終了後,系切り替え処理が途中で失敗した場合)
- -r:サーバ障害状態(障害処理終了後,実行サーバの再起動を待つ場合)
- -n:サーバ障害状態(障害処理終了後,実行サーバの再起動監視時間が経過した場合)
- -h:系障害状態
- -w:計画系切り替え状態
- 開始/終了パラメタ
- サーバ識別名で示したサーバの状態変化(HAモニタの処理)の開始時点か終了時点かを示します。次のどれかが渡されます。
- start:サーバの状態変化(HAモニタの処理)の開始時点
- end:サーバの状態変化(HAモニタの処理)の終了時点
- sbyend:待機サーバだけの状態変化(HAモニタの処理)の開始時点
(3) 注意事項
- HAモニタとのインタフェースを持たないサーバおよびリソースサーバの場合は,開始/終了パラメタendは渡せません。また,HAモニタとのインタフェースを持たないサーバの場合は,HAモニタがサーバの状態を認識できないため,ユーザコマンドにサーバ状態パラメタと開始/終了パラメタを渡せるのは,次の状態にだけなります。リソースサーバの場合もサーバの実体がないため,次の状態だけです。
- サーバ起動状態:-s start
- サーバ正常終了状態:-e start,-e sbyend
- 系障害状態:-h start
- 計画系切り替え状態:-w start
- ユーザコマンドでは,ユーザが使用したいHAモニタのコマンドも発行できます。
- ユーザコマンドはHAモニタの処理中に発行されるため,ユーザコマンド内で無限ループなどが発生した場合は,HAモニタの処理を保証できません。ユーザコマンドは,無限ループなどが発生しないように注意して作成してください。ユーザコマンドが無限ループすると,サーバが起動または停止処理中のままになるおそれがあります。
- HAモニタでは,ユーザコマンドの実行結果はチェックしません。HAモニタは,ユーザコマンドの実行結果に関係なく動作します。ただし,サーバの起動開始および系切り替え開始時に実行されるユーザコマンドについては,サーバ対応の環境設定のuoc_neckオペランドを使用することによって,ユーザコマンドの実行結果(終了コード)が0以外の場合,サーバの起動または系切り替えを,中止させることもできます。
- ユーザコマンドの標準出力と標準エラー出力は,コンソール出力になります。
(4) 形式例
- usrcommand /usr/bin/usrcmdのユーザコマンドを,実行サーバ serverの起動時に発行した場合
/usr/bin/usrcmd -n server -k online -s start |
- usrcommand /usr/bin/usrcmdのユーザコマンドを,実行サーバ serverのサーバ障害時(実行サーバの障害処理開始時)に発行した場合
/usr/bin/usrcmd -n server -k online -a start |
- usrcommand /usr/bin/usrcmdのユーザコマンドを,実行サーバ serverのサーバ障害時(実行サーバの障害処理終了時)に発行した場合
/usr/bin/usrcmd -n server -k online -a end |
- usrcommand /usr/bin/usrcmdのユーザコマンドを,実行サーバ serverのサーバ障害時(待機サーバの系切り替え処理開始時)に発行した場合
/usr/bin/usrcmd -n server -k standby -a start |
- usrcommand /usr/bin/usrcmdのユーザコマンドを,実行サーバ serverのサーバ障害時(待機サーバの系切り替え処理終了時)に発行した場合
/usr/bin/usrcmd -n server -k standby -a end |