ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Serverクラスタの使用
12cリリース1(12.1.1)
B65915-02
  目次へ移動
目次

前
 
次
 

13 マルチキャスト構成のトラブルシューティング

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

この章の内容は以下のとおりです。

クラスタ内でのマルチキャストの使用および構成については、「クラスタの構成とconfig.xml」を参照してください。

マルチキャスト・アドレスをコンソールから構成する方法は、Oracle WebLogic Server管理コンソール・ヘルプ「クラスタ: 構成: マルチキャスト」を参照してください。

クラスタの一般的なトラブルシューティングについては、第12章「一般的な問題のトラブルシューティング」を参照してください。

マルチキャスト・アドレスおよびポートの構成の検証

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

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

起こり得るエラー

マルチキャスト構成の問題により、一般的に次のタイプの問題が発生します。

  • クラスタリングのためのマルチキャスト・ソケットを作成できない

  • マルチキャスト・ソケットの送信エラー

  • マルチキャスト・ソケットの受信エラー

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

マルチキャスト・アドレスおよびポートを確認するには、次のいずれかを行います。

  • WebLogic Server管理コンソールを使用して、クラスタのマルチキャスト・アドレスとポートを確認します。

  • config.xml内の<cluster>要素のマルチキャスト情報を確認します。

ネットワーク構成の問題の特定

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

物理的な接続

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

  • クラスタ内のサーバーをホストする各マシンのネットワーク接続を確認します。

  • ネットワークのすべてのコンポーネント(ルーター、DNSサーバーを含む)が正しく接続され、正しく機能していることを確認します。

アドレスの競合

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

  • netstatユーティリティを使用して、そのクラスタ・マルチキャスト・アドレスが他のネットワーク・リソースによって使用されていないことを確認します。

  • 各マシンのIPアドレスが一意になっていることを確認します。

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

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

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

MulticastTestユーティリティの使用

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

MulticastTestユーティリティの使用の詳細は、『Oracle WebLogic Serverコマンド・リファレンス』のOracle WebLogic Server Javaユーティリティの使用に関する項にあるMulticastTestを参照してください。

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

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

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

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

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

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

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

  • NICのフェイルオーバーを無効にします。

  • igmp snoopingスイッチを無効にします。このスイッチは、IGMP (Internet Group Management Protocol)の一部で、管理対象スイッチでのマルチキャストのフラッディングを回避するために使用します。

  • Windows 2000の場合は、IGMPのレベルをチェックして、マルチキャスト・パケットがサポートされていることを確認します。

  • マルチキャスト存続時間を次のように設定します。

    MulticastTTL=32
    

    詳細は、「マルチキャスト存続時間(TTL)を構成する」を参照してください。

クラスタ・ハートビート

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

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

マルチキャスト送信遅延

マルチキャスト送信遅延は、サーバーがマルチキャストを使用してメッセージ・フラグメントを送信するために待機する時間を示します。これにより、OSレベルのバッファ・オーバーフローを回避できます。マルチキャスト送信遅延は、クラスタMBeanのMulticastSendDelay属性で設定できます。詳細は、Oracle WebLogic Server MBeanリファレンスを参照してください。

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

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

  • xdp_xmit_hiwat

  • udp_recv_hiwat

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

マルチキャスト・ストーム

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

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

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

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

  • WebLogic Server管理コンソールからUnixMachineのインスタンスを構成し、マルチキャスト・トラフィックを処理するために各サーバー・インスタンスのInterfaceAddressを指定する必要があります。

  • /usr/sbin/ifconfig -aを実行して、マルチホーム環境内の各マシンのMACアドレスを確認します。各マシンのMACアドレスは、必ず一意のアドレスにしてください。複数のマシンが同じMACアドレスを使用していると、マルチキャストに問題が生じる可能性があります。

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

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

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

詳細は、「マルチキャスト存続時間(TTL)を構成する」を参照してください。

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

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

デバッグ・ユーティリティ

次のユーティリティを使用して、マルチキャスト構成の問題をデバッグできます。

MulticastMonitor

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

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

MulticastTest

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

デバッグ・フラグ

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

  • DebugCluster

  • DebugClusterHeartBeats

  • DebugClusterFragments

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

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

  • -Dweblogic.debug.DebugCluster=true

  • -Dweblogic.debug.DebugClusterHeartBeats=true

  • -Dweblogic.debug.DebugClusterFragments=true

WLSTを使用したデバッグ属性の設定

次のWLSTコマンドを使用してデバッグ属性を設定します。

connect()
edit()
startEdit()
servers=cmo.getServers()
for s in servers:
  d=s.getServerDebug()
  d.setDebugCluster(true)
activate()

その他の問題

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

AIXでのマルチキャスト

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

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

また、クラスタの動作を正しく構成するため、AIXの次の設定も確認してください。

  • 次のコマンドを実行してからマシンを再起動することで、MTUサイズを1500に設定します。

    chdev -1 lo0 -a mtu=1500 -P
    
  • /etc/netsvc.conf:に次の行が追加されていることを確認します。

    hosts=local,bind4
    

    この行は、IPを解決するためのネーム・サービスに、IPv4アドレスのみが送信されるようにするために必要です。

ファイル記述子の問題

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

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

次のリソースがマルチキャストの問題の解決に役立つ可能性があります。