Hitachi

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


3.10.1 ドメイン構成の変更

ドメインを構成するノードをOpenTP1の動作中に変更するには,namndchgコマンドまたはnamchgflコマンドを使用します。それぞれのコマンドでドメイン構成を変更する方法を次に示します。

〈この項の構成〉

(1) namndchgコマンドを使用したドメイン構成の変更

システム共通定義のall_nodeオペランドを変更し,namndchgコマンドを実行してドメイン構成を変更します。ドメイン構成の変更手順を次に示します。

  1. システム共通定義のall_nodeオペランドのノードの構成を変更します。

  2. namndchgコマンドを実行します。コマンドが正常終了すると,変更したノードでドメインが構成されます。

また,namndchgコマンドに-lオプションを指定すると,そのときにドメインを構成しているノード名とポート番号(all_nodeオペランドの指定内容)が表示されます。

(2) namchgflコマンドを使用したドメイン構成の変更

ドメイン定義ファイルの定義でドメインの構成を変更します。namchgflコマンドを使用すると,システム共通定義を変更しなくてもドメイン構成を変更できます。namchgflコマンドを有効にするには,システム共通定義のname_domain_file_useオペランドにYを指定してください。name_domain_file_useオペランドの詳細については,マニュアル「OpenTP1 システム定義」を参照してください。ドメイン構成の変更手順を次に示します。

  1. ドメイン定義ファイルを作成します。

  2. namchgflコマンドを実行します。コマンドが正常終了すると,変更したノードでドメインが構成されます。グローバルキャッシュは初期化され,無登録状態になります。all_node_exのドメイン定義ファイルも変更対象にするには,namchgflコマンドに-eオプションを指定してください。

ドメイン構成の変更前後で同一ノードが指定されていた場合,そのノードについては,次の情報を変更前から引き継ぎます。

(a) ドメイン定義ファイル

システム共通定義を変更しないでドメイン構成を変更するには,ドメイン定義ファイルが必要です。ドメイン定義ファイルには,all_nodeを指定するファイルと,all_node_exを指定するファイル,さらに優先選択ノードを指定する定義ファイルがあります。優先選択ノードの定義ファイルの指定方法は,all_nodeを指定するファイルおよびall_node_exを指定するファイルと同じです。

ファイル名称は40バイト以内の任意の名称です。それぞれのファイルを次の場所に格納してください。

all_nodeを指定するファイル

$DCCONFPATH/dcnamndディレクトリ下

all_node_exを指定するファイル

$DCCONFPATH/dcnamndexディレクトリ下

優先選択ノードを指定する定義ファイル

$DCCONFPATH/dcnamprディレクトリ下

これらのファイルのノード名やポート番号などに不正があった場合は,KFCA00656-E(ノード名不正),KFCA00657-E(ポート番号不正)またはKFCA00666-E(ホスト未定義)のメッセージを出力後,namchgflコマンドがエラーリターンし,ドメイン構成の変更は無効となります。

また,優先選択ノードの定義ファイルに指定したノードがall_nodeのドメイン定義ファイルに指定されていなかった場合は,KFCA00603-W(all_nodeに未定義)のメッセージを出力し,優先選択ノードの指定は無効となります。なお,同一ファイル内のほかの行で正しく定義されているノードについては,優先選択ノードの指定は有効となります。

それぞれのディレクトリ下に,複数のドメイン定義ファイルを格納した場合,同じディレクトリ下に格納されているすべてのドメイン定義ファイルを合わせて一つのドメイン(OpenTP1システム)を構成します。

次の場合,ドメイン定義ファイルは,自ノードだけのドメインとしてOpenTP1システムを構成します。優先選択ノードの定義ファイルは,ドメイン定義ファイルの指定に従います。

  • ドメイン定義ファイルが正しい場所に存在しない場合

  • ドメイン定義ファイルを格納するディレクトリが存在しない場合

  • ドメイン定義ファイルにノードが指定されていない場合

ドメイン定義ファイルの記述形式を次に示します。

ノード名〔,〔ポート番号〕〕〔,〕
ノード名 〈1〜255文字の識別子〉

OpenTP1システムのすべてのノード名を指定します。識別子に使用できる文字は英数字,ピリオド,およびハイフンです。/etc/hostsに定義したホスト名がノード名になります。

ポート番号 〈符号なし整数〉((5001〜65535))

ネームサーバがウェルノウンポート番号として使用するポート番号を指定します。ポート番号を省略した場合,システム共通定義のname_portオペランドに指定したネームサービスのポート番号を設定します。name_portオペランドを指定していない場合,10000を設定します。

  • 1行に指定できる文字数は272バイトです。

  • 1行には,ノード名とポート番号を一組だけ指定できます。

  • コメントを記入する場合は,コメントの先頭に'#'を記述してください。

    行の先頭に'#'を記述すると1行全体がコメント扱いになります。

  • システム定義で使用している,複数行に分けて記述する場合の継続符号'\'は不要です。

  • 二つ目のコンマ(,)以降の文字は,エラー判定の対象外です。

注意事項
  • ドメイン定義ファイルに指定するノードには,一意のノード識別子を指定してください。

  • 変更前のドメイン構成からノードを削除すると,次の機能が正しく動作しないおそれがあります。

    ・ISTサービス

    ・マルチノード機能

  • トランザクショナルRPCを使用したサービスを利用している場合,ドメイン構成の変更時に削除したノードのノード識別子と同一のノード識別子が指定されているノードは,追加しないでください。このようなノードを指定した場合,次の動作は保証できません。

    ・回復処理

    ・ISTサービス

    ・マルチノード機能

  • 系切り替え構成でnamchgflコマンドを使用する場合,リラン時に備え,実行系と待機系で同じ内容のドメイン定義ファイルを格納してください。

  • namchgflコマンドの実行中にkillコマンドなどでnamchgflコマンドプロセスを強制停止させないでください。ネームサービス機能が正しく動作しなくなるおそれがあります。

  • リランの前後でname_domain_file_useオペランドを変更した場合の動作は保証できません。

ドメイン定義ファイルの記述例を次に示します。

0---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+-
10.209.117.30,11111,                                            #コメント
10.209.117.40,33333,                                            #コメント
                (改行)
#ZZZ
10.209.117.50,11111
10.209.117.60,33333
10.209.117.70
10.209.117.80,
10.209.117.90,,
                (空行)
注※

改行,空行,またはコメントだけの行でも指定が継続していると判断します。

(3) 追加ノード数の変更

ネームサービスが使用できる共用メモリの領域は,OpenTP1起動時に定義します。共用メモリの領域のサイズはオンライン中には変更できません。そのため,OpenTP1起動時に,必要な共用メモリの領域(最大ノード数)を確保してください。最大ノード数は,システム共通定義のall_node_extend_numberオペランドまたはall_node_ex_extend_numberオペランドで指定します。これらのオペランドの詳細については,マニュアル「OpenTP1 システム定義」を参照してください。