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) 系切り替え構成でノードリストの引き継ぎ機能を使用する
系切り替え構成の場合は,必ずノードリストの引き継ぎ機能をお使いください。系切り替え構成でノードリストを引き継ぐ流れを次の図に示します。
マネジャノードが障害などで停止しても,実行系システムで使用していたノードリストがノードリストファイルに書き込まれているため,系切り替え時に待機系システムへ引き継げます。
(b) マネジャノードでノードリストの引き継ぎ機能を使用する
マネジャノードでノードリストを引き継ぐ流れを次の図に示します。
- マネジャノードでノードリストを引き継ぐ場合
-
-
オンライン中にノードリストをノードリストファイルに書き込みます。
-
OpenTP1の開始時にノードリストには,自ノードの情報しかありません。
-
オンライン時に,前回オンライン時に保存したノードリストファイルからノードリストを引き継ぎます。
これによって,前回オンライン時と同等の構成でRPC要求が開始でき,エージェントノードからのノードリスト要求にも応答できます。
-
- マネジャノードでノードリストを引き継がない場合
-
-
オンライン中にノードリストファイルへの書き込みはしません。
-
OpenTP1の開始時にノードリストには,自ノードの情報しかありません。
-
マネジャノードがエージェントノードからのノードリスト要求を受信するまでの間,ノードリストの状態は変わりません。
-
エージェントからのノードリスト要求を受信し,ノードリストを更新して,エージェントへノードリストを配布します。
RPC要求を開始できます。
-
マネジャノードが障害などで停止し再開始した場合も,ノードリストを引き継ぐときと,引き継がないときでは,RPCの開始までに同様の時間差があります。
(c) エージェントノードでノードリストの引き継ぎ機能を使用する
エージェントノードでノードリストを引き継ぐ流れを次の図に示します。
図で示した流れについて説明します。番号は図中の番号と対応しています。
- エージェントノードでノードリストを引き継ぐ場合
-
-
オンライン中にノードリストをノードリストファイルに書き込みます。
-
OpenTP1の開始時にノードリストには,自ノードの情報しかありません。
-
オンライン時に,前回オンライン時に保存したノードリストファイルからノードリストを引き継ぎます。
これによって,前回オンライン時と同等の構成でRPCが開始できます。
-
- エージェントノードでノードリストを引き継がない場合
-
-
オンライン中にノードリストファイルへの書き込みはしません。
-
OpenTP1の開始時にノードリストには,自ノードの情報しかありません。
-
マネジャノードがノードBからのノードリスト要求に返信するまでの間,ノードリストの状態は変わりません。
-
マネジャノードのノードリストの配布のタイミングで,ノードリストは最新の情報に置き換わり,RPCが開始できます。
-
エージェントノードが障害などで停止し再開始した場合も,ノードリストを引き継ぐときと,引き継がないときでは,RPCの開始までに同様の時間差があります。