Hitachi

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


3.11.2 ノード自動追加機能を使用するための準備

ノード自動追加機能を使用するために必要な準備を説明します。

〈この項の構成〉

(1) マネジャノードで必要なシステム定義

マネジャノードに必要な定義,および任意の定義は次のとおりです。

必要な定義
システム共通定義のname_service_modeオペランド

managerを指定します。ノード自動追加機能でのノードの動作モードを「マネジャノード」に指定します。

ネームサービス定義
  • name_audit_intervalオペランド

    ノードを監視する間隔を指定します。

  • name_total_sizeオペランド

    自ノードのネームサービスが確保するサービス情報領域の大きさを指定します。サービス情報領域の大きさについては,マニュアル「OpenTP1 システム定義」を参照してください。

任意の定義
システム共通定義のname_remove_down_nodeオペランド

停止したノードをノードリストから削除するかどうかを指定します。

ネームサービス定義のnamnlfil定義コマンド

ノードリストの引き継ぎ機能で使用するノードリストファイルのファイル名を完全パスで指定します。

各システム定義の詳細については,マニュアル「OpenTP1 システム定義」を参照してください。

(2) エージェントノードで必要な定義

エージェントノードに必要な定義および任意の定義は,次のとおりです。

必要な定義
システム共通定義
  • name_service_modeオペランド

    agentを指定します。ノード自動追加機能でのノードの動作モードを「エージェントノード」に指定します。

  • name_manager_nodeオペランド

    エージェントノードを管理するマネジャノードのノード名を指定します。

ネームサービス定義
  • name_audit_intervalオペランド

    ノードを監視する間隔を指定します。

  • name_total_sizeオペランド

    自ノードのネームサービスが確保するサービス情報領域の大きさを指定します。サービス情報領域の大きさについては,マニュアル「OpenTP1 システム定義」を参照してください。

任意の定義
システム共通定義のname_node_add_policyオペランド

ノーマルノードやノード自動追加機能を使用していないノードの情報を,ノードリストに登録するかどうかを指定します。

ネームサービス定義
  • name_start_watch_timeオペランド

    OpenTP1起動時のノードリスト要求について,応答待ち時間を指定します。

  • name_start_retry_countオペランド

    OpenTP1起動時のノードリスト要求について,リトライ回数を指定します。

  • name_start_retry_intervalオペランド

    OpenTP1起動時のノードリスト要求について,リトライ間隔を指定します。

  • name_start_errorオペランド

    ノードリスト要求でエラーが発生した回数が,ネームサービス定義のname_start_retry_countオペランドに指定した値を超えた場合の処理を指定します。

  • name_sync_ready_timeオペランド

    ノードリストの同期を取るまでの待ち時間を指定します。

  • namnlfil定義コマンド

    ノードリストの引き継ぎ機能で使用するノードリストファイルのファイル名を完全パスで指定します。

各システム定義の詳細については,マニュアル「OpenTP1 システム定義」を参照してください。

(3) ノードリストの引き継ぎ機能を使用する

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

ノードリストの引き継ぎ機能は,このような一時的な制限を解消するための機能です。前回起動中のノードリストの情報がファイルに書き込まれ,再起動時にその情報を基にノードリストが引き継がれ,回復します。

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

ノードリスト情報を格納しておくファイルをノードリストファイルといいます。ノードリストを引き継ぐ場合は,namnlcreコマンドで事前にノードリストファイルを作成しておく必要があります。namnlcreコマンドについては,「13. 運用コマンドの詳細」の「namnlcre」を参照してください。

(a) 系切り替え構成でノードリストの引き継ぎ機能を使用する

系切り替え構成の場合は,必ずノードリストの引き継ぎ機能をお使いください。系切り替え構成でノードリストを引き継ぐ流れを次の図に示します。

図3‒30 系切り替え構成でノードリストを引き継ぐ流れ

[図データ]

マネジャノードが障害などで停止しても,実行系システムで使用していたノードリストがノードリストファイルに書き込まれているため,系切り替え時に待機系システムへ引き継げます。

(b) マネジャノードでノードリストの引き継ぎ機能を使用する

マネジャノードでノードリストを引き継ぐ流れを次の図に示します。

図3‒31 マネジャノードでノードリストを引き継ぐ流れ

[図データ]

マネジャノードでノードリストを引き継ぐ場合
  1. オンライン中にノードリストをノードリストファイルに書き込みます。

  2. OpenTP1の開始時にノードリストには,自ノードの情報しかありません。

  3. オンライン時に,前回オンライン時に保存したノードリストファイルからノードリストを引き継ぎます。

    これによって,前回オンライン時と同等の構成でRPC要求が開始でき,エージェントノードからのノードリスト要求にも応答できます。

マネジャノードでノードリストを引き継がない場合
  1. オンライン中にノードリストファイルへの書き込みはしません。

  2. OpenTP1の開始時にノードリストには,自ノードの情報しかありません。

  3. マネジャノードがエージェントノードからのノードリスト要求を受信するまでの間,ノードリストの状態は変わりません。

  4. エージェントからのノードリスト要求を受信し,ノードリストを更新して,エージェントへノードリストを配布します。

    RPC要求を開始できます。

マネジャノードが障害などで停止し再開始した場合も,ノードリストを引き継ぐときと,引き継がないときでは,RPCの開始までに同様の時間差があります。

(c) エージェントノードでノードリストの引き継ぎ機能を使用する

エージェントノードでノードリストを引き継ぐ流れを次の図に示します。

図3‒32 エージェントノードでノードリストを引き継ぐ流れ

[図データ]

図で示した流れについて説明します。番号は図中の番号と対応しています。

エージェントノードでノードリストを引き継ぐ場合
  1. オンライン中にノードリストをノードリストファイルに書き込みます。

  2. OpenTP1の開始時にノードリストには,自ノードの情報しかありません。

  3. オンライン時に,前回オンライン時に保存したノードリストファイルからノードリストを引き継ぎます。

    これによって,前回オンライン時と同等の構成でRPCが開始できます。

エージェントノードでノードリストを引き継がない場合
  1. オンライン中にノードリストファイルへの書き込みはしません。

  2. OpenTP1の開始時にノードリストには,自ノードの情報しかありません。

  3. マネジャノードがノードBからのノードリスト要求に返信するまでの間,ノードリストの状態は変わりません。

  4. マネジャノードのノードリストの配布のタイミングで,ノードリストは最新の情報に置き換わり,RPCが開始できます。

エージェントノードが障害などで停止し再開始した場合も,ノードリストを引き継ぐときと,引き継がないときでは,RPCの開始までに同様の時間差があります。