この文書では、Microsoftネットワーク負荷分散(NLB)の概要および、Dell Networking Force10スイッチでのNLBの設定方法について説明します。
目的
- NLBの概要
- NLBユニキャスト モード
- NLBマルチキャスト モード
- スイッチでNLBを有効にする場合の制限事項
- Microsoftクラスタリングを使用する利点
- VLANフラッディングを有効または無効にする
- スイッチのNLB用の設定
NLBの概要
この機能はDell Networking OSでサポートされています。
ネットワーク負荷分散は、MicrosoftによってWindows 2000 ServerおよびWindows Server 2003オペレーティング システムに実装されたクラスタリング機能です。NLBでは、分散型の方法またはパターンを用いてネットワーク トラフィック負荷を均等に分割して、それをクラスターやグループの一部であるサーバー セット全体に分散させます。NLBでは、このようなサーバー群を単一のマルチキャスト グループにまとめた上で、標準的なマルチキャストIPアドレスまたはユニキャストIPアドレス、およびMACアドレスを使用したネットワーク トラフィックの送信を試みます。同時に、単一の仮想IPアドレスをすべてのクライアントに対する宛先IPアドレスとして使用することで、同じマルチキャスト グループへのサーバー群の参加が、クライアントから見て透過的な方法で行えるようになります(グループに新規サーバーが追加されても、クライアントには意識されません)。クライアントからサーバーへの接続には、1つのクラスターIPアドレスが使用されます。NLB機能によって、VLANのポート群(ユニキャスト モードの場合)またはVLANポートのサブセット(マルチキャスト モードの場合)に対するトラフィックのフラッディングが可能になります。これにより過負荷が回避され、サーバーのパフォーマンスが効率化されることで、最適なデータ パケット処理ができるようになります。
NLBは、ユニキャスト モードとマルチキャスト モードという2つのモードで機能します。クラスターIPアドレスおよび関連するクラスターMACアドレスの設定は、Windows Serverで実行されるNLBアプリケーションで行われます。ユニキャスト モードの場合、サーバーIPアドレスはARPアプリケーションを使用したMACアドレスへの解決が試行され、サーバーから取得したARP応答がNLBタイプであるかどうかがスイッチによって判別されます。次にスイッチは、IPアドレス(クラスターIP)をMACアドレス(クラスターMACアドレス)にマッピングします。マルチキャスト モードの場合、クラスターIPアドレスのマッピングは、静的ARP CLI設定コマンドによって設定されたクラスター マルチキャストMACアドレスに対して行われます。NLBエントリーの学習後、クラスター仮想IPアドレスに対応するVLAN内のすべてのサーバーに向けて、トラフィックが転送されます。
Microsoftネットワーク負荷分散機能は、FTOSバージョン9.3.0.0以降でのみ使用できます。
NLBユニキャスト モード
サンプル トポロジーとして、S1~S4という4台のサーバーが、1つのクラスター、つまり1つのファームとして設定されている場合を考察します。この一群のサーバー セットは1つのレイヤー3スイッチに接続されており、これはエンド クライアントに接続されています。サーバー群には、単一のIPアドレス(172.16.2.20のIPクラスター アドレス)および、単一のユニキャストMACアドレス(00-bf-ac-10-00-01のMACクラスター アドレス)が負荷分散用に割り当てられています。特定のスイッチにある複数のポートで1つのMACアドレスを学習することはできないため、S1~S4の各サーバーにはMACクラスター アドレスに加えてMAC-s1~MAC-s4のMACアドレスがそれぞれ割り当てられます。クラスターのサーバーはすべて、VLAN1という名前のVLANに属しているとします。
ユニキャストNLBモードの場合、次の一連のイベントが発生します。
- スイッチは、クラスターMACアドレスのIPアドレスを解決するために1つのARPリクエストを送信します。
- ARPサーバーから送信されるARP応答は、ARPヘッダー内にMACクラスター アドレスがあり、Ethernetヘッダー内にはMAC-s1/s2/s3/s4(サーバーS1~S4用)の1つのMACアドレスが格納されています。
- スイッチは、IPアドレスと関連付けするMACクラスター アドレスを、最後に取得したARP応答のものにします。 ここでは最後のARP送信はMAC-s4から取得されたとします(MAC-s4のARP応答が最後に受信された応答と想定)。 サーバーS4に関連付けられたインターフェイスがARPテーブルに追加されます。
- NLB機能が有効にされていると、NLB ARPエントリーの学習後に、後続のトラフィックはすべてVLAN 1の全ポートでフラッディングされます。
NLBを使用すると、データ フレームが該当するすべてのサーバーに転送され、ロード バランシングが実行されます。
NLBマルチキャスト モード
サンプル トポロジーとして、S1~S4という4台のサーバーが、1つのクラスター、つまり1つのファームとして設定されている場合を考察します。この一群のサーバー セットは1つのレイヤー3スイッチに接続されており、これはエンド クライアントに接続されています。これらには単一のマルチキャストMACアドレスが割り当てられています(MACクラスター:03-00-5E-11-11-11)。
マルチキャストNLBモードの場合、静的ARP設定コマンドを用いて、クラスターIPアドレスが1つのマルチキャスト クラスターMACアドレスに関連付けられます。
マルチキャストNLBモードでは、すべてのサーバーへのデータ転送は、レイヤー2マルチキャスト コマンドで指定されたポートに基づいて行われます。具体的には、mac-address-table static multicast vlan output-range , コマンドをCONFIGURATIONモードで実行します。
スイッチでNLBを有効にする場合の制限事項
- NLBユニキャスト モードでは、スイッチ フラッディングを用いることで、VLANに属す全サーバーにすべてのパケットが送信されます。大量のトラフィックが処理されると、クラスタリングのパフォーマンスにある程度の影響が及ぶ可能性があります。この制限が及ぶのは、ソフトウェア的にユニキャスト フラッディングを実行するスイッチ群です。
- ip vlan-floodingコマンドの適用先は、システム全体およびすべてのVLAN群です。NLBが適用可能であり、ARP応答にEthernet SHAとARPヘッダーSHAフレームの不一致がある場合、関連するVLAN上全体でパケットのフラッディングが発生します。
- サポートされる同時クラスターの最大数は8です。
Microsoftクラスタリングを使用する利点
Microsoftクラスタリングを使用すると、Microsoft Windowsを実行する複数のサーバーを1つのMACアドレスとIPアドレスで代表させることで、透過的なフェールオーバーやバランシングを実現できます。Dell Networking OSは、デフォルトではサーバー クラスターを認識できず、そのための設定が必要です。ARPリクエストが1つのサーバー クラスターに送信されると、クラスター設定に応じて、アクティブ サーバーまたはすべてのサーバーから1つの応答が送信されます。応答を送信したのがアクティブ サーバーの場合、Dellスイッチはアクティブ サーバーのMACアドレスを学習します。応答したのがすべてのサーバーの場合、スイッチに登録されるのは最後に受信したARP応答だけになります。スイッチが学習するのは1つのサーバーの実際のMACアドレスであって、仮想MACアドレスは学習されません。仮想MACアドレスが学習されないため、トラフィックはクラスター全体ではなく、1つのサーバーだけに転送され、フェールオーバーおよびバランシングは保持されません。
フェールオーバーとバランシングを保持するため、サーバー クラスター宛てのトラフィックのスイッチによる転送は、クラスターに接続されたVLAN内のすべてのメンバー ポートに対して行われます。これを確実に行わせるには、Dellスイッチでのip vlan-floodingコマンドの設定を、Microsoftクラスターの設定時に行う必要があります。サーバーのMACアドレスが提示されるのはARP応答のEthernetフレーム ヘッダー中であるのに対して、クラスターを示す仮想MACアドレスが提示されるのはペイロード中です。次に、クラスター宛ての全トラフィックが、すべてのメンバー ポートからフラッディングされます。クラスター内のすべてのサーバーがトラフィックを受信することで、フェールオーバーとバランシングが保持されます
VLANフラッディングを有効または無効にする
- 古いARPエントリーは、新しいNLBエントリーが学習されるごとに上書きされます。
- 機能の有効化後に学習されたすべてのARPエントリーは、機能を無効化すると削除され、ARP解決がRP2によりトリガーされます。この機能は、no ip vlan-floodingコマンドにより無効化されます。
- VLANにポートが追加されると、機能が有効化されている場合、そのポートは自動的にトラフィックを受信します。古いARPエントリーの削除や更新はされません。
- メンバー ポートが削除されると、そのARPエントリーもCAMから削除されます。
- VLANのポート チャネルもトラフィックを受信します。
- 設定の保存による、設定への影響はありません。
- ip vlan-flooding CLIの設定を表示するshow running-configコマンドの出力には、この機能も表示されます(有効化されている場合)。これ以外に、この機能が有効にされていることを確認する方法はありません。
スイッチのNLB用の設定
この機能のユニキャストNLBモードをスイッチで有効化するには、次の手順を実行します。
を参照してください
コマンド |
パラメータ |
FTOS# configuration |
グローバル設定モードに入ります。 |
FTOS(conf)# ip vlan-flooding |
これは、レイヤー3ユニキャストでルーティングされるデータ トラフィックについて、VLANメンバー ポートを通過するものは、すべて当該VLANの全メンバー ポートにフラッディングする必要があるという指定です。ARPパケットによって解決されるARPテーブル エントリーの一部では、ARPパケット内のMAC情報とEthernet MAC SAが異なっている場合があります。このユニキャスト データ トラフィックのフラッディングが発生するのは、こうしたARPエントリーを使用するパケットに対してだけです。 |
この機能のマルチキャストNLBモードをスイッチで有効化するには、次の手順を実行します。
コマンド |
パラメータ |
FTOS# configure |
グローバル設定モードに入ります。 |
FTOS(conf)# arp 192.168.1.1 te 0/10 |
このコマンドは、静的ARPエントリーを追加して、スイッチのマルチキャストMACアドレスにIPアドレスを関連付けます。この設定により、NLBモードで動作するスイッチのクラスターIPアドレスに、マルチキャストMACアドレスがマッピングされます。 |
FTOS(conf)# mac-address-table static multicast vlan 1 output- range te 0/1 - 4 |
特定のMACアドレスまたはハードウェア アドレスをVLAN群に関連付ける |