2.3.2 サーバ障害の検出(サーバモードの場合)

サーバがサーバモードの場合,HAモニタがサーバを監視し,サーバ障害が発生したら,系切り替えをします。ここでは,HAモニタが行うサーバ障害の検出方法と,障害を検出したあとのHAモニタの動作について説明します。

<この項の構成>
(1) サーバ障害の検出方法
(2) サーバ障害を検出したあとのHAモニタの動作

(1) サーバ障害の検出方法

サーバ障害は,サーバ自身が検知できる障害と,検知できない障害とに分けられます。

サーバ自身が検知できる障害が発生した場合
HAモニタはサーバから障害連絡を受けて,サーバ障害を検出します。
サーバ自身が検知できない障害が発生した場合
実行サーバでは,サーバの稼働報告をHAモニタが監視する方法を用いて,HAモニタで障害を検出します。このため,サーバ対応の環境設定でサーバ障害監視時間を指定しておきます。指定したサーバ障害監視時間を超えてもサーバからの稼働報告がなかった場合,HAモニタはサーバ障害が発生したと判断します。
待機サーバでは,HAモニタは障害を検出しません。ユーザが必要に応じて待機サーバを再起動したり,停止したりします。

(2) サーバ障害を検出したあとのHAモニタの動作

HAモニタが実行サーバに発生したサーバ障害を検出すると,系切り替えができる状態の場合,次のどれかの動作をします。この動作は,サーバ対応の環境設定のswitchtypeオペランドでユーザがあらかじめ指定します。

それぞれの動作について,詳細を説明します。

(a) 系切り替えをする場合

サーバ障害を検出すると,実行系のHAモニタが実行サーバを強制停止して,待機系に系切り替えをします。稼働報告がなかったケースを例にして,サーバ障害検出時のHAモニタの動作を,次の図に示します。

図2-9 サーバ障害検出時のHAモニタの動作(系切り替えをする場合)

[図データ]

(b) 実行サーバの再起動を待ち,再起動できなければ系切り替えをする場合

サーバ障害を検出すると,HAモニタは,サーバ障害が発生した実行サーバの再起動を待ちます。この実行サーバが再起動するまでの実行サーバの状態を,再起動待ち状態と呼びます。

実行サーバが再起動できた場合は,HAモニタは系切り替えをしないため,障害発生後も業務を実行する系は変わりません。実行サーバが再起動に失敗した場合,サーバに対応するプログラムは,プログラムのリトライ回数だけ,再起動を試みます。実行サーバが再起動に失敗し,HAモニタが実行サーバの再起動限界を検出した場合は,HAモニタが待機系に系切り替えをします。系切り替え時のHAモニタの動作は「(a) 系切り替えをする場合」と同様です。

実行サーバの再起動限界とは,実行サーバを再起動させる上限のことです。実行サーバの再起動限界としてHAモニタが検出するのは,次のとおりです。

(c) 実行サーバの再起動を待ち,再起動できなければオペレータの操作を待つ場合

サーバ障害を検出したあと,実行サーバの再起動を待ち,再起動できなければオペレータの操作を待つ場合について説明します。

実行サーバの再起動を実施する動作は,「(b) 実行サーバの再起動を待ち,再起動できなければ系切り替えをする場合」と同様です。しかし,オペレータの操作を待つ場合は,実行サーバの再起動限界として,プログラムのリトライ回数だけを指定できます。

実行サーバが再起動に失敗し,HAモニタが実行サーバの再起動限界を検出すると,HAモニタは,実行系の実行サーバを停止させます。また,待機系では,障害が発生した実行サーバに対応する待機サーバを,いったん停止させたあとに再起動して,実行サーバの起動待ち状態にします。このとき,ユーザは,実行サーバの起動待ち状態になっている待機サーバを,実行サーバとして起動するか,または停止する必要があります。待ち状態のサーバを操作する方法については,「7.3.1 待ち状態のサーバを起動して業務を再開する」を参照してください。