付録A.2 ORB機能使用時の設定
(1) スマートエージェントのlocaladdrファイルおよびhtc.clienthandleraddrファイルの設定
クラスタソフトウェア上でスマートエージェントを起動する場合,各ノードのlocaladdrファイルおよびhtc.clienthandleraddrファイルを設定してください。なお,設定内容は,マルチホームドホスト環境の場合とそれ以外の場合で異なります。
マルチホームドホスト環境,またはマルチホームドホストでないホスト環境上でクラスタ環境を構築する場合の,スマートエージェントのlocaladdrファイルの設定内容を次の表に示します。
表A-1 スマートエージェントのlocaladdrファイルの設定内容
クラスタサービスおよびスマートエージェントを起動するホスト環境 | スマートエージェントのlocaladdrファイルの設定内容 |
---|
スマートエージェントをフェイルオーバの対象にする場合 | スマートエージェントをフェイルオーバの対象にしない場合 |
---|
マルチホームドホスト環境 | - ステーショナリIPアドレス(プライマリIPアドレス)
- スマートエージェントに明示的に指定したいIPアドレス
- クラスタIPアドレス
| - ステーショナリIPアドレス(プライマリIPアドレス)
- スマートエージェントに明示的に指定したいIPアドレス
|
マルチホームドホストではないホスト環境 | - ステーショナリIPアドレス(プライマリIPアドレス)
- クラスタIPアドレス
| - ステーショナリIPアドレス(プライマリIPアドレス)
|
次に,環境ごとの設定内容の詳細について説明します。また,htc.clienthandleraddrファイルについても説明します。
(a) マルチホームドホスト環境
- スマートエージェントをフェイルオーバの対象にする場合
localaddrファイルには,ステーショナリIPアドレス(プライマリIPアドレス),スマートエージェントに明示的に指定したいIPアドレス※,およびスマートエージェントが使用するクラスタIPアドレスを必ず設定してください。
また,スマートエージェントに接続するプロセスに対して,クラスタIPアドレスを返却するようにhtc.clienthandleraddrファイルを定義してください。
- スマートエージェントをフェイルオーバの対象にしない場合
localaddrファイルには,ステーショナリIPアドレス(プライマリIPアドレス),およびスマートエージェントに明示的に指定したいIPアドレス※を必ず設定してください。クラスタIPアドレスは設定しないでください。
また,スマートエージェントに接続するプロセスに対して,ステーショナリIPアドレスを返却するようにhtc.clienthandleraddrファイルを定義してください。
- 注※
- localaddrファイルを設定すると,スマートエージェントは,localaddrファイルに設定されたIPアドレスだけを認識します。localaddrファイルを設定しない場合,スマートエージェントはデフォルトでgethostbyname()から取得できるIPアドレスを認識します。
(b) マルチホームドホストではないホスト環境
- スマートエージェントをフェイルオーバの対象にする場合
localaddrファイルには,ステーショナリIPアドレス(プライマリIPアドレス)およびスマートエージェントが使用するクラスタIPアドレスを必ず設定してください。
また,スマートエージェントに接続するプロセスに対して,クラスタIPアドレスを返却するようにhtc.clienthandleraddrを定義してください。
- スマートエージェントをフェイルオーバの対象にしない場合
localaddrファイルには,ステーショナリIPアドレス(プライマリIPアドレス)を必ず設定してください。クラスタIPアドレスは設定しないでください。
また,スマートエージェントに接続するプロセスに対して,ステーショナリIPアドレスを返却するようにhtc.clienthandleraddrファイルを定義してください。
(2) スマートエージェントまたはスマートエージェントに接続するプロセスのagentaddrファイル,vbroker.agent.addrプロパティ,および環境変数「OSAGENT_ADDR」の設定
異なるネットワークドメイン上にあるスマートエージェント間で通信をする場合,または異なるネットワークドメイン上にあるスマートエージェントとスマートエージェントに接続するプロセス間の通信をする場合は,スマートエージェントまたはスマートエージェントに接続するプロセスの設定が必要です。設定は,各ノードのagentaddrファイル,vbroker.agent.addrプロパティ,環境変数「OSAGENT_ADDR」に設定します。
(a) スマートエージェントへの設定
異なるネットワークドメイン上のスマートエージェント間で通信していて,スマートエージェントをフェイルオーバの対象とする場合,対象のスマートエージェントと通信をするスマートエージェントのagentaddrファイルに,クラスタIPアドレスを必ず設定してください。
(b) スマートエージェントに接続するプロセスへの設定
スマートエージェントとスマートエージェントに接続するプロセスとを異なるネットワークドメイン上で起動し,かつスマートエージェントをフェイルオーバの対象とする場合,スマートエージェントに接続するプロセスのagentaddrファイル,vbroker.agent.addrプロパティ,環境変数「OSAGENT_ADDR」のどれかに,フェイルオーバの対象となるスマートエージェントのクラスタIPアドレスを必ず設定してください。
(3) CORBAネーミングサービスの設定
CORBAネーミングサービスをフェイルオーバの対象とする場合は,CORBAネーミングサービスの起動プロパティを設定します。
nameservコマンドに次の起動プロパティを設定してCORBAネーミングサービスを起動してください。
-J-Dvbroker.se.iiop_tp.host=クラスタIPアドレスまたはクラスタのネットワーク名
また,このプロパティに設定したクラスタIPアドレスまたはクラスタのネットワークを,usrconf.properties(J2EEサーバ用ユーザプロパティファイル)の次のキーの設定内容に反映してください。
- ejbserver.naming.hostキーに設定するIPアドレスまたはホスト名称
- ejbserver.jndi.namingservice.group.<Specify group name>.providerurlsキーに設定するプロバイダURL
usrconf.propertiesの詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.4 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」を参照してください。nameservコマンドを使用したCORBAネーミングサービスの起動については,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」の「付録D.2 システムの起動方法」を参照してください。
(4) J2EEサーバのvbroker.se.iiop_tp.hostキー,およびvbroker.se.iiop_tp.scm.iiop_tp.listener.portキーの設定
J2EEサーバをフェイルオーバの対象とする場合は,vbroker.se.iiop_tp.hostキーには,クラスタIPアドレスを指定してJ2EEサーバを起動してください。また,J2EEサーバが使用するポート番号は,すべての系で同じポート番号が使用できるように,usrconf.propertiesファイルのvbroker.se.iiop_tp.scm.iiop_tp.listener.portキーを使用して管理してください。
(5) 環境変数およびオプションの設定
クラスタ環境でスマートエージェントを起動する場合,スマートエージェントに次の環境変数およびオプションの設定が必要です。
オプションは,スマートエージェントをフェイルオーバの対象とする場合だけ指定してください。
- 環境変数名:OSAGENT_CLIENT_HANDLER_PORT
- オプション:-m
なお,環境変数の設定方法については,マニュアル「Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド」のVisiBroker ORBドメイン内の作業についての説明を参照してください。
(6) 設定例
IPアドレスの設定例を次に示します。
- 設定例1
図A-1 スマートエージェントをフェイルオーバの対象にする場合のIPアドレスの設定例
![[図データ]](figure/zuzb0100.gif)
- 図中の1.~5.について説明します。
- hostAのlocaladdrファイルに「hostAのステーショナリIPアドレス(A.A.A.A) subnet broadcast」,「クラスタIPアドレス(C.C.C.C) subnet broadcast」を記述します。
- hostBのlocaladdrファイルに「hostBのステーショナリIPアドレス(B.B.B.B) subnet broadcast」,「クラスタIPアドレス(C.C.C.C) subnet broadcast」を記述します。
- hostA,hostBのhtc.clienthandleraddrファイルに「クライアントのステーショナリIPアドレス(F.F.F.F) subnet クラスタIPアドレス(C.C.C.C)」を記述します。
- hostAおよびhostBで起動するスマートエージェントに環境変数「OSAGENT_CLIENT_HANDLER_PORT」および-mオプションを設定します。
- hostCのagentaddrファイルにクラスタIPアドレス(C.C.C.C)を記述します。
- 設定例2
図A-2 スマートエージェントをフェイルオーバの対象にしない場合のIPアドレスの設定例
![[図データ]](figure/zuzb0200.gif)
- 図中の1.~6.について説明します。
- hostAのlocaladdrファイルに「hostAのステーショナリIPアドレス(A.A.A.A) subnet broadcast」を記述します。
- hostBのlocaladdrファイルに「hostBのステーショナリIPアドレス(B.B.B.B) subnet broadcast」を記述します。
- hostAのhtc.clienthandleraddrファイルに「クライアントのステーショナリIPアドレス(F.F.F.F) subnet hostAのステーショナリIPアドレス(A.A.A.A)」を記述します。
- hostBのhtc.clienthandleraddrファイルに「クライアントのステーショナリIPアドレス(F.F.F.F) subnet hostBのステーショナリIPアドレス(B.B.B.B)」を記述します。
- hostCのagentaddrファイルにA.A.A.AおよびB.B.B.Bを記述します。
- hostAおよびhostBで起動するスマートエージェントに環境変数「OSAGENT_CLIENT_HANDLER_PORT」を設定します。