ESXiホストから外部物理スイッチへのネットワーク接続は、NICチーミングにより複数の本数接続することができます。複数接続することで、ロードバランシング、および障害時の冗長化を実現します。
仮想ネットワーク、仮想スイッチに関しては、以下の記事を参考にしてください。
>> 参考記事 : 【VMWare ESXi】仮想ネットワーク・仮想スイッチの概要3つの物理NICを持つESXiホストが外部スイッチに接続されている構成を考えます。
これら物理スイッチの接続に対して、ESXiホスト内の仮想スイッチがNICチーミングをすることで、通信のロードバランスや可用性(フェールオーバ)を実現します。
ロードバランス方式
発信元の仮想ポートに基づいたルート
仮想マシンが仮想スイッチに接続されている仮想NICのポートのIDに基づいて、特定の物理NIC(VMNIC)にトラフィックを転送させます。 物理スイッチ側で、チーミングを意識する必要はありません。
下の絵にあるようにVMが接続されているポートに応じて、使用されるNICが固定されます。
ポートIDと物理NIC(VMNIC)のマッピングによっては、VMの通信負荷に偏りがある場合に、物理スイッチへのアップリンクで負荷が偏る可能性があります。
発信元 MAC ハッシュに基づいたルート
仮想マシンに付与される仮想NICのMACアドレスを元に計算されたハッシュ値の結果より、特定の物理NIC(VMNIC)にトラフィックを転送させます。 物理スイッチ側で、チーミングを意識する必要はありません。
MACアドレスと物理NIC(VMNIC)のマッピングによっては、VMの通信負荷に偏りがある場合に、物理スイッチへのアップリンクで負荷が偏る可能性があります。
IP ハッシュに基づいたルート
送信元と宛先のIPアドレスを元に計算されたハッシュ値より、特定の物理NIC(VMNIC)にトラフィックを転送させます。
上のポートIDやMACアドレスと異なり、VMは宛先アドレスに応じて、複数の物理NIC(VMNIC)を使用することになります。 そのため、物理スイッチとの接続はリンクアグリゲーションにする必要があります。
リンクアグリゲーションはスタティックとダイナミック(LACP)の2種類が選択でき、ダイナミック(LACP)を使用する場合は、仮想スイッチは分散仮想スイッチである必要があります。
NICチーミングによるフェールオーバ
例えば、仮想マシンがNIC1経由で物理スイッチに通信しているとします。
この状態でNIC1がダウンすると、仮想スイッチはリンクダウンを検知し、NIC1を使用している通信を他のポートに振り替えます。
リンクダウンが発生しないようなケースはどうでしょうか。 例えば、以下のように、NIC1とNIC2/3で接続されている物理スイッチが異なるとします。
この場合に物理スイッチ間の接続がダウンしたとします。ESXiホストから見ると、自身がリンクダウンしたわけではないので、リンクダウンを契機として、この障害を検知することができません。
この障害により、上の物理スイッチが孤立してしまい、上位への接続ができなくなります。
このようなケースを想定して、ビーコンによるプローブを使用します。ビーコンとはNIC間で、お互いに送信されるパケットで、お互いで送受信されることにより、正常性を確認します。
今回の障害の場合、NIC2、NIC3間はビーコンのやりとりができるにも関わらず、NIC1とはやり取りができないことから、NIC1は障害と見なし、他のNICへフェールオーバします。
コメント