Hitachi

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


1.2.7 ドメイン通信の環境設定

ドメインを代表するスケジュールサービスをドメインデータファイルに登録すると,dc_rpc_call関数を使用したドメイン指定の通信が実現できます。ドメイン間通信の電文はすべて,ドメインを代表するスケジュールサービスを経由して,最終通信先のスケジュールサービスに渡ります。

ドメインは複数のOpenTP1サーバで構成されます。そのドメインを代表するOpenTP1サーバを決めてください。そのOpenTP1サーバのスケジュールサービスがドメインを代表するスケジュールサービスになります。ドメインデータファイルには,ドメイン代表スケジュールサービスを登録します。ホスト名を指定してドメインデータファイルに登録します。ドメインデータファイルとは,DNSのhosts情報ファイルのことです。

ドメイン指定の通信をするには,ユーザサーバからドメイン指定のdc_rpc_call関数を発行します。電文を受けたドメイン代表スケジュールサービスは,ドメイン内の最終通信先のスケジュールサービスにその電文を渡します。

ドメイン指定の通信をするには,次の環境設定が必要です。

〈この項の構成〉

(1) ドメイン代表スケジュールサービスの登録

ドメインデータファイルには,三つのドメイン代表スケジュールサービスが登録できます。namdomainsetupコマンドを使用して,ドメイン代表スケジュールサービスのホスト名を登録します。ドメイン代表スケジュールサービスを登録できるのは,スーパユーザだけです。

(2) ドメイン代表スケジュールサービスのポート番号の登録

/etc/servicesにドメイン代表スケジュールサービスのポート番号を登録します。ポート番号は,すべてのドメインで同一にしてください。次の形式で指定します。

OpenTP1scd ポート番号/tcp エイリアス名

OpenTP1を起動するすべてのホストの/etc/servicesにドメイン代表スケジュールサービスのポート番号を登録してください。ただし,NISで運用している場合は,NISサーバの/etc/servicesだけに登録します。

/etc/servicesにポート番号を登録しなかった場合にドメイン指定のdc_rpc_call関数を発行すると,DCRPCER_NO_PORTでエラーリターンします。

(3) システム定義の指定

  1. スケジュールサービス定義

    ドメイン代表スケジュールサービスのポート番号を定義します。スケジュールサービス定義のscd_portオペランドにドメイン代表スケジュールサービスのポート番号を指定してください。このポート番号は,/etc/servicesに登録したポート番号を指定します。

  2. システム共通定義

    自ドメインを構成するノードを設定します。システム共通定義のall_nodeオペランドにノード名を指定します。

(4) 同一ホスト内に複数のスケジュールサービスがある場合

マルチOpenTP1や系切り替え機能使用時など,同一ホスト内で複数のスケジュールサービス(OpenTP1)を起動する場合,それぞれのスケジュールサービスごとにポート番号は異なります。同一ホスト内の複数のスケジュールサービスを,ドメイン代表スケジュールサービスとして設定すると,ドメイン指定のdc_rpc_call関数を発行して,設定したスケジュールサービス間のドメイン通信はできません。同一ホスト内で複数のスケジュールサービスを起動する場合は,そのうちの一つのスケジュールサービスだけを,ドメイン代表スケジュールサービスにしてください。環境設定を次に示します。

  1. ドメイン代表スケジュールサービスの登録

    ドメイン代表スケジュールサービスとしてドメインデータファイルに登録するスケジュールサービスを一つだけ登録します。

  2. ポート番号の登録

    /etc/servicesに登録するポート番号は一つだけです。ドメインデータファイルに登録したスケジュールサービスのポート番号を登録します。

  3. システム定義

    ドメイン代表スケジュールサービスのポート番号を,スケジュールサービス定義のscd_portオペランドに指定します。/etc/servicesに登録したポート番号です。

    システム共通定義のall_nodeオペランドに,自ドメインを構成するノード名を指定します。