スイッチ : Cisco Catalyst 6500 シリーズ スイッチ

Catalyst スイッチの Microsoft Network Load Balancing 用の設定例

2009 年 5 月 26 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2014 年 9 月 20 日) | 英語版 (2014 年 9 月 16 日) | フィードバック


概要

このドキュメントでは、Microsoft Network Load Balancing(NLB)と相互対話するために Cisco Catalyst スイッチを設定する方法について説明しています。



前提条件

要件

このドキュメントに関する特別な要件はありません。



使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • Cisco IOS(R) ソフトウェアが稼働する Catalyst 6500 スイッチ

  • Cisco IOS(R) ソフトウェアが稼働する Catalyst 4500 スイッチ

  • Cisco IOS(R) ソフトウェアが稼働する Catalyst 3550 スイッチ

  • Cisco IOS(R) ソフトウェアが稼働する Catalyst 3560 スイッチ

  • Cisco IOS(R) ソフトウェアが稼働する Catalyst 3750 スイッチ

  • Microsoft Windows 2000/2003 Server

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。



表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。



背景説明

Network Load Balancing(NLB)テクノロジーを使用することにより、クライアントからの要求を一連のサーバ全体に分散できます。クライアントに対して許容できるパフォーマンス レベルを常に提供する目的で、ユーザが IIS ベースの Web サーバなどのステートレス アプリケーションの規模の拡大に対応して、クライアント負荷が増加する場合には追加のサーバを追加できるようにするために、Windows NLB がよく使用されます。また、誤作動が発生したサーバによるダウンタイムも減少します。Windows NLB 内の特定のメンバ サーバがダウンしていることやダウンしていたことをエンド ユーザが認識することはありません。

Network Load Balancing は、すべての Windows 2000 Server および Windows Server 2003 ファミリのオペレーティング システムの一部として、Microsoft から提供されるクラスタ処理テクノロジーです。NLB では、多数のサーバ全体でネットワーク トラフィックのロード バランシングを行うために、分散アルゴリズムが使用されます。

NLB では、複数のサーバを 1 つのマルチキャスト グループに集約して、標準のマルチキャスト IP や MAC アドレスを使用を試みます。同時に、すべてのクライアントに宛先 IP として単一のバーチャル IP が提供されますが、これはサーバが同じマルチキャスト グループに属していても、クライアントではこのことがまったく認識されないことを意味します。VIP へは通常のユニキャスト アクセスが使用されます。

次のどちらかのモードで動作するように NLB を設定できます。



ユニキャスト モード

NLB のデフォルトの設定はユニキャスト モードです。ユニキャスト モードでは、クラスタ内の各サーバの実際の MAC アドレスが NLB によって共通の NLB MAC アドレスへ置換されます。クラスタ内のすべてのサーバには同じ MAC アドレスが設定され、そのアドレスに転送されたすべてのパケットはクラスタのすべてのメンバへ送信されます。ただし、この設定の問題は、NLB クラスタのサーバが同じスイッチに接続されている場合、スイッチ上の 2 つのポートに同じ MAC アドレスを登録できないことです。NLB では、クラスタ MAC アドレスにマスキングをすることでこの問題を解決しています。スイッチでは、どの MAC アドレスがそのポートに関連付けられているのかを認識するために、イーサネット フレーム ヘッダー内の発信元 MAC アドレスが参照されます。NLB によって偽の MAC アドレスが作成され、この偽の MAC アドレスが NLB クラスタ内の各サーバに割り当てられます。各 NLB サーバには、メンバのホスト ID に基づいたそれぞれ異なる偽の MAC アドレスが NLB によって割り当てられます。このアドレスはイーサネット フレーム ヘッダー内に表示されます。

たとえば、NLB クラスタ MAC アドレスは 00-bf-ac-10-00-01 です。ユニキャスト モードの NLB ではクラスタ MAC アドレスが使用され、各クラスタ メンバ用には、NLB メンバのホスト ID から構成されるように NLB によって 2 番目のオクテットが変更されます。たとえば、偽の MAC アドレス 00-01-ac-10-00-01 としてサーバ番号 1、ホスト ID 番号 2 には偽の MAC アドレス 00-02-ac-10-00-01 が設定されます(その後も同様)。一意の MAC アドレスが各スイッチ ポートに登録されている場合、パケットはアレイのすべてのメンバに配信されるのではなく、そのポートへ割り当てられた MAC アドレスに基づいて個々のスイッチ ポートへ継続して送信される必要があります。NLB クラスタ メンバへ接続された各スイッチ ポートによってそれぞれの異なる MAC アドレスが登録される場合、フレームが NLB クラスタのすべてのメンバへ配信されるように、ARP ブロードキャストが使用されます。ルータによってバーチャル IP アドレスの MAC アドレスの ARP 要求が送信される場合、上記の例に従って、応答には偽の MAC アドレスではなく、実際の NLB クラスタ MAC アドレス 00-bf-ac-10-00-01 が含まれた ARP ヘッダーが含まれます。

クライアントでは、イーサネット ヘッダーではなく、ARP ヘッダー内の MAC アドレスが使用されます。スイッチでは、ARP ヘッダーではなく、イーサネット ヘッダー内の MAC アドレスが使用されます。問題は、クライアントによってクラスタ MAC アドレス 00-bf-ac-10-00-01 である宛先 MAC アドレスが含まれた NLB クラスタへパケットが送信される場合に、スイッチによって MAC アドレス 00-bf-ac-10-00-01 の CAM テーブルが参照されることです。NLB クラスタ MAC アドレス 00-bf-ac-10-00-01 で登録されているポートが存在しないため、フレームはすべてのスイッチ ポートに配布されます。これによりスイッチのフラッディングが発生します。スイッチのフラッディングは、大量のトラフィックが流れている場合で他のサーバが同じスイッチ上に設定されている場合に問題の原因となります。スイッチのフラッディングに対するソリューションとしては、簡単なハブを NLB クラスタ メンバの直前に配置し、ハブをスイッチ ポートへアップリンクすることが挙げられます。このソリューションでは、ハブに接続されている単一のスイッチ ポートによって NLB クラスタの MAC アドレスが認識されるため、NLB クラスタ MAC アドレスをマスクする必要もありません。これによって、同じ MAC アドレスを登録する 2 つのポートの問題が回避されます。クライアントによって NLB クラスタの MAC アドレスにパケットが送信される場合、パケットはハブに接続されているスイッチ ポートに直接送信されてから、NLB クラスタのメンバへ送信されます。



マルチキャスト モード

もう 1 つのソリューションは、MS NLB 設定 GUI でユニキャスト モードの代わりにマルチキャスト モードを使用することです。マルチキャスト モードでは、システム管理者が MS NLB 設定 GUI 内の IGMP Multicast ボタンをクリックします。このボタンを選択すると、マルチキャスト MAC アドレスを使用している仮想アドレス(0300.5e11.1111 など)の ARP に応答して、IGMP メンバシップ レポート パケットを送信するようにクラスタ メンバが指示されます。IGMP スヌーピングがローカル スイッチ上でイネーブルになっている場合、これを通過する IGMP パケットはスヌーピングされます。この方法では、クライアントがクラスタのバーチャル IP アドレスを ARP 解決しようとした際に、クラスタからはマルチキャスト MAC(0300.5e11.1111 など)で応答されます。クライアントによってパケットが 0300.5e11.1111 に送信されると、ローカル スイッチにより、クラスタ メンバに接続されている各ポートにパケットが転送されます。この場合、すべてのポートから ARP パケットのフラッディングが発生する可能性はありません。マルチキャスト モードの問題としては、Cisco デバイスではマルチキャスト MAC アドレスが含まれるユニキャスト IP アドレスの ARP 応答が受け付けられないため、ローカル サブネットの外部からのアクセス時に仮想 IP アドレスが到達不可能になることが挙げられます。したがって、ARP エントリの MAC 部分は、incomplete と表示されます(出力を表示するには、show arp を発行します)。ARP 応答内には MAC 部分が存在しないため、ARP エントリが ARP テーブル内に表示されることはありません。最終的には、ARP 処理が中止され、ICMP Host unreachable がクライアントに返されています。これを上書きするには、スタティック ARP エントリを使用して、下に示すように ARP テーブルにデータを入力します。理論上は、これで Cisco デバイスによる mac-address-table へのデータ入力が可能になります。たとえば、仮想 IP アドレスが 172.16.63.241 で、マルチキャスト MAC アドレスが 0300.5e11.1111 の場合、ARP テーブルに静的にデータ入力するには次のコマンドを使用します。

arp 172.16.63.241 0300.5e11.1111

ただし、着信パケットにはユニキャスト宛先 IP アドレスおよびマルチキャスト宛先 MAC が与えられているため、Cisco デバイスではこのエントリが無視され、クラスタにバインドされた各パケットがプロセス交換されます。このプロセス交換を回避するには、ハードウェア内でクラスタにバインドされたパケットを交換するために、下に示すように静的な mac-address-table エントリを挿入します。

mac-address-table static 0300.5e11.1111 vlan 200 interface
         fa2/3 fa2/4

注:Cisco Catalyst 6000/6500 シリーズ スイッチの場合、disable-snopping パラメータを追加する必要があります。次に例を示します。

mac-address-table static 0300.5e11.1111 vlan 200
                interface fa2/3 fa2/4 disable-snooping

disable-snooping パラメータは必須であり、Cisco Catalyst 6000/6500 シリーズ スイッチにだけ適用可能です。この設定がない場合でも、動作に対する影響はありません。



設定

このセクションでは、このドキュメントで説明する機能を設定するための情報を提供しています。

注:このセクションで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。
一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。



ネットワーク ダイアグラム

このドキュメントでは、次のネットワーク構成を使用しています。

ネットワーク ダイアグラム



設定例

このドキュメントでは、このセクションで示す Catalyst 6509 設定を使用しています。

Catalyst 6509 を使用した設定
Cat6K#show running-config 
 Building configuration...
! 
version 12.1 
service timestamps debug uptime 
service timestamps log uptime 
no service password-encryption 
! 
hostname Cat6K 
! 
boot buffersize 126968 
boot system flash slot0:c6sup11-jsv-mz.121-8a.E.bin 
! 
redundancy 
 main-cpu 
  auto-sync standard 
ip subnet-zero 
! 
! 
interface GigabitEthernet1/1 
 no ip address 
 shutdown 
! 
interface GigabitEthernet1/2 
 no ip address 
 shutdown 
! 
interface FastEthernet2/1 
 description "Uplink to the Default Gateway" 
 no ip address 
 switchport 
 switchport access vlan 100 
! 
interface FastEthernet2/2 
 no ip address 
 shutdown 
! 
interface FastEthernet2/3 
 description "Connection to Microsoft server" 
 no ip address 
 switchport 
 switchport access vlan 200 
! 
interface FastEthernet2/4 
 description "Connection to Microsoft server" 
 no ip address 
 switchport 
 switchport access vlan 200 
! 
interface FastEthernet2/5 
 no ip address 
 shutdown 
! 
interface FastEthernet2/48 
 no ip address 
 shutdown 
! 
interface Vlan1 
 no ip address 
 shutdown 
! 
mac-address-table static 0300.5e11.1111 vlan 200 interface fa2/3 fa2/4 disable-snooping


! --- マルチキャスト バーチャル MAC 用のスイッチ内スタティック エントリの作成。
 

! --- fa2/3 と fa2/4 はサーバに接続されたポートです。


!--- disable-snooping は Cisco Catalyst 6000/6500 シリーズ スイッチだけに適用可能です。


arp 172.16.63.241 0300.5e11.1111

! --- 172.16.63.241 は 2 つのサーバのバーチャル IP です。


interface Vlan100 
 ip address 172.17.63.240 255.255.255.192 

!--- クライアント側 Vlan 

! 
interface Vlan200 
 ip address 10.1.1.250 255.255.255.0 

!--- サーバ Vlan


!--- 重要:Microsoft Server のデフォルト ゲートウェイを 
 

!--- このアドレスに設定します。

! 
ip classless 
ip route 0.0.0.0 0.0.0.0 172.16.63.193 
no ip http server 
! 
line con 0 
line vty 0 4 
 login 
! 
end

注:NLB クラスタでマルチキャスト モードを使用していることを確認してください。Cisco では、IGMP 設定との競合が確認されているため、01 で開始されるマルチキャスト MAC アドレスを使用しないことを推奨いたします。



確認

ここでは、設定が正常に動作していることを確認します。

特定の show コマンドは、アウトプットインタープリタ登録ユーザ専用)(OIT)でサポートされています。OIT を使用すると、show コマンドの出力を分析できます。
一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。

  • show mac-address-table:特定の MAC アドレス テーブルのスタティックなエントリとダイナミックなエントリ、または特定のインターフェイスまたは VLAN 上の、MAC アドレス テーブルのスタティックなエントリとダイナミックなエントリが表示されます。

    Cat6K#show mac-address-table 0300.5e11.1111
    
              Mac Address Table
    -------------------------------------------
    
    Vlan    Mac Address       Type        Ports
    ----    -----------      --------     -----
    200    0300.5e11.1111     STATIC    Fa2/3 Fa2/4
    
  • show ip arp:Address Resolution Protocol(ARP; アドレス解決プロトコル)キャッシュが表示されます。

    Cat6K#show ip arp
    Protocol  Address          Age (min)  Hardware Addr   Type   Interface
    Internet  172.16.1.1            -     0300.5e11.1111  ARPA   Vlan200
    


トラブルシューティング

現在のところ、この設定に関する特定のトラブルシューティング情報はありません。




関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報




Document ID: 107995