この問題への対処方法は2つあります。 1つは「解決策 1 – IPV4 インターフェースメトリック」、もう1つは「解決策 2 – ローカルホストファイル」です。
現象
Windows プラットフォーム上で、接続が長時間遅延します。
解決策 1 – IPV4 インターフェースメトリック
これは、異なるサブネットに複数の NIC が接続されている LifeKeeper システムに適用されます。 Java RMI ホストルックアップは、各インターフェースの IPV4 インターフェースメトリックを使用してホストの IPアドレスを決定します。 RMI が両方向の接続で同じネットワーク上で通信するようにするには、ホストのパブリック NIC が最小のインターフェースメトリックを持つように IPV4 インターフェースメトリックを指定する必要があります。これにより、ホストのパブリック IPアドレスが確実に報告されます。
デフォルトでは、Windows ネットワークインターフェースは「自動」インターフェースメトリックで構成されています。これにより、LK GUI クライアントと LK ホスト間の RMI 通信に誤ったネットワークが使用される場合もあります。よって自動メトリックを無効にし、適切なメトリックを指定する必要があります。パブリック NIC の場合は、メトリック「1」を指定し、追加の NIC ごとに、増加するメトリック値(2、3、4…)を指定します。
解決策 2 – ローカルホストファイル
サンマイクロシステムズ社の FAQ より
「通常の場合、ホストのネットワーク設定が不適切なことが原因です。RMI は JavaAPI のネットワークのクラス (java.net.InetAddress) を使用して、両方のホストの TCP/IP ホスト名を参照し、IP アドレスとホスト名をマッピングします。Windows プラットフォームでは、この参照はネイティブの Windows ソケットライブラリが実行するため、遅延は RMI ではなく、Windows ライブラリで発生します。ホストで DNS を使用する場合、DNS サーバは通信に参加するホストを認識しないため、DNS 参照がタイムアウトになることが問題となります。その場合は、ホスト名/アドレスをローカルの local file\winnt\system32\drivers\etc\hosts ファイルまたは \windows\hosts ファイルに記述します。ホストファイルは次の書式で記述します。
IPAddress Server Name
e.g.: 208.2.84.61 homer.somecompany.com
以上のように記述すると、最初の参照時間を短縮できます。」
また、サブネットマスクとゲートウェイアドレスの設定を間違うと、接続遅延や障害の原因となります。DNS の設定が正しいことをネットワーク管理者に確認してください。
このトピックへフィードバック