分散トランザクション処理機能 OpenTP1 解説

[目次][用語][索引][前へ][次へ]

6.4 マルチホームドホストの形態での注意事項

二つ以上の物理ネットワークに接続しているTCP/IPを使っているホストを,マルチホームドホストといいます。このようなホストで稼働するOpenTP1と通信するときは,そのホストにつながっている任意のLANのアドレス(IPアドレス)を基にして通信します。通常の通信では,OpenTP1でIPアドレス(ホスト名)を意識する必要はありません。

ただし,一つのホストでOpenTP1を複数稼働させていて,そのうち一つを系切り替え機能で使っている場合,系の切り替えが起こることで,該当するホストのOpenTP1と通信できない場合があります。このようなことが起こらないように,どのIPアドレス(ホスト名)がどのOpenTP1に対応しているかを定義する必要があります。

<この節の構成>
(1) 系切り替えをするマルチホームドホスト形態に必要な定義
(2) OpenTP1とIPアドレス(ホスト名)を対応づける必要がある形態の例

(1) 系切り替えをするマルチホームドホスト形態に必要な定義

一つのホストにある複数のOpenTP1のうち,どちらかを系切り替え形態で使う場合は,システム共通定義のmy_hostオペランドにホスト名を指定した上で,dcbindht定義コマンドに次に示す項目を指定します。

(2) OpenTP1とIPアドレス(ホスト名)を対応づける必要がある形態の例

OpenTP1とIPアドレス(ホスト名)を対応づける必要がある形態とは,系切り替えでIPアドレスを引き継ぐ方法です。

この方法は,RPCでサービスのアドレス情報を取得したあとで系切り替えが起こった場合でも,そのアドレスをそのまま使用してサービスが使えます。

一つのホストで複数のOpenTP1が稼働することがある系切り替え構成を使うときは,dcbindht定義コマンドで,常に同じアドレスを使うことを定義してください。

(a) 1:1の系切り替え構成の場合の例

OpenTP1とIPアドレス(ホスト名)を対応づける必要がある形態例(1:1の系切り替え構成の場合)を次の図に示します。

図6-9 OpenTP1とIPアドレス(ホスト名)を対応づける必要がある形態例(系切り替え構成が一つの場合)

[図データ]

RPCでサービスを要求されたOpenTP1は,サービスのアドレス情報を取得するために使ったIPアドレスを保持します。

上の図に示す構成で,OpenTP1-BからOpenTP1-Aへサービスを要求するときには,IPアドレス「a」または「x」のどちらかを使います。

IPアドレスxを使ってサービスのアドレス情報を取得したあとで系切り替えが起こった場合,IPアドレスxはOpenTP1-X2に引き継がれます。このとき,OpenTP1-BからOpenTP1-Aへのサービス要求では,アドレス情報を取得したときのIPアドレスxを使って通信しようとします。IPアドレスxは,系切り替えによってホスト3に移っているため,OpenTP1-Bは目的のOpenTP1-Aと通信できなくなってしまいます。

このようなことを防ぐため,システム共通定義のdcbindht定義コマンドで,OpenTP1-Aは常にIPアドレスaを使うことを定義しておきます。

同様に,OpenTP1-Xと通信するOpenTP1-YがIPアドレスaを使わないように,dcbindht定義コマンドで,OpenTP1-Xは常にIPアドレスxを使うように定義しておきます。

(b) 相互系切り替え構成の場合の例

OpenTP1とIPアドレス(ホスト名)を対応づける必要がある形態例(相互系切り替え構成の場合)を次の図に示します。

図6-10 OpenTP1とIPアドレス(ホスト名)を対応づける必要がある形態例(相互系切り替え構成の場合)

[図データ]

上の図に示す構成では,ホスト1とホスト3にあるOpenTP1は,相互に実行系と待機系を配置しています。

この場合,OpenTP1-Aには,系切り替えによって通信できたりできなかったりするip=bのIPアドレスに影響されないように,dcbindht定義コマンドの-hオプションにip=aのIPアドレスを指定しておきます。同様に,OpenTP1-Xにも,dcbindht定義コマンドの-hオプションにip=xのIPアドレスを指定しておきます。