ネームサービス定義
形式
set形式
〔set name_total_size=サービス情報領域の大きさ〕
〔set name_cache_size=サービス情報キャッシュ領域の大きさ〕
〔set max_socket_descriptors=ソケット用ファイル記述子の最大数〕
〔set name_global_lookup=Y|N〕
〔set name_service_extend=1|0〕
〔set name_audit_conf=2|1|0〕
〔set name_audit_interval=監視間隔時間〕
〔set name_audit_watch_time=ノードダウンを検知するまでの最大待ち時間〕
〔set name_rpc_control_list=Y|N〕
〔set name_nodeid_check_message=Y|N〕
〔set name_cache_validity_time=他ノードのサービス情報の有効時間〕
〔set watch_time=最大応答待ち時間〕
〔set name_start_watch_time=OpenTP1起動時のノードリスト要求応答待ち時間〕
〔set name_start_retry_count=OpenTP1起動時のノードリスト要求リトライ回数〕
〔set name_start_retry_interval=OpenTP1起動時のノードリスト要求リトライ間隔〕
〔set name_start_error= stop|continue〕
〔set name_sync_ready_time=ノードリスト同期待ち時間〕
コマンド形式
〔namnlfil ‐{r|n} ノードリストファイル名〕
機能
RPCを可能にするサービス名とアドレスの対を管理するための実行環境を定義します。
ネームサービスは,ここで指定するサービス情報領域とサービス情報キャッシュ領域の大きさを加算した領域を,システム環境定義で指定した静的共用メモリの中から確保します。
説明
set形式のオペランド
●name_total_size=サービス情報領域の大きさ
~〈符号なし整数〉((1~32767))《64》(単位:キロバイト)
自ノードのネームサービスが確保するサービス情報領域の大きさを指定します。ノード自動追加機能を使用する場合は,必ず指定します。
サービス情報領域の大きさは,システムサービスとユーザサーバで登録するサービス情報の数を基に計算します。計算式については,「付録B.1 TP1/Server Base用の共用メモリの見積もり式」を参照してください。
ノード自動追加機能を使用する場合の計算式を次に示します。
name_total_size=↑(7936+all_node_exのノード数×284
+all_node_ex_extend_numberオペランドの指定値
×284
+163840
+((SPP数※1+rapサーバ数※2+XATMI数※3)×264)
+MCF※4+DAM※5+TAM※6+CLT※7)/1024↑
name_total_size=↑(7616+(all_nodeのノード数×384
+all_node_exオペランドの指定値
×284
+all_node_extend_numberオペランドの指定値×384
+all_node_ex_extend_numberオペランドの指定値
×284)
+((SPP数※1+rapサーバ数※2+XATMI数※3)×264)
+MCF※4+DAM※5+TAM※6+CLT※7)/1024↑
●name_cache_size=サービス情報キャッシュ領域の大きさ
~〈符号なし整数〉((1~32767))《16》(単位:キロバイト)
自ノードのネームサービスが確保するサービス情報キャッシュ領域の大きさを指定します。
サービス情報キャッシュ領域の大きさは,他ノードに登録されているサービス情報のうち,自ノードから検索を要求するサービス情報の数を基に計算します。計算式については,「付録B.1 TP1/Server Base用の共用メモリの見積もり式」を参照してください。
ノード自動追加機能を使用する場合の計算式を次に示します。
name_cache_size=↑(ノードリストに登録されているノードおよび
all_node_exオペランドに指定したノード※1で起動する
SPP数※2の総計
×224)/1024↑
name_cache_size=↑(all_nodeオペランドおよび
all_node_exオペランドに指定したノード※3で起動する
SPP数※2の総計
×224)/1024↑
ネームサービスは,サービス情報領域が不足したとき,サービス情報キャッシュ領域をサービス情報領域として使用することがあります。逆に,サービス情報領域をサービス情報キャッシュ領域として使用することはありません。
サービス情報キャッシュ領域を大きくすると,他ノードのサービス情報を検索するときの応答性能が向上します。
ただし,必要以上に大きくすると,OpenTP1システム全体のメモリを圧迫します。
●max_socket_descriptors=ソケット用ファイル記述子の最大数
~〈符号なし整数〉((32~2032))
OpenTP1制御下のプロセス※でのソケット用に使用するファイル記述子の最大数を指定します。
OpenTP1制御下のプロセス※は,システムサーバやユーザサーバとの間で,ソケットを使用したTCP/IP通信でプロセス間の情報交換をしています。そのため,同時に稼働するUAPプロセスの数,および通信する他ノードの数によって,このオペランドを変更する必要があります。
ソケット用ファイル記述子の最大数の算出式を,次に示します。
計算式の凡例を次に示します。
↑↑:小数点以下を切り上げます。
A:自ノード内で,次の値の合計値です。
B:他ノードのOpenTP1システムで,次の1.~2.に該当するノードの数の合計値です。
C:自ノードのネームサービスのポート番号に接続するCUPプロセス数,およびスレッド数
このオペランドの指定が小さいと,OpenTP1制御下の他プロセスとのコネクションが設定できなくなるため,プロセスがKFCA00307-Eメッセージを出力して異常終了します。
指定値の優先順位は次のとおりです(1.>2.)。
ここで指定を省略した場合,システム共通定義の値を仮定します。
●name_global_lookup=Y|N
~《N》
グローバル検索機能を使用するかどうかを指定します。
グローバル検索機能とは,all_nodeオペランドで指定された各ノード上のネームサービスがキャッシュしている他ノードのサービス情報を取得する機能です。
グローバル検索機能使用時のシステム構成例を次の図に示します。
図3-4 グローバル検索機能使用時のシステム構成
この図で示したシステム構成例の場合に,各OpenTP1ノードで指定するオペランドの値を次の表に示します。
表3-1 グローバル検索機能を使用したシステムのオペランドの指定値
OpenTP1ノード名 | all_nodeオペランドの指定値 | name_global_lookupオペランドの指定値 |
---|---|---|
OpenTP1-A | B,C | Y |
OpenTP1-B | A,C,D,E | N |
OpenTP1-C | A,B,F,G | N |
OpenTP1-D | B,E | N |
OpenTP1-E | B,D | N |
OpenTP1-F | C,G | N |
OpenTP1-G | C,F | N |
OpenTP1-Aからの検索範囲は,OpenTP1-B~OpenTP1-Gとなります。つまり,OpenTP1システム1だけでなく,OpenTP1システム2および3までのサービスと通信できるようになります。
グローバル検索機能を使用した環境では,DCRPC_BINDTBL_SET関数の引数portnoにネームサービスのポート番号を指定した,dc_rpc_call_to関数は使用できません。
DCRPC_BINDTBL_SET関数の引数nidにノード識別子を指定した,dc_rpc_call_to関数を使用する場合は,必ずグローバル検索機能の検索範囲(図のOpenTP1システム1~3)内のすべてのOpenTP1ノードのノード識別子を一意に定義してください。
サービス情報(閉塞,負荷状態など)は,検索元OpenTP1(図のOpenTP1-A)まで通知されないため,図のように水平分散を利用したサービス要求を行うことをお勧めします。
ネームサービス定義のname_cache_sizeオペランドの指定値は,自ノードから検索を要求するサービス情報の数に,all_nodeオペランドで指定されたノードにキャッシュされるサービス情報の数まで含めて算出する必要があります。
グローバル検索機能を使用したOpenTP1(図のOpenTP1-A)に対し,TP1/Client/P,TP1/Client/WまたはTP1/Client/Jからサービス要求が送信された場合,OpenTP1システム1だけでなく,OpenTP1システム2および3のサービス情報まで取得します。
グローバル検索機能の詳細については,マニュアル「OpenTP1 解説」を参照してください。
●name_service_extend=1|0
~《0》
ネームサービスで管理するサーバUAPの取得数を拡張します。このオペランドに1を指定した場合,RPC先の各ノードで起動する同一サービスグループ名のサーバUAPに対し,RPC先の対象を最大512にできます。ただし,RPC先の各ノードは,all_nodeオペランドで指定したOpenTP1システムに含まれている必要があります。このオペランドに0を指定した場合,または指定を省略した場合,RPC先の対象は,最大128のままになります。
●name_audit_conf=2|1|0
~《0》
ノード監視機能を使用するかどうかを指定します。ノード監視機能の詳細については,マニュアル「OpenTP1 解説」を参照してください。
このオペランドを指定する場合,次の点に注意してください。
ノード自動追加機能を使用する場合,次の点に注意してください。
●name_audit_interval=監視間隔時間
~〈符号なし整数〉((1~65535))《60》(単位:秒)
監視サービスのノード監視が終了したあと,次の監視を開始するまでの時間を指定します。
ノード自動追加機能を使用する場合の動作は次のとおりです。
このオペランドには,マネジャノードのネームサービス定義のname_sync_ready_timeオペランドの指定値と同じ値を指定してください。指定値が異なると,エージェントノードのノードリストから不当にノード情報が削除されることがあります。また,マネジャノードとエージェントノードとの間で,ノードリストの整合性が取られるまでに時間が掛かるおそれがあります。
●name_audit_watch_time=ノードダウンを検知するまでの最大待ち時間
~〈符号なし整数〉((8~65535))《8》(単位:秒)
name_audit_confオペランドに2(送受信型ノード監視)を指定した場合,監視対象のノードから応答が返るまでの待ち時間の最大値を指定します。なお,name_audit_confオペランドに1を指定した場合,システム共通定義のipc_conn_intervalオペランドに指定した値がノードダウンを検知するまでの時間となります。
ノード自動追加機能を使用する場合は,次の動作をします。
●name_rpc_control_list=Y|N
~《Y》
RPC抑止リストに登録されたノードの監視機能を使用するかどうかを指定します。
ネームサービスでは,ノード監視機能とは別に180秒ごとにRPC抑止リストに登録されたノードの起動状況を確認できます。この機能の使用有無を,このオペランドで指定します。
ノードの監視機能の設定を考慮して,この機能を使用してください。例えば,次に示す状態の場合,RPC抑止リストに登録されたノードの監視機能を無効にする必要があります。
RPC抑止リストに登録されたノードの監視機能を無効にした場合で,name_audit_intervalオペランドに指定した時間が180秒以上のとき,障害から復旧したノードがRPC抑止リストから削除されるまでの時間は,RPC抑止リストに登録されたノードの監視機能を使用した場合よりも長くなります。
次に示す条件を満たす場合は,このオペランドにNを指定することをお勧めします。
name_audit_confオペランドを省略するか,または0を指定した場合,name_rpc_control_listオペランドにNを指定したときは,ノード監視機能およびRPC抑止リストへの監視機能は無効になるので次に示す状態になります。
上記の状態を防ぐためには,name_audit_confオペランドを省略するか,または0を指定した場合,name_rpc_control_listオペランドを省略するか,Yを指定することをお勧めします。
●name_nodeid_check_message=Y|N
~《Y》
自ノードと同じノード識別子を指定したノードから通信を受信した場合に,KFCA00677-Wメッセージを出力するかどうかを指定します。
●name_cache_validity_time=他ノードのサービス情報の有効時間
~〈符号なし整数〉((0~65535))《1800》(単位:秒)
他ノードから取得したサーバUAPのサービス情報の有効時間を指定します。ネームサービスでは,次に示す場合に,他ノードで起動しているサーバUAPのサービス情報を取得します。
他ノードからサービス情報を取得した時点からこのオペランドに指定した時間内は,他ノードに対してサービス情報を検索しないでRPCを実行します。RPC実行時に,サービス情報の有効時間がこのオペランドに指定した時間を超過していた場合,システム共通定義のall_nodeオペランドに指定したノードからサービス情報を新たに取得し,すでに登録されているサービス情報を更新します。また,サービス情報の有効時間内でも,他ノードからサービス情報の更新通知を受けると,サービス情報は更新されます。
name_cache_validity_timeオペランドの指定値を変更する場合の注意事項を次に示します。
●watch_time=最大応答待ち時間
~〈符号なし整数〉((0~65535))(単位:秒)
RPCによってプロセス間で通信する場合,サービス要求を送信してからサービスの応答が返るまでの待ち時間の最大値を指定します。
クライアントUAPが他ノードのサーバUAPにサービスを要求する形態の場合,このオペランドを指定してください。他ノードのサーバUAPへサービスを要求する概要と,このオペランドが適用されるRPC通信個所を次の図に示します。
図3-5 他ノードのサーバUAPへのサービス要求概要
このオペランドには,クライアントUAPの最大応答待ち時間よりも小さい値を指定してください。クライアントUAPの最大応答待ち時間と同じか,それよりも大きい値を指定した場合,他ノードのネームサービスの処理遅延によって,先にクライアントUAPプロセスのサービスの検索要求が送受信タイムアウトになります。
OpenTP1の終了処理で,このオペランドで指定した時間だけ終了処理を待ち合わせる場合があります。したがって,大きな値を指定した場合,OpenTP1の終了処理に時間が掛かるときがあります。
指定時間を過ぎても応答がない場合は,RPCは送受信タイムアウトとしてエラーリターンします。
0を指定した場合は,応答を受信するまで待ち続けます。0を指定した場合,OpenTP1が終了しないときがあります。
省略した場合は,システム共通定義のwatch_timeオペランドの値を仮定します。
システム共通定義のwatch_timeオペランドのデフォルト値よりも,極端に小さな値または大きな値を指定すると,OpenTP1ダウンに至る障害が発生する場合がありますので,ご注意ください。
●name_start_watch_time=OpenTP1起動時のノードリスト要求応答待ち時間
~〈符号なし整数〉((0~1800))《8》(単位:秒)
エージェントノードはOpenTP1の起動時に,マネジャノードに対してノードリスト要求をします。ノードリスト要求を送信してから,応答を受信するまでの待ち時間の最大値を指定します。指定時間を過ぎても応答がない場合は,ノードリスト要求はエラーとなります。エラー発生後の動作は,name_start_errorオペランドの指定値に従います。
このオペランドは,ノード自動追加機能を使用する場合に,エージェントノードで指定します。
0を指定した場合,応答を受信するまで無限に待ち続けます。
大きな値を指定した場合,マネジャノードの動作状況によっては,OpenTP1の開始処理に時間が掛かるおそれがあります。
●name_start_retry_count=OpenTP1起動時のノードリスト要求リトライ回数
~〈符号なし整数〉((0~60))《0》
エージェントノードはOpenTP1の起動時に,マネジャノードに対してノードリスト要求をします。このノードリスト要求でエラーが発生した場合のリトライ回数を指定します。発生したエラーの回数が,指定した値を超えたときは,name_start_errorオペランドの指定に従った処理を実行します。
このオペランドは,ノード自動追加機能を使用する場合に,エージェントノードで指定します。
0を指定した場合,リトライしません。
大きな値を指定した場合,マネジャノードの動作状況によっては,OpenTP1の開始処理に時間が掛かるおそれがあります。
●name_start_retry_interval=OpenTP1起動時のノードリスト要求リトライ間隔
~〈符号なし整数〉((1~60))《10》(単位:秒)
エージェントノードはOpenTP1の起動時に,マネジャノードに対するノードリスト要求をします。このノードリスト要求でエラーが発生した場合のリトライ間隔を指定します。
このオペランドは,ノード自動追加機能を使用する場合に,エージェントノードで指定します。また,ネームサービス定義のname_start_retry_countオペランドに1以上を指定した場合に有効となります。
大きな値を指定した場合,マネジャノードの動作状況によっては,OpenTP1の開始処理に時間が掛かるおそれがあります。
●name_start_error=stop|continue
~《continue》
エージェントノードがOpenTP1の起動時に,マネジャノードからノードリストを正常に受信できなかった場合の処理を指定します。
このオペランドは,ノード自動追加機能を使用する場合に,エージェントノードで指定します。
●name_sync_ready_time=ノードリスト同期待ち時間
~〈符号なし整数〉((0~65535))《60》(単位:秒)
エージェントノードからRPCメッセージが受信できる状態になってから,エージェントノードとノードリストの整合性を取るまでの待ち時間を指定します。
このオペランドは,ノード自動追加機能を使用する場合に,マネジャノードで指定します。ただし,ノードリストを引き継ぐ場合,このオペランドの指定は無視します。
マネジャノードは,このオペランドに指定した時間が経過するまで,エージェントノードとノードリストの整合性を取りません。ただし,OpenTP1システム内に新たに追加されたエージェントノードに対してはノードリストを返します。
このオペランドには,エージェントノードのネームサービス定義のname_audit_intervalオペランド指定値と同じ値を指定してください。指定値が異なると,エージェントノードのノードリストから不当にノード情報が削除されることがあります。また,マネジャノードとエージェントノードとの間で,ノードリストの整合性が取られるまでに時間が掛かるおそれがあります。
コマンド形式
次ページ以降に記述しています。