サーバがサーバモードの場合,HAモニタがサーバを監視し,サーバ障害が発生したら,系切り替えをします。ここでは,HAモニタが行うサーバ障害の検出方法と,障害を検出したあとのHAモニタの動作について説明します。
サーバ障害は,サーバ自身が検知できる障害と,検知できない障害とに分けられます。
HAモニタが実行サーバに発生したサーバ障害を検出すると,系切り替えができる状態の場合,次のどれかの動作をします。この動作は,サーバ対応の環境設定のswitchtypeオペランドでユーザがあらかじめ指定します。
それぞれの動作について,詳細を説明します。
サーバ障害を検出すると,実行系のHAモニタが実行サーバを強制停止して,待機系に系切り替えをします。稼働報告がなかったケースを例にして,サーバ障害検出時のHAモニタの動作を,次の図に示します。
図2-9 サーバ障害検出時のHAモニタの動作(系切り替えをする場合)
サーバ障害を検出すると,HAモニタは,サーバ障害が発生した実行サーバの再起動を待ちます。この実行サーバが再起動するまでの実行サーバの状態を,再起動待ち状態と呼びます。
実行サーバが再起動できた場合は,HAモニタは系切り替えをしないため,障害発生後も業務を実行する系は変わりません。実行サーバが再起動に失敗した場合,サーバに対応するプログラムは,プログラムのリトライ回数だけ,再起動を試みます。実行サーバが再起動に失敗し,HAモニタが実行サーバの再起動限界を検出した場合は,HAモニタが待機系に系切り替えをします。系切り替え時のHAモニタの動作は「(a) 系切り替えをする場合」と同様です。
実行サーバの再起動限界とは,実行サーバを再起動させる上限のことです。実行サーバの再起動限界としてHAモニタが検出するのは,次のとおりです。
サーバ障害を検出したあと,実行サーバの再起動を待ち,再起動できなければオペレータの操作を待つ場合について説明します。
実行サーバの再起動を実施する動作は,「(b) 実行サーバの再起動を待ち,再起動できなければ系切り替えをする場合」と同様です。しかし,オペレータの操作を待つ場合は,実行サーバの再起動限界として,プログラムのリトライ回数だけを指定できます。
実行サーバが再起動に失敗し,HAモニタが実行サーバの再起動限界を検出すると,HAモニタは,実行系の実行サーバを停止させます。また,待機系では,障害が発生した実行サーバに対応する待機サーバを,いったん停止させたあとに再起動して,実行サーバの起動待ち状態にします。このとき,ユーザは,実行サーバの起動待ち状態になっている待機サーバを,実行サーバとして起動するか,または停止する必要があります。待ち状態のサーバを操作する方法については,「7.3.1 待ち状態のサーバを起動して業務を再開する」を参照してください。