クラスタ環境のHULFTから接続する場合の注意事項
クラスタを構成するHULFTから以下のプログラムを使用してHULFTに接続する場合、接続先(相手側)での注意点について説明します。
クラスタ側接続プログラム名 |
相手側接続受付対象 |
---|---|
配信要求コマンド(utlsend) |
集信 |
送信要求コマンド(utlrecv) |
要求受付 |
ジョブ実行結果通知コマンド(hulsndrc) |
要求受付 |
リモートジョブ実行コマンド(utlrjob) |
要求受付 |
HULFTクラスタ構成システムでは、自ホスト名(myhostname)に仮想IPアドレスに対応するホスト名を設定することで、個々のノードを意識することなく仮想IPアドレスを用いてサービス運用できます。
ただし、相手ホストが接続元(クラスタシステム側)のHULFTからホスト名の情報を受け取る前にエラーが発生すると、相手ホストの履歴やコンソールに、クラスタを構成する個々のHULFTのノード名や実IPアドレスが表示されてしまう場合があります。
HULFTはIPアドレスの操作を行っていません。
<例>
-
相手側トレースログ
接続側(クラスタシステム側)の実IPアドレス、ノード名が出力
-
相手側要求受付履歴
要求受付定義ファイル($HULPATH/service.db)に登録されていないサービス要求を受け付け、エラーになった場合にノード名が出力
図5.1 接続時の注意事項
なお、この現象によってHULFTのプログラムが異常な動作をすることはありません。
業務に支障をきたさない場合は特に対応する必要はありません。
この現象の回避策として以下の方法があります。
回避策1) 相手側サーバのhostsファイルを編集
相手側サーバのhostsファイルに、個々のノードの実IPアドレスに対して仮想IPアドレスに対応する仮想ホスト名(HULFTの自ホスト名)を追加します。
- <設定例>
-
172.16.10.11 uxcluster 172.16.10.12 uxcluster
回避策2) クラスタ側クライアントノードのルーティングテーブルを編集
個々のノードのルーティングテーブルを編集し、接続元IPアドレスが仮想IPアドレスになるように設定します。
- <設定例> Linuxでルーティングテーブルを編集する場合
-
ノード切り替え時に以下のコマンドを起動するように設定します。
(eth0:0に仮想IPアドレスが割り振られているとき)
# route add -host 172.16.20.10 dev eth0:0