3.3.5 サーバ障害時に系ごと切り替える系のペアダウン
HAモニタでは,実行サーバの障害を実行系の障害として扱うことで,サーバ障害時に,系をリセットする方法で系切り替えができます。これを,系のペアダウンといいます。
通常HAモニタは,サーバ障害が発生した場合に,障害が発生した系をリセットしないで待機系に切り替えますが,系のペアダウン機能を使用すると,障害が発生した系をリセットして待機系に切り替えられます。この機能は,次のサーバで使用できます。
-
サーバモードのサーバ
-
モニタモードのサーバ(サーバ対応の環境設定のptrlcmd_exオペランドを指定してモニタモードのサーバを監視している場合)
(1) ペアダウン時の動作
ペアダウン機能は,実行サーバの障害時,実行サーバを停止させると同時に,HAモニタも停止させることで実現します。実行系のHAモニタの停止は系障害として扱われ,待機系からリセットされたあとに系切り替えが開始されます。
ペアダウンの契機となる実行サーバの障害には,サーバ自身が検出した障害およびサーバのスローダウンがあります。また,OpenTP1またはHiRDBをサーバモードのサーバとして使用する場合,サーバのスローダウンを検出したときだけペアダウンをするオプションも指定できます。
実行系のリセットは,停止するHAモニタからの連絡を,待機系のHAモニタが受けて実行します。このとき,リセット優先系の判断や,リセット発行系の決定には従わないで,即時リセットを実行します。
(2) ユーザコマンド失敗時に系ごと切り替える系のペアダウン
サーバ障害による系切り替え時(online -a start),または計画系切り替え時(online -w start)に系切り替え元で実行するユーザコマンドが失敗した場合に,系のペアダウンをすることもできます。ユーザコマンドの失敗とは,次のような場合です。
-
ユーザコマンドの終了コードが0以外である。
-
ユーザコマンドが実行できない。
-
ユーザコマンドの実行後,リターンしてこない。
ただし,この失敗に対処する場合は,サーバ対応の環境設定のdev_timelimitオペランドまたはdev_offlimitオペランドを指定して処理を打ち切る必要があります。
(3) サーバの停止コマンド失敗時に系ごと切り替える系のペアダウン
系切り替え時に実行するサーバの停止コマンドが失敗した場合に,系のペアダウンをすることもできます。サーバの停止コマンドの失敗とは,次のような場合です。
-
サーバの停止コマンドの終了コードが0以外である。
-
サーバの停止コマンドが実行できない。
-
サーバの停止コマンドの実行後,リターンしてこない。
ただし,この失敗に対処する場合は,サーバ対応の環境設定のstop_timeoutオペランドまたはstop_timeout_swオペランドを指定して処理を打ち切る必要があります。
(4) 必要な環境設定
ペアダウン機能を使用するかどうかは,サーバ対応の環境設定のpairdownオペランドで指定します。
ユーザコマンド失敗時に系ごと切り替える系のペアダウンをする場合は,サーバ対応の環境設定のuoc_pairdownオペランドにuseを指定します。また,サーバ障害による系切り替え時(online -a start),または計画系切り替え時(online -w start)に実行するユーザコマンドは,異常終了時に0以外の終了コードで戻るように記述してください。
サーバの停止コマンド失敗時に系ごと切り替える系のペアダウンをする場合は,サーバ対応の環境設定のterm_pairdownオペランドにuseを指定します。