Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 運用と操作


3.11.1 ノード自動追加機能を使用するための構成

ノード自動追加機能を使用する場合の構成例を次の図に示します。

図3‒28 ノード自動追加機能を使用する場合の構成例

[図データ]

注※

ノーマルノードとは,バージョン07-05以前のOpenTP1を使用しているノード,またはこの機能を使用していないノードのことです。この機能を使用する構成に,ノーマルノードを混在させることもできます。ノーマルノードを混在させて使用する運用については,「3.11.5 ノーマルノードを混在させて使用する運用」を参照してください。

〈この項の構成〉

(1) マネジャノード

マネジャノードは,OpenTP1システムを構成するすべてのノード情報を管理するノードです。OpenTP1システム内に一つだけ必要です。システム共通定義のname_service_modeオペランドでmanagerを指定します。

(a) マネジャノードの役割

マネジャノードの役割を次に示します。

  • ノードの稼働状況の監視

    マネジャノードは,OpenTP1システム内の全ノードの稼働状況を一定間隔で監視します。

  • ノードリストへのノード情報の登録

    OpenTP1システム内にノードが追加された場合,追加されたノードからマネジャノードにノードリスト要求が送信されます。マネジャノードはこれを受信し,ノードリストにそのノードの情報を登録します。

  • ノードリストからのノード情報の削除

    エージェントノードやノーマルノードに障害などが発生した場合,マネジャノードはこれを検知し,ノードリストからそのノードを削除します。

    停止したノードをノードリストから削除したくない場合は,システム共通定義のname_remove_down_nodeオペランドにNを指定します。

  • ノードリストの配布

    マネジャノードは,次の場合に最新のノードリストを各ノードに配布します。

    • ノード構成の変更後に,エージェントノードからノードリスト要求を受信した場合

    • OpenTP1システム内に新たにノードが追加された場合

(b) マネジャノードの構成および運用

マネジャノードが障害などの要因で停止すると,次のような影響があります。

  • OpenTP1システムにノードを自動追加できない。

    OpenTP1システム内で,追加したノードとほかのノードで,RPCが実行できません。

  • OpenTP1システムからノードを自動削除できない。

    停止しているノードへRPC要求を出す場合があります。

  • エージェントノードにノードリストが配布されないため,各ノード間でノードリストに不整合が生じる。

    マネジャノードが保持しているノードリストのノードだけがRPCの実行範囲となるため,負荷分散が不完全になることがあります。

マネジャノードの障害時対策として,次の構成および運用にしてください。

  • 系切り替え構成にする。

  • ノードリストの引き継ぎ機能を使用する。

系切り替え構成を導入できない場合の対応については,「3.11.3(3) ノード自動追加機能の障害時の運用」を参照してください。ノードリストの引き継ぎ機能については,「3.11.2(3) ノードリストの引き継ぎ機能を使用する」を参照してください。

(2) エージェントノード

エージェントノードは,マネジャノードに管理されるノードです。システム共通定義のname_service_modeオペランドでagentを指定します。

マネジャノードが障害などの要因で停止した場合,エージェントノードをマネジャノードに昇格させて,マネジャノードとしてノード管理を代行させることもできます。

(3) ノードリスト

ノードリストは,OpenTP1システムを構成する各ノード情報を格納し,マネジャノードによって一元管理されます。OpenTP1の共用メモリ上で管理します。

(a) ノードリストの整合性確保

マネジャノードのノード監視によって,ノードリストには各ノードの情報が定期的に反映され,最新のノード情報を保持します。最新のノードリストは,マネジャノードからノード自動追加機能を使用する各ノードに配布され,OpenTP1システム内で同じノードリストを参照するように制御されています。これをノードリストの整合性確保といいます。

ノードリストの整合性確保の流れを次の図に示します。

図3‒29 ノードリストの整合性確保の流れ

[図データ]

図で示したノードリストの整合性確保の流れについて説明します。番号は図中の番号と対応しています。

  1. マネジャノードとエージェントノードは,ノード監視およびノードリスト要求の送受信をします。

  2. マネジャノードが,ノードAの停止を検知します。

  3. マネジャノードは,マネジャノードのノードリストからノードAを削除します。

    ただし,システム共通定義のname_remove_down_nodeオペランドにNを指定した場合は削除しません。

  4. ノードBからマネジャノードへノードリスト要求を送信します。

  5. マネジャノードは,ノードBへ最新のノードリストを送信します。

(b) ノードリストの更新タイミング

ノードリストはノードの追加や削除時に更新されます。

次の場合は,ノードリストを更新しないで,次回のノードリストの整合性を確保するときに更新します。

  • マネジャノードがノードリストからノード情報を削除する際に,サービスグループ情報の検索など,ノードリストを参照する処理が並行して動作している場合

  • エージェントノードでノードリストの整合性を確保する際に,サービスグループ情報の検索など,ノードリストを参照する処理が並行して動作している場合

(c) ノードリストの引き継ぎ機能

ノードリストはノードリストの整合性確保によって,共用メモリ上でオンライン中に更新されます。共有メモリはOpenTP1の開始ごとに初期化されるため,前回オンライン時のノードリストの情報は失われ,ノードリストが再構築されます。このため,起動直後のノードリストには自ノードの情報しかない状態になり,ノードリストの整合性が確保されるまでの間,RPCの要求先が制限されてしまいます。

ノードリストの引き継ぎ機能は,このような一時的な制限を解消するための機能です。系切り替え構成の場合は,必ずノードリストの引き継ぎ機能をお使いください。また,マネジャノードでも,ノードリストの引き継ぎ機能を使用することをお勧めします。

ノードリストの引き継ぎ機能については,「3.11.2(3) ノードリストの引き継ぎ機能を使用する」を参照してください。

(4) その他の機能との併用

ノード自動追加機能は,ノード監視機能および優先選択ノードと併用できます。これらの機能との併用については,「3.11.4 ノード自動追加機能とその他の機能との併用」を参照してください。