仮想スイッチでさまざまなロード バランシング アルゴリズムを構成し、チーム内の各物理 NIC へのネットワーク トラフィックの分散方法を決定する方法について説明します。
発信元の仮想ポートに基づいたルート
仮想スイッチでは、vSphere 標準スイッチまたは vSphere Distributed Switch での仮想マシンのポート ID に基づいてアップリンクを選択します。
発信元の仮想ポートに基づいたルートは、vSphere 標準スイッチおよび vSphere Distributed Switch におけるデフォルトのロード バランシング方法です。
ESXi ホストで実行されている各仮想マシンには、仮想スイッチでの仮想ポート ID が関連付けられています。仮想マシンのアップリンクを計算するため、仮想スイッチでは、仮想マシンのポート ID と NIC チームでのアップリンクの数を使用します。仮想スイッチは、仮想マシンのアップリンクを選択すると、仮想マシンが同じポートで実行される限り、必ずこの仮想マシンの場合と同じアップリンクを介してトラフィックを転送します。仮想スイッチは、NIC チームでアップリンクが追加または削除されない限り、仮想マシンのアップリンクを 1 回のみ計算します。
仮想マシンのポート ID は、その仮想マシンが同じホストで実行されている間は固定されます。仮想マシンを移行、パワーオフ、または削除すると、仮想スイッチでのそのポート ID は空き状態になります。仮想スイッチはこのポートへのトラフィックの送信を停止し、関連付けられているアップリンクの全体的なトラフィックが減少します。仮想マシンは、パワーオンまたは移行されると、別のポートで実行され、その新規ポートに関連付けられているアップリンクを使用します。
考慮事項 | 説明 |
---|---|
メリット |
|
デメリット |
|
発信元 MAC ハッシュに基づいたルート
仮想スイッチは、仮想マシンの MAC アドレスに基づいて、仮想マシンのアップリンクを選択します。仮想スイッチは、仮想マシンのアップリンクを計算するために、仮想マシンの MAC アドレスと NIC チーム内のアップリンク数を使用します。
考慮事項 | 説明 |
---|---|
メリット |
|
デメリット |
|
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 ハッシュに基づいたルートを使用する場合の考慮事項
考慮事項 | 説明 |
---|---|
メリット |
|
デメリット |
|
物理 NIC 負荷に基づいたルート
物理 NIC 負荷に基づいたルートは、発信元の仮想ポートに基づいたルートをベースにしています。このルートでは、仮想スイッチが、アップリンクの実際の負荷をチェックし、負荷がかかりすぎているアップリンクで負荷を軽減するための処理を行います。このルートは、vSphere Distributed Switch でのみ使用できます。
Distributed Switch は、ポート ID と NIC チーム内のアップリンク数を取得して、仮想マシンのアップリンクの負荷を計算します。Distributed Switch は 30 秒ごとにアップリンクをテストして、その負荷が使用量の 75 パーセントを超えると、I/O の使用率が最も高い仮想マシンのポート ID を別のアップリンクに移動します。
考慮事項 | 説明 |
---|---|
メリット |
|
デメリット |
|
明示的なフェイルオーバー順序を使用
このポリシーで使用可能な実際のロード バランシングはありません。仮想スイッチは、フェイルオーバー順序からのアクティブなアダプタのリストの最初にリストされ、かつフェイルオーバー検知基準を満たすアップリンクを常に使用します。アクティブなリストに使用可能なアップリンクが含まれていない場合、仮想スイッチではスタンバイ リストにあるアップリンクを使用します。