仮想スイッチは、各パケットのソース 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 アドレスと通信する仮想マシンのスループットが高くなる可能性があります。
デメリット
  • 他のロード バランシング アルゴリズムと比べてリソース消費量が最も高くなります。
  • 実際のアップリンクの負荷が仮想スイッチで認識されません。
  • 物理ネットワークの変更が必要です。
  • トラブルシューティングが複雑になります。