仮想スイッチでさまざまなロード バランシング アルゴリズムを構成し、チーム内の各物理 NIC へのネットワーク トラフィックの分散方法を決定する方法について説明します。

発信元の仮想ポートに基づいたルート

仮想スイッチでは、vSphere 標準スイッチまたは vSphere Distributed Switch での仮想マシンのポート ID に基づいてアップリンクを選択します。

発信元の仮想ポートに基づいたルートは、vSphere 標準スイッチおよび vSphere Distributed Switch におけるデフォルトのロード バランシング方法です。

ESXi ホストで実行されている各仮想マシンには、仮想スイッチでの仮想ポート ID が関連付けられています。仮想マシンのアップリンクを計算するため、仮想スイッチでは、仮想マシンのポート ID と NIC チームでのアップリンクの数を使用します。仮想スイッチは、仮想マシンのアップリンクを選択すると、仮想マシンが同じポートで実行される限り、必ずこの仮想マシンの場合と同じアップリンクを介してトラフィックを転送します。仮想スイッチは、NIC チームでアップリンクが追加または削除されない限り、仮想マシンのアップリンクを 1 回のみ計算します。

仮想マシンのポート ID は、その仮想マシンが同じホストで実行されている間は固定されます。仮想マシンを移行、パワーオフ、または削除すると、仮想スイッチでのそのポート ID は空き状態になります。仮想スイッチはこのポートへのトラフィックの送信を停止し、関連付けられているアップリンクの全体的なトラフィックが減少します。仮想マシンは、パワーオンまたは移行されると、別のポートで実行され、その新規ポートに関連付けられているアップリンクを使用します。

表 1. 元の仮想ポートに基づくルートを使用する場合の考慮事項
考慮事項 説明
メリット
  • 仮想 NIC の数がチームの物理 NIC の数より多い場合に、トラフィックを均等に配分できます。
  • ほとんどの場合、仮想スイッチは仮想マシンのアップリンクを 1 回のみ計算するため、リソースの消費量が少なくなります。
  • 物理スイッチに変更を加える必要がありません。
デメリット
  • 仮想スイッチではアップリンク上のトラフィック負荷を認識せず、使用頻度の低いアップリンクへのトラフィックのロード バランシングが行われません。
  • 仮想マシンで使用可能なバンド幅は、仮想マシンで複数の仮想 NIC を使用しない限り、関連 ポート ID に関連付けられているアップリンクの速度までに制限されます。

発信元 MAC ハッシュに基づいたルート

仮想スイッチは、仮想マシンの MAC アドレスに基づいて、仮想マシンのアップリンクを選択します。仮想スイッチは、仮想マシンのアップリンクを計算するために、仮想マシンの MAC アドレスと NIC チーム内のアップリンク数を使用します。

表 2. 発信元 MAC ハッシュに基づいたルートを使用する場合の考慮事項
考慮事項 説明
メリット
  • 仮想スイッチはパケットごとにアップリンクを計算するため、発信元の仮想ポートに基づいたルートよりも平等にトラフィックを分散できます。
  • MAC アドレスは固定されているため、仮想マシンでは同じアップリンクが使用されます。仮想マシンをパワーオンまたはパワーオフしても、仮想マシンで使用されるアップリンクは変わりません。
  • 物理スイッチに変更を加える必要がありません。
デメリット
  • 仮想マシンで複数の発信元 MAC アドレスを使用している場合を除き、仮想マシンで使用できるバンド幅は、関連するポート ID に関連付けられているアップリンクの速度に制限されます。
  • 仮想スイッチはパケットごとにアップリンクを計算するため、発信元の仮想ポートに基づいたルートよりもリソース消費量が多くなります。
  • アップリンクの負荷が仮想スイッチで認識されないため、アップリンクが過負荷になる可能性があります。

IP ハッシュに基づいたルート

仮想スイッチは、各パケットのソース IP アドレスおよびターゲット IP アドレスに基づいて、仮想マシンのアップリンクを選択します。

仮想スイッチは、仮想マシンのアップリンクを計算するために、パケットのソース IP アドレスとターゲット IP アドレスの両方の最後のオクテットを取得して XOR 操作を行い、その結果に対して NIC チームのアップリンク数に基づく別の計算を実行します。この結果は、0 ~ チーム内のアップリンク数 - 1 の数値になります。たとえば、NIC チームに 4 つのアップリンクがある場合、チーム内の NIC に各数値が関連付けられるため、結果は 0 ~ 3 になります。IP 以外のパケットの場合、仮想スイッチは IP アドレスが配置されるフレームまたはパケットから 2 つの 32 ビット バイナリ値を取得します。

仮想マシンは、ソース IP アドレスまたはターゲット IP アドレスに応じて NIC チーム内の任意のアップリンクを使用できます。このように、各仮想マシンはチーム内の任意のアップリンクのバンド幅を使用できます。多数の独立した仮想マシンがある環境で仮想マシンが実行される場合、IP ハッシュ アルゴリズムを使用すると、チーム内の NIC 間でトラフィックを平等に分散できます。仮想マシンが複数のターゲット IP アドレスと通信する場合、仮想スイッチはターゲット IP アドレスごとに異なるハッシュを生成できます。このように、各パケットで仮想スイッチの異なるアップリンクを使用できるため、スループットが高くなる可能性があります。

ただし、使用環境の IP アドレス数が少ない場合、仮想スイッチはチーム内の 1 つのアップリンクで連続してトラフィックを通過させる可能性があります。たとえば、1 つのアプリケーション サーバが 1 つのデータベース サーバにアクセスしている場合、1 つのソース-ターゲット ペアしか存在しないため、仮想スイッチは常に同じアップリンクを計算します。

物理スイッチ構成

IP ハッシュ ロード バランシングを正常に機能させるには、物理スイッチに Etherchannel を構成する必要があります。Etherchannel は、複数のネットワーク アダプタを 1 つの論理リンクにバインドします。ポートが Etherchannel にバインドされていると、物理スイッチの異なるポートで同じ仮想マシンの MAC アドレスからのパケットを受信するたびに、CAM (content addressable memory) テーブルを適切に更新します。

たとえば、物理スイッチがポート 01 とポート 02 で MAC アドレス A からのパケットを受信すると、スイッチは CAM テーブルに 01-A と 02-A のエントリを作成します。そのため、物理スイッチは受信トラフィックを正しいポートに分散できます。Etherchannel がない場合、物理スイッチは、まず MAC アドレス A からのパケットをポート 01 で受信したという内容のレコードを作成し、次に MAC アドレス A からのパケットをポート 02 で受信したという内容でこのレコードを更新します。そのため、物理スイッチはポート 02 の受信トラフィックのみを転送し、パケットがターゲットに到達せずに、対応するアップリンクの過負荷が生じる可能性があります。

制限事項および構成要件

  • ESXi ホストは、単一の物理スイッチまたはスタック スイッチの IP ハッシュ チーミングをサポートしています。
  • ESXi ホストは、固定モードの 802.3ad リンク集約のみをサポートしています。vSphere 標準スイッチでは、固定 Etherchannel のみを使用できます。LACP はサポートされていません。802.3ad リンク集約を使用せずに IP ハッシュ ロード バランシングを有効にする場合(およびその逆)、ネットワークが中断される可能性があります。
  • IP ハッシュ ロード バランシングでは、ネットワークの障害検出として [リンク状態のみ] を使用する必要があります。
  • アクティブなフェイルオーバー リストにチームのすべてのアップリンクを設定する必要があります。スタンバイ リストと未使用リストは空にする必要があります。
  • Etherchannel のポート数は、チーム内のアップリンク数と同じである必要があります。

IP ハッシュに基づいたルートを使用する場合の考慮事項

考慮事項 説明
メリット
  • 仮想スイッチはパケットごとにアップリンクを計算するため、発信元の仮想ポートに基づいたルートや発信元 MAC ハッシュに基づいたルートよりも平等に負荷を分散できます。
  • 複数の IP アドレスと通信する仮想マシンのスループットが高くなる可能性があります。
デメリット
  • 他のロード バランシング アルゴリズムと比べてリソース消費量が最も高くなります。
  • 実際のアップリンクの負荷が仮想スイッチで認識されません。
  • 物理ネットワークの変更が必要です。
  • トラブルシューティングが複雑になります。

物理 NIC 負荷に基づいたルート

物理 NIC 負荷に基づいたルートは、発信元の仮想ポートに基づいたルートをベースにしています。このルートでは、仮想スイッチが、アップリンクの実際の負荷をチェックし、負荷がかかりすぎているアップリンクで負荷を軽減するための処理を行います。このルートは、vSphere Distributed Switch でのみ使用できます。

Distributed Switch は、ポート ID と NIC チーム内のアップリンク数を取得して、仮想マシンのアップリンクの負荷を計算します。Distributed Switch は 30 秒ごとにアップリンクをテストして、その負荷が使用量の 75 パーセントを超えると、I/O の使用率が最も高い仮想マシンのポート ID を別のアップリンクに移動します。

表 3. 物理 NIC 負荷に基づいたルート使用時の考慮事項
考慮事項 説明
メリット
  • Distributed Switch が仮想マシンのアップリンクの負荷を計算するのは 1 度のみで、アップリンクの確認の影響は最小限であるため、リソース使用量が低く抑えられます。
  • Distributed Switch がアップリンクの負荷を認識し、必要に応じて負荷を軽減するための処理を行います。
  • 物理スイッチに変更を加える必要がありません。
デメリット
  • 仮想マシンで使用できるバンド幅が、Distributed Switch に接続されたアップリンクによる制限を受けます。

明示的なフェイルオーバー順序を使用

このポリシーで使用可能な実際のロード バランシングはありません。仮想スイッチは、フェイルオーバー順序からのアクティブなアダプタのリストの最初にリストされ、かつフェイルオーバー検知基準を満たすアップリンクを常に使用します。アクティブなリストに使用可能なアップリンクが含まれていない場合、仮想スイッチではスタンバイ リストにあるアップリンクを使用します。