2.3.4 系障害の検出

系間の監視,リセットパスや監視パスの監視などについて説明します。

<この項の構成>
(1) 系間の監視
(2) リセットパスのヘルスチェック
(3) 監視パスのヘルスチェック
(4) 問い合わせ応答メッセージのリトライ
(5) 自系のスローダウン認識

(1) 系間の監視

実行系と待機系のHAモニタは,互いに一定時間ごとに報告するaliveメッセージを確認し合う方法で,系を監視します。HAモニタは,aliveメッセージの途絶によって系障害を検出します。そのため,aliveメッセージを最後に受信してから系障害と判断するまでの時間(系障害監視時間)を,HAモニタの環境設定のpatrolオペランドに指定しておきます。なお,aliveメッセージの送信間隔は,HAモニタの環境設定のalive_intervalオペランドで指定できます。系障害監視時間を短く設定する場合は,aliveメッセージの送信間隔の設定をデフォルトから変更することを強く推奨します。

aliveメッセージの送信は,他系のHAモニタと連絡が取れ,系切り替えができる状態になった時点で開始されます。aliveメッセージの送受信は,監視パスを介して行われます。指定した系障害監視時間を超えても他系からaliveメッセージが送信されなかった場合,HAモニタは他系に系障害が発生したと判断します。

(2) リセットパスのヘルスチェック

系障害時に系リセットができるかどうかを判断するために,HAモニタでは接続するすべての他系の障害管理プロセサの状態をヘルスチェックしています。

ヘルスチェックは,自系と接続した他系が実行サーバと待機サーバの起動完了によって系切り替えができる状態になった時点で開始します。それ以降は,2分ごとにチェックします。この間隔はHAモニタの環境設定のresetpatrolオペランドで設定できます。

マシンの機種がHA8500の場合は,系間が接続されたときにも一度ヘルスチェックを実施します。

ヘルスチェックは待機系から実行しますが,次のどれかの場合は実行系からも実行します。

注※
これらの場合は,系間が接続された時点でヘルスチェックを開始します。系間が接続されている間は,ヘルスチェックを続けます。

障害管理プロセサ,またはリセットパスの障害を検出すると,HAモニタは障害検出のメッセージを出力し,該当する系に対するリセットパスのヘルスチェックを中断します。メッセージが出力された場合の処置は,マニュアル「高信頼化システム監視機能 HAモニタ メッセージ」を参照してください。また,ユーザはHAモニタのコマンドを使用して,障害管理プロセサの状態を表示できます。障害管理プロセサの状態を表示するコマンドは,使用するマシンの機種によって異なります。それぞれ機種に合ったコマンドを使用してください。コマンドの詳細については,「9. コマンド」を参照してください。なお,障害からの回復後,次のコマンドを使用することで,中断していたヘルスチェックを再開できます。

マシンの機種がHA8500でOAを冗長化した構成の場合は,OA切り替え時にHAモニタがOAにアクセスできなくなるためリセットパスの障害を検出しますが,HAモニタの環境設定のmp_redundancyオペランドにuseを指定すればヘルスチェックを継続します。OAの切り替えが完了すると,HAモニタはリセットパスの回復を検知します。

リセットパスのヘルスチェック継続時の動作を,次の図に示します。

図2-10 リセットパスのヘルスチェック継続時の動作(HA8500)

[図データ]

次に,リセットパスのヘルスチェック継続時の動作の詳細を説明します。番号は,上記の図と対応しています。

  1. OA1で障害が発生し,OA1はOA2への切り替え処理を開始します。
  2. OAの切り替え中にリセットパスのヘルスチェックが動作した場合,HAモニタはリセットパスの障害を検出します。ヘルスチェックは継続されます。
    このとき,メッセージKAMN399-Eが出力されます。
  3. OA1とOA2の切り替え処理の完了後にリセットパスのヘルスチェックが動作すると,HAモニタはリセットパスの回復を検知します。
    このとき,メッセージKAMN979-Iが出力されます。

(3) 監視パスのヘルスチェック

HAモニタでは,監視パスの状態を一定間隔でヘルスチェックできます。ヘルスチェックの間隔は,HAモニタの環境設定のpathpatrolオペランドで指定します。監視パスに障害が発生すると,HAモニタは通信障害のメッセージを出力します。

監視パスの状態は,HAモニタを起動してから,環境設定でヘルスチェック間隔に指定した時間が経過した時点でチェックします。それ以降は,指定したヘルスチェック間隔でチェックします。ヘルスチェックは,系に接続しているすべての監視パスについて実行し,HAモニタの停止時に終了します。また,自系と他系に監視パスが接続されていて,HAモニタが稼働している場合にだけチェックします。

監視パスの障害を検出した場合,HAモニタの環境設定のpathpatrol_retryオペランドを指定していれば,監視パスの状態を再チェックできます。再チェックしても障害を検出した場合,HAモニタは次に示すメッセージのどれかを出力します。

メッセージが出力された場合の処置は,マニュアル「高信頼化システム監視機能 HAモニタ メッセージ」で示す説明に従ってください。また,ユーザは監視パス状態表示コマンド(monpathコマンド)で監視パスの状態を表示できます。

(4) 問い合わせ応答メッセージのリトライ

HAモニタでは,aliveメッセージ以外にも,監視パスを使用して他系とメッセージをやり取りしています。例えば,サーバの起動時に,同じサーバが他系ですでに起動していないかどうかを確認するための問い合わせ応答メッセージなども,監視パスを使用して送受信しています。

これらの問い合わせ応答メッセージの送信に失敗した場合は,HAモニタが3秒間隔でメッセージ送信をリトライし,送信が成功するまでリトライを続けます。HAモニタの環境設定のmessage_retryオペランドを指定しておくと,ユーザがメッセージ送信のリトライ間隔を指定できます。

aliveメッセージの送信が開始される前など,系間の監視中でない場合,問い合わせ応答メッセージの送信が60秒を超えても成功しないと,HAモニタは系障害が発生したと判断します。

注※
HAモニタの環境設定のmessage_retryオペランドの指定が60秒以上の場合は,その時間を超えても送信が成功しないときにHAモニタは系障害が発生したと判断します。

(5) 自系のスローダウン認識

システムの高負荷などの理由から,HAモニタの環境設定のpatrolオペランドに指定した系障害監視時間以上動作できなかった場合(系のスローダウン)のHAモニタの動作について説明します。

実行系にスローダウンが発生した場合,HAモニタは,待機系に系切り替えをします。

一方,待機系にスローダウンが発生した場合は,実行系のHAモニタは待機系の系障害が発生したと判断します。この場合,待機系がスローダウンから回復すると,待機系のHAモニタは待機系に系障害が発生したとは判断していないため,系間で状態が不一致となります。

このため,待機系のHAモニタは,待機系がスローダウンから回復した時点で系間を再接続し,待機サーバを再起動します。これによって,自動的に系間の状態を一致させ,実行系と待機系の両方の系の監視を再開させます。