2.20.4 マルチノード構成からのノードの切り離し(プライマリノード,セカンダリノード)
プライマリノードまたはセカンダリノードでノード障害が発生した場合,障害が発生したノードをマルチノード構成から切り離し,残ったノードで業務を継続します。
- 重要
-
マルチノード構成からのノードの切り離しが行われるのは,HAモニタありのマルチノード構成の場合に限ります。
HAモニタなしのマルチノード構成の場合,プライマリノードでノード障害が発生してプライマリノードのHADBサーバが異常終了すると,マルチノード構成のHADBサーバが異常終了します。
- メモ
-
-
ノードの切り離しは,HAモニタによって制御されます。
-
障害が発生したプライマリノードまたはセカンダリノードをマルチノード構成から切り離し,残ったノードで処理を継続することを,HAモニタでは縮退運用と呼んでいます。
-
(1) プライマリノードでノード障害が発生した場合
プライマリノードでノード障害が発生した場合,そのプライマリノードをマルチノード構成から切り離し,セカンダリノードの1つをプライマリノードに切り替えて,残ったノードで業務を継続します。
プライマリノードでノード障害が発生した場合のノードの切り離しを次の図に示します。
- [説明]
-
-
ノード障害が発生したプライマリノードをマルチノード構成から切り離し,セカンダリノードの1つをプライマリノードに切り替えます。これをプライマリノードの切り替えといいます。
- 重要
-
ワーカーノードは,プライマリノードの切り替え先にはなりません。
-
ノード障害が発生したプライマリノードで実行中のSQL文はエラーになり,トランザクションを実行していたAPは,HADBサーバから切り離されます。また,ノード障害が発生した時点で,HADBサーバに接続だけしていてトランザクションを実行していないAPも,HADBサーバから切り離されます。
-
- メモ
-
障害が発生したプライマリノードで実行されていた更新処理に対する回復処理(ロールバック)が,新たにプライマリノードになるセカンダリノードで実行されます。回復処理の完了後,プライマリノードの切り替え処理が行われます。
ノード障害発生時のノードの切り離し,およびプライマリノードの切り替えは,HAモニタが管理しています(HAモニタの系切り替え機能で実現しています)。プライマリノードはHAモニタの実行系として動作し,セカンダリノードはHAモニタの待機系として動作します。
セカンダリノードの1つをプライマリノードに切り替える際,共有するディスクの切り替えや,エイリアスIPアドレスの追加および削除も,HAモニタが実行します。
- メモ
-
プライマリノードに切り替えられるセカンダリノードは,HAモニタの系切り替え機能によって,新たに実行系となるノードです。系の切り替え先(プライマリノードに切り替えられるセカンダリノード)の決定方法はHAモニタの仕様に依存します。
(2) セカンダリノードでノード障害が発生した場合
セカンダリノードでノード障害が発生した場合,そのセカンダリノードをマルチノード構成から切り離し,残ったノードで業務を継続します。
セカンダリノードでノード障害が発生した場合のノードの切り離しを次の図に示します。
- [説明]
-
ノード障害が発生したセカンダリノードで実行中のSQL文はエラーになり,トランザクションを実行していたAPは,HADBサーバから切り離されます。
- メモ
-
障害が発生したセカンダリノードで実行していたトランザクションのロールバックが,プライマリノードで実行されます。