2.20.3 ノードの管理
HAモニタありのマルチノード構成とHAモニタなしのマルチノード構成では,ノードの管理方法が異なります。それぞれについて説明します。
(1) HAモニタありのマルチノード構成の場合
プライマリノードとセカンダリノードの状態はHAモニタによって管理され,ワーカーノードの状態はHADBによって管理されます。
HAモニタの詳細については,マニュアルHAモニタ Linux(R)(x86)編を参照してください。
(a) ノード種別の決定方法
プライマリノードとセカンダリノードは,HAモニタの定義の指定に従って決定されます。HAモニタの環境設定定義のserversファイルのinitialオペランドにonlineを指定すると,そのノードはプライマリノード(HAモニタの実行系)になり,standbyを指定すると,そのノードはセカンダリノード(HAモニタの待機系)になります。
ワーカーノードはHAモニタの管理対象外のため,HAモニタの定義を指定しません。HADBのサーバ定義のadb_sys_multi_worker_node_infoオペランドを指定したノードがワーカーノードになります。
ノード種別の決定方法を次の図に示します。
- メモ
-
-
プライマリノードおよびセカンダリノードを開始するには,プライマリノードおよび各セカンダリノードでadbstartコマンドを実行し,そのあとHAモニタのmonbeginコマンドを実行します。
-
ワーカーノードを開始するには,プライマリノードおよびセカンダリノードの開始処理の完了後に各ワーカーノードでadbstartコマンドを実行します。
-
- ■セカンダリノードとワーカーノードの差異(ワーカーノードの特徴)
-
セカンダリノードとワーカーノードは,読み取り専用モードのトランザクションが実行されるという同じ特徴を持っていますが,仕様が異なる部分もあります。ここでは,セカンダリノードとワーカーノードの主な差異と,ワーカーノードの特徴を説明します。
-
ワーカーノードは,プライマリノードの切り替え対象のノードにはならない
セカンダリノードとは異なり,ワーカーノードにはHAモニタをインストールしません。そのため,ワーカーノードは,プライマリノードの切り替え対象のノードにはなりません。
-
マルチノード構成にワーカーノードを動的に追加または削除できる
マルチノード構成のHADBサーバが稼働中のときに,マルチノード構成にワーカーノードを動的に追加または削除できます。例えば,マルチノード構成のHADBサーバの開始時には,プライマリノードと全セカンダリノードのHADBサーバだけを開始し,任意のタイミングでワーカーノードのHADBサーバを開始してマルチノード構成にワーカーノードを追加することができます。これによって,システムの負荷が大きくなる時間帯は,ワーカーノードを追加してトランザクションの処理性能を増強し,その時間帯が過ぎたあとは,ワーカーノードを削除するような運用が可能になります。
-
(b) ノード障害の監視
HAモニタは,次の表に示す障害がプライマリノードとセカンダリノードに発生していないかどうかを監視しています。HAモニタが,これらの障害の発生を検知した場合,障害が発生したプライマリノードまたはセカンダリノードをHAモニタの制御によってマルチノード構成から切り離します。
項番 |
HAモニタが監視している障害 |
---|---|
1 |
ハードウェア障害 |
2 |
ハードウェアの電源断 |
3 |
カーネル障害 |
4 |
HAモニタの異常終了 |
5 |
HADBサーバの異常終了(サーバプロセスの異常終了) |
上記の表に示す障害をノード障害といいます。
- ■マニュアルHAモニタ Linux(R)(x86)編を読む際のポイント
-
HAモニタの監視対象となる障害には,系障害(上記の表の項番1〜4の障害)とサーバ障害(上記の表の項番5の障害)があります。マルチノード機能は,HAモニタのモニタモードで動作するため,サーバ障害を検知する場合は,サーバの監視コマンドの作成が必要になります。サーバの監視コマンドの作成方法については,「18.4.4 HAモニタの環境設定」の「(4) コマンド用環境変数定義およびコマンドの作成」の「(e) サーバの監視コマンドの作成」を参照してください。
なお,ワーカーノードについては,HAモニタによる障害の監視は行われません。そのため,ワーカーノードでノード障害が発生して,ワーカーノードのHADBサーバが異常終了した場合,ワーカーノードをHADBの制御によってマルチノード構成から削除します。
(c) ノード障害が発生したときのシステムの処理
「(b) ノード障害の監視」で説明したノード障害が発生した場合,HAモニタの機能を使用して,障害が発生したノード(プライマリノードまたはセカンダリノード)をマルチノード構成から切り離し,残ったノードで業務を継続します。プライマリノードまたはセカンダリノードにノード障害が発生したときのノードの切り離し処理は,HAモニタが管理しています。詳細については,「2.20.4 マルチノード構成からのノードの切り離し(プライマリノード,セカンダリノード)」を参照してください。
ワーカーノードでノード障害が発生し,ワーカーノードのHADBサーバが異常終了した場合,HADBの制御によってワーカーノードをマルチノード構成から削除します。詳細については,「2.20.6 マルチノード構成からのワーカーノードの削除と追加」を参照してください。
(2) HAモニタなしのマルチノード構成の場合
全ノード(プライマリノードおよびワーカーノード)の状態はHADBによって管理されます。
(a) ノード種別の決定方法
プライマリノードおよびワーカーノードは,サーバ定義の指定に従って決定されます。サーバ定義のadb_sys_multi_node_infoオペランドにプライマリノードのホスト名を指定します。また,ワーカーノードには,サーバ定義のadb_sys_multi_worker_node_infoオペランドを指定します。
- メモ
-
-
プライマリノードを開始するには,プライマリノードでadbstartコマンドを実行します。プライマリノードの開始処理が完了すると,マルチノード構成のHADBサーバの開始となります。
-
ワーカーノードを開始するには,プライマリノードの開始処理の完了後に各ワーカーノードでadbstartコマンドを実行します。
-
(b) ノード障害が発生したときのシステムの処理
ノード障害が発生してプライマリノードのHADBサーバが異常終了した場合,マルチノード構成のHADBサーバが異常終了します。そのため,業務は続行できません。
ノード障害が発生してワーカーノードのHADBサーバが異常終了した場合,ワーカーノードをマルチノード構成から削除します。詳細については,「2.20.6 マルチノード構成からのワーカーノードの削除と追加」を参照してください。そのほかのノードは稼働し続けるため,業務を続行することができます。