サーバがHAモニタとのインタフェースを持つ場合,およびサーバがHAモニタとのインタフェースを持たない場合のサーバ障害の検出方法について説明します。
サーバ自身が障害を検出した場合,HAモニタはサーバから障害連絡を受けて,サーバ障害を検出します。
また,サーバ自身で検出できない障害をHAモニタが検出するには,サーバの稼働報告をHAモニタが監視する方法を用います。そのためにサーバ対応の環境設定でサーバ障害監視時間を指定しておきます。指定したサーバ障害監視時間を超えてもサーバからの稼働報告がなかった場合,HAモニタはサーバ障害が発生したと判断します。
サーバ障害を検出すると,HAモニタは,サーバが系切り替えができる状態の場合,サーバ対応の環境設定(switchtypeオペランド)での指定に従って,サーバごとに次のどちらかの動作を実行します。
実行サーバが再起動するまでの実行サーバの状態を,実行サーバの再起動待ち状態といいます。HAモニタは,サーバ障害が発生した実行サーバを,実行サーバの再起動待ち状態にします。実行サーバの再起動が失敗した場合は,サーバプログラム自身のリトライ回数だけ再起動をリトライします。
また,サーバ対応の環境設定で実行サーバの再起動監視時間を指定しておくと,実行サーバが再起動するまでの時間を監視できます。サーバプログラム自身のリトライ回数の限界や,サーバ対応の環境設定で指定した実行サーバの再起動監視時間の限界は,サーバの再起動限界としてHAモニタで検出されます。
サーバの再起動限界を検出すると,HAモニタは,サーバ対応の環境設定での指定に従って,サーバごとに次のどちらかの動作を実行します。
なお,サーバ対応の環境設定でユーザの操作を待つように指定すると,実行サーバのスローダウンを検出しても,HAモニタは何もしないでサーバの監視を続けます。また,実行サーバの再起動監視時間は指定できません。
HAモニタが監視するのは実行サーバだけです。待機サーバは監視しません。
HAモニタが行うサーバの状態監視(系切り替えをする場合)の概要を,次の図に示します。
図2-4 サーバの状態監視(系切り替えをする場合)
サーバがHAモニタとのインタフェースを持たない場合,HAモニタはサーバを監視しません。そのため,サーバ自身が検出できないサーバ障害は検出できません。サーバ自身が検出できないサーバ障害が発生した場合は,ユーザが実行サーバを停止させ,実行系からmonswapコマンドで系切り替えをする必要があります。
また,サーバ自身が障害を検出した場合は,次のように処理します。
サーバの監視コマンドを作成しておくと,サーバ障害が発生した場合にHAモニタが系切り替えを実行します。詳細は,「2.2.8 HAモニタとのインタフェースを持たないサーバの監視機能」を参照してください。