NLB 操作モードをサポートするようにネットワーク インフラストラクチャを構成する

この記事では、さまざまなネットワーク負荷分散 (NLB) 操作モードがネットワーク インフラストラクチャにどのように影響するか、およびネットワークが各モードをサポートできる最適な方法について説明します。

適用対象: Windows Server 2016、Windows Server 2012 R2
元の KB 番号: 4494444

概要

Microsoft の経験に基づいて、ユーザーが NLB を使用するときに発生する最も一般的な問題は、テクノロジに関する十分な情報が得られないということです。 そのため、通常、デプロイと実装には必須の設定が不足しているか、すべてのネットワークで最も重要な要素である帯域幅の消費量は考慮されません。

NLB は、インターネット グループ メンバーシップ プロトコル (IGMP マルチキャスト) を使用するユニキャスト、マルチキャスト、マルチキャストの 3 つのモードのいずれかで動作できます。 これらのモードはそれぞれ異なる要件を持ち、ネットワーク インフラストラクチャに異なる要求を設定します。

重要

クラスター内のすべてのノードは、同じ操作モードを使用する必要があります。

次の表は、各モードの要件、利点、欠点をまとめたものです。

NLB 操作モード 特別な要件 メリット デメリット
ユニキャスト NLB は MAC アダプター アドレスを変更できる必要があります。
  • 構成しやすい
  • 単純な環境に適しています
  • 他のシステムにネットワーク トラフィックがあふれ、パフォーマンスの問題が発生する可能性があります (これらの問題を解決するには、追加のハードウェアを使用する必要がある場合があります)
  • より複雑な環境には適していません
マルチキャスト ネットワーク インフラストラクチャでは、静的 ARP エントリと静的 MAC アドレス テーブル エントリを使用する必要があります。
  • ユニキャスト モードよりも帯域幅を効率的に使用し、パフォーマンスへの影響のリスクを低くする
  • 各アダプターは、組み込みの MAC アドレスを使用します
ユニキャストよりも構成が複雑
IGMP を使用したマルチキャスト ネットワーク スイッチは IGMP スヌーピングに対応している必要があります。
  • マルチキャストと同じ利点
  • 自動構成の追加の利点。
ネットワーク ハードウェアに、他のモードで必要のない特定の機能が必要です

NLB クラスターは、ユニキャスト、マルチキャスト、または IMGP マルチキャストの 3 つの操作モードのいずれかで構成できます。 インフラストラクチャが正しく構成されている場合、3 つのモードはすべて非常に適切に動作します。 ただし、使用しているモードをサポートするためにネットワーク インフラストラクチャを準備していない場合は、深刻な問題が発生する可能性があります。 各モードは、ネットワーク インフラストラクチャに異なる影響を与えます。

ユニキャスト

ユニキャストは、構成する最も簡単な操作モードです。 理論的には、ネットワーク インフラストラクチャで他の操作を行う必要はありません。 実際には、ネットワーク トラフィックを管理するためにインフラストラクチャを変更する必要がある場合があります。

ユニキャスト モードでは、NLB は NLB MAC アドレスを使用して、クラスターの各ノード内の各アダプターの元のハードウェア MAC アドレスを置き換えます。 複数のアダプターが同じアドレスを持つようになったため、ネットワーク内の物理スイッチが MAC アドレス テーブルを正しく維持できなくなりました。 どのトラフィックがどのスイッチ ポートに到達するかを判断できないため、スイッチはすべてのトラフィックをすべてのポートに送信し、トラフィックが宛先に到達することを確認します。 これはユニキャスト フラッド シナリオと呼ばれます。

ユニキャスト フラッディングは、ネットワーク パフォーマンスに重大な影響を与える可能性があります。 通常のネットワーク トラフィックに加えて、すべての NLB ノードがハートビート パケットを送信します (各ハートビート パケットには約 1500 バイトのデータが含まれています)。 既定では、ノードは 1 秒ごとにハートビート パケットを送信し、ノードが収束したと見なされるまで、それらのパケットのうち 5 つのパケットが受信されるまで待機します。 ユニキャスト フラッドの状況では、すべてのスイッチは、通常のネットワーク トラフィックと同様にすべてのスイッチ ポートにこのハートビート トラフィックを再ブロードキャストします。 たとえば、ネットワークに 24 ポートまたは 48 ポートのスイッチがあり、そのうちの 2 つのポートのみが NLB ノードに接続されている場合、スイッチは不要な 22 (または 46) のサーバーに大量のネットワーク トラフィックをブロードキャストする可能性があります。

ユニキャスト フラッディングを回避するには、次のオプションがあります。

  • オプション 1: ネットワーク スイッチと NLB ノードの間にハブを挿入します。 ハブは NLB ユニキャスト MAC アドレスを使用し、1 つのスイッチ ポートに接続するため、スイッチは MAC アドレス テーブルを正しく管理できます。 ハブは NLB ノードにトラフィックを転送し、他のスイッチ ポートに接続するサーバーは余分な NLB トラフィックを受信しません。

  • オプション 2: NLB サーバー用に個別の VLAN を作成します。 他のサブネットが VLAN に到達できることを確認します。 この構成により、その VLAN に割り当てられているスイッチ ポートに NLB トラフィックが分離されます。

ユニキャスト モードでデュアル NIC を持つコンピューターを構成する

場合によっては、コンピューターに 2 つのネットワーク インターフェイス カード (NIC) が必要な場合があります。 Windows Server 2008 以降を実行している場合は、トラフィックが正しくルーティングされるように NIC で IP 転送を有効にする必要があります。 以前のバージョンの Windows では、既定で IP 転送が有効になっています。

IP 転送を有効にする前に、クラスター NIC のインデックスを取得する必要があります。 構成するコンピューターで、コマンド プロンプト ウィンドウを開き、次のコマンドを実行します。

netsh interface ipv4 show int

このコマンドの出力には、コンピューター上のインターフェイスが次のように一覧表示されます。

netsh インターフェイス ipv4 show int コマンドの出力には、すべてのネットワーク インターフェイスのインデックスと名前が一覧表示されます。

[コマンド プロンプト] ウィンドウで、次のコマンドを実行します。

netsh interface ipv4 set interface <Cluster Idx> forwarding=enabled

このコマンドでは、 <Cluster Idx> はクラスター インターフェイスのインデックスを表します。

設定が変更されたことを確認するには、次のコマンドを実行します。

netsh interface ipv4 show interface <Cluster Idx> l=verbose

このコマンドでは、 <Cluster Idx> はクラスター インターフェイスのインデックスを表します。

出力は、転送が有効になったことを示しています。

netsh インターフェイス ipv4 show interface コマンドの出力で、Forwarding パラメーターが Enabled に設定されるようになりました。

ユニキャスト モードで仮想環境を構成する

既定では、仮想環境の仮想スイッチは通常、ユニキャスト フラッディングを防ぎます。 構成の詳細については、次のリソースを参照してください。

  • Hyper-V を使用して仮想環境を実行する場合は、Hyper-V 管理コンソールを開きます。 仮想マシンの設定を選択し、NIC 設定を選択し、[ MAC アドレスのスプーフィングを有効にする] を選択します。 [OK] を選択します。 詳細については、「ヒント: Virtual Network アダプターの MAC アドレス スプーフィングを構成する」を参照してください。

  • VMware を使用して仮想環境を実行する場合は、 VMware の記事「Microsoft NLB がユニキャスト モードで正常に動作しない (1556)」を参照してください。 この記事では、仮想ネットワーク インフラストラクチャを構成する方法について説明します。 ドキュメントについて質問がある場合は、必ず VMware にお問い合わせください。

  • 別の仮想環境 (XenServer や VirtualBox など) を使用していて、同様の問題が発生している場合は、製造元に問い合わせてガイダンスを確認してください。

マルチキャスト

マルチキャスト モードはユニキャスト モードとは異なります。 ネットワーク アダプターの MAC アドレスを変更する代わりに、NLB は NLB 仮想 IP (VIP) アドレスを NLB マルチキャスト MAC アドレスに変換します。 この MAC の形式は 03-BF-XX-XX-XX-XX です。 また、NLB は、クラスターのプライマリ IP アドレスがアドレス解決プロトコル (ARP) の一部としてこのマルチキャスト アドレスに解決されるようにします。 個々のネットワーク アダプターは元の MAC アドレスを保持しますが、NLB トラフィックは NLB マルチキャスト MAC アドレスにアドレス指定されます。

この構成をサポートするには、静的 ARP エントリと MAC アドレス テーブル エントリを使用するようにネットワーク インフラストラクチャを構成する必要があります。 ネットワーク スイッチは、通常の操作の過程で NLB マルチキャスト MAC アドレスを学習できません。 手動構成手順をスキップすると、ネットワーク スイッチによって NLB トラフィックがすべてのポートにフラッディングされたり、パケットがドロップされたりする可能性があります。 ネットワークは最初は正しく機能するように見えるかもしれませんが、時間の経過と伴って問題が増加します。

次の表に示す記事では、ネットワーク インフラストラクチャ ベンダーに基づいてネットワーク インフラストラクチャを正しく構成するために何を行う必要があるかを明確に説明します。 これらの記事は保持しません。 したがって、正確または利用可能であることを保証することはできません。 これらの記事についてご質問がある場合は、該当するベンダーにお問い合わせください。

ベンダー 記事
Vmware サンプル構成 - ルーティング サブネット上のネットワーク負荷分散 (NLB) マルチキャスト モード - Cisco スイッチスタティック ARP 構成 (1006525)
Cisco
ジュニパー
HPE HP スイッチ 5500/5500G - スイッチ 5500 および 5500G でマルチキャストを使用して Microsoft ネットワーク負荷分散を実装する方法
Dell Dell Networking Force10 スイッチと Microsoft ネットワーク負荷分散
Huawei NLB クラスターへのデバイスの接続の例 (マルチインターフェイス ARP を使用)
D-Link マルチキャスト モードでの D-Link レイヤー 3 スイッチ Microsoft NLB の構成例
Avaya Microsoft ネットワーク負荷分散のテクニカル構成ガイド (ダウンロード)

マルチキャスト モードで仮想環境を構成する

仮想環境では、ネットワーク スイッチはハイパーバイザー ホスト サーバーに接続します。 高可用性仮想環境では、ハイパーバイザー ホストのグループが仮想マシンのグループをサポートします。 個々の仮想マシンは、任意のハイパーバイザー ホスト上に存在し、特定の状況で異なるハイパーバイザー ホストに移行できます。 ネットワーク トラフィックは、仮想マシンが実行されているハイパーバイザー ホストに関係なく、適切な仮想マシンに到達できる必要があります。

このような環境でマルチキャスト モードを使用するには、ハイパーバイザー ホストに接続する各ポートが静的エントリを使用して NLB マルチキャスト MAC アドレスにマップされるように、ネットワーク スイッチの MAC アドレス テーブルを構成する必要があります。 たとえば、8 つのハイパーバイザー ホストを含む環境を考えてみましょう。 各ハイパーバイザー ホストには 2 つのネットワーク アダプターがあり、すべてのアダプターがスイッチに接続されます。 スイッチの MAC アドレス テーブルには、各ポートを NLB マルチキャスト MAC アドレスにマップする静的エントリが必要です。

IGMP マルチキャスト

IGMP マルチキャストを使用するには、ネットワーク スイッチで IGMP スヌーピングが可能である必要があります。

このモードは基本的にマルチキャスト モードと同じですが、スイッチは自動的に MAC アドレス テーブルをこのモードで構築できます。

IGMP マルチキャストを有効にすると、NLB ノードは IGMP Join メッセージを 239.255.x.y マルチキャスト アドレスに送信します (このアドレスでは、x.y は NLB VIP の最後の 2 オクテットを表します)。 たとえば、NLB VIP が 10.0.0.1 の場合、IGMP Join メッセージのマルチキャスト アドレスは 239.244.0.1 です。 これらのメッセージは、NLB ノードのグループ メンバーシップを示します。 スイッチは、この情報を使用して MAC アドレス テーブルを構成します。

「マルチキャスト」セクションに記載されている記事の一部には、IGMP を使用したマルチキャスト用のデバイスの正しい構成パラメーターが含まれています。 機器がこのモードをサポートできることを確認するには、ハードウェア ベンダーにお問い合わせください。

注:

Windows Server 2022 までは、NLB は IGMP マルチキャスト モードを含む Windows バージョンで IGMP バージョン 1 をサポートしています。

NLB 操作モードを構成する

NLB の観点から見ると、構成は簡単です。ロールのインストール、コンソールの開き、負荷分散クラスターの作成、ノードの選択、NLB モードの設定、ポートとアフィニティの設定を行います。

注:

NLB マネージャーを使用してクラスター ノードを構成するには、クラスター ノードの Administrators グループのメンバーである必要があります。

NLB クラスター操作モードを構成するには、次の手順に従います。

  1. サーバー マネージャーで、[管理ツール] を選択し、[ネットワーク負荷分散マネージャー] を選択します。
  2. NLB マネージャーにクラスターがまだ一覧表示されていない場合は、クラスターに接続します。
  3. クラスターを右クリックし、[ クラスターのプロパティ] を選択します。
  4. [クラスター パラメーター] タブで、[クラスター操作モード] で [ユニキャスト] または [マルチキャスト] を選択します。 必要に応じて、[IGMP マルチキャスト チェック] ボックスを選択して、インターネット グループ管理プロトコル (IGMP) のサポートを有効にすることもできます。

NLB の MAC アドレス指定を構成するには (NLB モードに依存します)、最も重要なツールは NLB IP2MAC です。 このツールは、NLB がインストールされている任意のコンピューターで使用でき、非常に使いやすいです。 ツールを起動するには、コマンド プロンプト ウィンドウを開き、次のコマンドを実行します。

NLB IP2MAC <VIP of NLB>

このコマンドでは、 <NLB> の VIP は NLB 仮想 IP アドレスを表します。

NLB IP2MAC ツールは、特定のクラスター IP の MAC アドレスの一覧を生成します。

スクリーンショットに示すように、このコマンドを使用すると、各モードの MAC アドレスを簡単に取得できます。 別の方法として、次のガイドライン (スクリーンショットの赤い数字に対応する数値) を考慮して、数学を実行することもできます。

  1. ユニキャスト モードでは、MAC アドレスは 02-BF として開始されます。 その後に、VIP アドレスの各オクテットを表す一連の 16 進コードが続きます。

  2. マルチキャスト モードでは、MAC アドレスは 03-BF として開始されます。 ここでも、VIP アドレスの各オクテットを表す一連の 16 進コードが続きます。

  3. IGMP モードのマルチキャストでは、MAC アドレスは 01-00-5E-7F として開始されます。 アドレスの最後の 2 つの部分は、VIP アドレスの最後の 2 オクテットです。

NLB を展開および管理する方法の詳細については、次のリソースを参照してください。

サードパーティの情報に関する免責事項

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。

サードパーティのお問い合わせ窓口に関する免責事項

Microsoft では、このトピックに関する追加情報を見つけるのに役立つサード パーティの連絡先情報を提供しています。 将来予告なしに変更されることがあります。 Microsoft は、第三者の連絡先情報の正確性を保証しません。