1.2.7 ドメイン通信の環境設定
ドメインを代表するスケジュールサービスをドメインデータファイルに登録すると,dc_rpc_call関数を使用したドメイン指定の通信が実現できます。ドメイン間通信の電文はすべて,ドメインを代表するスケジュールサービスを経由して,最終通信先のスケジュールサービスに渡ります。
ドメインは複数のOpenTP1サーバで構成されます。そのドメインを代表するOpenTP1サーバを決めてください。そのOpenTP1サーバのスケジュールサービスがドメインを代表するスケジュールサービスになります。ドメインデータファイルには,ドメイン代表スケジュールサービスを登録します。ホスト名を指定してドメインデータファイルに登録します。ドメインデータファイルとは,DNSのhosts情報ファイルのことです。
ドメイン指定の通信をするには,ユーザサーバからドメイン指定のdc_rpc_call関数を発行します。電文を受けたドメイン代表スケジュールサービスは,ドメイン内の最終通信先のスケジュールサービスにその電文を渡します。
ドメイン指定の通信をするには,次の環境設定が必要です。
- 〈この項の構成〉
(1) ドメイン代表スケジュールサービスの登録
ドメインデータファイルには,三つのドメイン代表スケジュールサービスが登録できます。namdomainsetupコマンドを使用して,ドメイン代表スケジュールサービスのホスト名を登録します。ドメイン代表スケジュールサービスを登録できるのは,スーパユーザだけです。
(2) ドメイン代表スケジュールサービスのポート番号の登録
/etc/servicesにドメイン代表スケジュールサービスのポート番号を登録します。ポート番号は,すべてのドメインで同一にしてください。次の形式で指定します。
OpenTP1scd ポート番号/tcp エイリアス名
-
OpenTP1scdは固定です。
-
プロトコル名はtcpを指定します。
-
任意のエイリアス名を指定できます。
OpenTP1を起動するすべてのホストの/etc/servicesにドメイン代表スケジュールサービスのポート番号を登録してください。ただし,NISで運用している場合は,NISサーバの/etc/servicesだけに登録します。
/etc/servicesにポート番号を登録しなかった場合にドメイン指定のdc_rpc_call関数を発行すると,DCRPCER_NO_PORTでエラーリターンします。
(3) システム定義の指定
-
スケジュールサービス定義
ドメイン代表スケジュールサービスのポート番号を定義します。スケジュールサービス定義のscd_portオペランドにドメイン代表スケジュールサービスのポート番号を指定してください。このポート番号は,/etc/servicesに登録したポート番号を指定します。
-
システム共通定義
自ドメインを構成するノードを設定します。システム共通定義のall_nodeオペランドにノード名を指定します。
(4) 同一ホスト内に複数のスケジュールサービスがある場合
マルチOpenTP1や系切り替え機能使用時など,同一ホスト内で複数のスケジュールサービス(OpenTP1)を起動する場合,それぞれのスケジュールサービスごとにポート番号は異なります。同一ホスト内の複数のスケジュールサービスを,ドメイン代表スケジュールサービスとして設定すると,ドメイン指定のdc_rpc_call関数を発行して,設定したスケジュールサービス間のドメイン通信はできません。同一ホスト内で複数のスケジュールサービスを起動する場合は,そのうちの一つのスケジュールサービスだけを,ドメイン代表スケジュールサービスにしてください。環境設定を次に示します。
-
ドメイン代表スケジュールサービスの登録
ドメイン代表スケジュールサービスとしてドメインデータファイルに登録するスケジュールサービスを一つだけ登録します。
-
ポート番号の登録
/etc/servicesに登録するポート番号は一つだけです。ドメインデータファイルに登録したスケジュールサービスのポート番号を登録します。
-
システム定義
ドメイン代表スケジュールサービスのポート番号を,スケジュールサービス定義のscd_portオペランドに指定します。/etc/servicesに登録したポート番号です。
システム共通定義のall_nodeオペランドに,自ドメインを構成するノード名を指定します。