WebLogic Server クラスタ ユーザーズ ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

マルチキャスト コンフィグレーションのトラブルシューティング

IP マルチキャストを使用すると、クラスタ内の複数の WebLogic Server インスタンスで、単一の IP アドレスとポート番号を共有できます。この機能により、クラスタのすべてのメンバーを単一のエンティティとして扱うことができ、クラスタのメンバー間の通信が可能になります。

以下の節では、IP マルチキャスト コンフィグレーションの問題をトラブルシューティングするためのヒントを提供します。

クラスタ内でのマルチキャストの使用およびコンフィグレーションについては、「クラスタのコンフィグレーションと config.xml」を参照してください。

マルチキャスト アドレスをコンソールからコンフィグレーションする方法については、Administration Console オンライン ヘルプの「マルチキャスト」を参照してください。

 


マルチキャスト アドレスおよびポートのコンフィグレーションの検証

マルチキャストで問題が発生した場合のトラブルシューティングは、まずマルチキャストのアドレスとポートが正しくコンフィグレーションされているかどうかの検証から始めます。マルチキャスト アドレスは、クラスタごとに正しくコンフィグレーションされている必要があります。

クラスタが起動しなかったり、サーバがクラスタに参加できなかったりする場合、最も一般的な原因の 1 つが、このマルチキャスト アドレスおよびポートのコンフィグレーションの問題です。マルチキャスト アドレスについては、以下の点を考慮に入れてください。

発生する問題

マルチキャスト コンフィグレーションに問題がある場合、通常は以下のような問題が発生します。

マルチキャスト アドレスおよびポートの確認

マルチキャスト アドレスおよびポートは、以下のいずれかの方法で確認します。

 


ネットワーク コンフィグレーションの問題の特定

マルチキャスト アドレスおよびポートが正しくコンフィグレーションされていることが確認できたら、ネットワークの問題が原因でマルチキャスト通信が不通になっていないかを検証します。

物理的な接続

ネットワーク内に物理的な問題がないか確認します。

アドレスの衝突

ネットワーク内でアドレスが衝突していると、マルチキャスト通信が不通になる場合があります。

UNIX システムの nsswitch.conf の設定

UNIX システムでは、UnkownHostExceptions エラーが発生する場合があります。このエラーは、サーバに過大な負荷がかかっていないときでも不定期に発生する可能性があります。このエラーを回避するには、/etc/nsswitch.conf を確認し、その順序を「files,DNS,NIS」に変更します。

詳細については、使用しているシステムの nsswitch.conf の man ページを参照してください。

 


MulticastTest ユーティリティの使用

マルチキャスト アドレスおよびポートが正しくコンフィグレーションされており、ネットワークに物理的な問題やコンフィグレーションの問題がないことを確認できたら、utils.MulticastTest を使用してさらに検証します。このユーティリティを使用すると、マルチキャストが機能しているかどうかを検証したり、クラスタ間で不必要なトラフィックが発生していないかを確認したりできます。

MulticastTest がうまく機能せず、そのマシンがマルチホームである場合は、プライマリ アドレスが使用されているかどうかを確認してください。詳細については、「マルチキャストとマルチホーム マシン」を参照してください。

 


マルチキャスト機能のチューニング

以下の節では、WebLogic Server で使用できるさまざまなマルチキャスト機能をチューニングする方法について説明します。

マルチキャスト タイムアウト

マルチキャスト タイムアウトは、ネットワーク インタフェース カード (NIC) がフェイルオーバする際に発生します。タイムアウトが発生すると、次のようなエラー メッセージが生成されます。

<Error><Cluster><Multicast socket receive error:
java.io.InterruptedIOException: Receive timed out>

このエラーが発生した場合は、以下を行うことができます。

クラスタ ハートビート

WebLogic Server では、クラスタ内の個々のサーバ インスタンスが使用可能であることを通知するために、マルチキャストを使用して定期的にハートビート メッセージがブロードキャストされます。クラスタ内のサーバ インスタンスは、ハートビート メッセージをモニタすることにより、どの時点でサーバ インスタンスに障害が発生したかを特定します。

以下の節では、クラスタのハートビートに問題が発生した場合の解決策について説明します。

マルチキャスト送信遅延

マルチキャスト送信遅延は、サーバがマルチキャストでのメッセージ フラグメントの送信を待機する時間を示します。この遅延によって、OS レベルのバッファ オーバーフローを防ぐことができます。マルチキャスト送信遅延は、クラスタ MBean の MulticastSendDelay 属性で設定できます。詳細については、Cluster Mbean の Javadoc を参照してください。

オペレーティング システム パラメータ

マルチキャスト送信遅延を設定した後も問題が発生する場合は、UDP 設定に関係する以下のオペレーティング システム パラメータの設定が必要になることがあります。

これらのパラメータが低い値 (たとえば 8K) に設定されている場合は、マルチキャスト パケットのサイズが最大値 (32K) に設定されていると問題が発生する可能性があります。これらのパラメータを 64K に設定してみてください。

マルチキャスト ストーム

マルチキャスト ストームとは、マルチキャスト パケットがネットワーク上で繰り返し転送される現象です。マルチキャスト ストームが発生すると、ネットワークとそのネットワークに接続されているステーションに負荷がかかり、末端のステーションでハングや障害が発生するおそれがあります。

マルチキャスト バッファのサイズを増やすと、通知が送信および受信されるレートが改善されて、マルチキャスト ストームを防止できます。「マルチキャスト バッファのサイズをコンフィグレーションする」を参照してください。

マルチキャストとマルチホーム マシン

マルチホーム環境内でマルチキャストを使用する場合は、以下の点を考慮に入れてください。

別々のサブネットでのマルチキャスト

クラスタ メンバーが別々のサブネットに配置されているケースでマルチキャストで問題が発生した場合は、マルチキャスト存続時間 (TTL) をコンフィグレーションする必要があります。クラスタのマルチキャスト存続時間パラメータの値は、マルチキャスト パケットが最終的な宛先に届くまでにルータがパケットを破棄しないような大きさにする必要があります。

マルチキャスト存続時間パラメータには、パケットが破棄されるまでにマルチキャスト メッセージが経由できるネットワーク ホップ数を設定します。マルチキャスト存続時間パラメータを適切に設定することにより、クラスタ内のサーバ インスタンス間で送受信されるマルチキャスト メッセージが消失するリスクが少なくなります。

詳細については、「マルチキャスト存続時間 (TTL) をコンフィグレーションする」を参照してください。

 


マルチキャストのデバッグ

これまでに説明したトラブルシューティングのヒントを実行してもマルチキャスト アドレスの問題が解決しない場合は、マルチキャストのデバッグ情報を収集します。

デバッグ ユーティリティ

以下のユーティリティを使用して、マルチキャスト コンフィグレーションの問題をデバッグできます。

MulticastMonitor

MulticastMontior は、特定のマルチキャスト アドレスおよびポートのマルチキャスト トラフィックをモニタするためのスタンドアロン Java コマンドライン ユーティリティです。このコマンドの構文は次のようになります。

java weblogic.cluster.MulticastMonitor <multicast_address> <multicast_port> <domain_name> <cluster_name>

MulticastTest

MulticastTest ユーティリティは、WebLogic クラスタのコンフィグレーション時にマルチキャストに関する問題をデバッグする場合に便利です。このユーティリティは、マルチキャスト パケットを送信し、ネットワーク上で、マルチキャストがどのくらい効果的に機能しているかについての情報を返します。

デバッグ フラグ

以下のデバッグ フラグは、マルチキャスト専用のフラグです。

コマンドラインでデバッグ フラグを設定する

これらのフラグをコマンドラインから設定する場合は、サーバの起動時に以下のオプションを追加します。

weblogic.Admin を使用してデバッグ フラグを設定する

weblogic.Admin ユーティリティを使用してデバッグ フラグを設定することもできます。次に例を示します。

java weblogic.Admin -url t3://localhost:7001 - username weblogic -password weblogic SET -type ServerDebug -property DebugCluster true

デバッグ フラグをオフにするには、同じコマンドを、パラメータを false に設定して実行します。

 


その他の問題

以下の節では、マルチキャストで発生する可能性のあるその他の問題について説明します。

AIX でのマルチキャスト

AIX バージョン 5.1 では、IPv4 でマッピングされたマルチキャスト アドレスはサポートされません。IPv4 マルチキャスト アドレスを使用している場合は、IPv6 に切り替えてもマルチキャスト グループに参加できません。AIX で MulticastTest を実行する場合は、次の例に従ってコマンドラインからコマンドを入力してください。

java -Djava.net.preferIPv4Stack=true utils.Multicast <options>

また、クラスタの動作を正しくコンフィグレーションするため、AIX の以下の設定も確認してください。

ファイル記述子の問題

オペレーティング システムによっては、開かれているファイル記述子の数が問題になる場合があります。UNIX では、loses を使用して、1 つのプロセスがディスク上のファイルをいくつ開いているかを確認できます。この問題が発生した場合は、マシン上のファイル記述子の数を増やすことを検討してください。

 


マルチキャスト コンフィグレーションのトラブルシューティングに関するその他のリソース

マルチキャストの問題を解決する場合は、以下のリソースも参照してください。


  ページの先頭       前  次