高負荷状態で稼働し、LAG構成のアップリンクを使用する2つの VM 間で通信問題が発生する
search cancel

高負荷状態で稼働し、LAG構成のアップリンクを使用する2つの VM 間で通信問題が発生する

book

Article ID: 429503

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項: これは英文の記事 「Connectivity issue between two VMs running under heavy load and using uplinks that are part of a LAG」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

 

  • それぞれの仮想マシンが異なる VLAN ポートグループに所属し、異なる ESXi ホスト上で稼働している。
  • ESXi のアップリンクはLAGに組み込まれている。
  • ESXi の vmnic アダプタが Broadcom BCM57414 NetXtreme-E 10Gb/25Gb RDMA Ethernet Controller であり、ファームウェアバージョンが  219.x. 以上。
  • 対象仮想マシンは高負荷で稼働している。
  • 上記シナリオでいずれかのアップリンクに障害が発生すると、2つの仮想マシン間の接続が中断される。中断時間は約40~60秒であり、その後、トラフィックは自動的に再開される。
  • 事象発生時には ARP解決が完了しないか、あるいは ARP 解決が完了していたとしても ICMP エコー応答が送信元仮想マシンに到達しない(ICMP だけでなく、全てのトラフィックが影響を受ける)。
  • 送信元仮想マシンのアップリンクで ARP 応答または ICMP エコー応答が確認できるが、パケットに誤った VLAN タグが付けられているため、送信元仮想マシンのスイッチポートには到達しない。

Environment

VMware vSphere ESXi

Cause

この問題は VEB (Virtual Ethernet Bridging) モードが原因で発生します。
NIC のドキュメント Tunneling Examples for Ethernet Network Adapters によると、このモードでは仮想マシン間通信用に NIC 内に内部ブリッジが生成されます。
イーサネットフレームは内部ブリッジを通過するため、宛先が同じ物理 NIC 上(ポート/ vmnic が異なっていても)にある場合、フレームは物理スイッチへの接続をスキップする可能性があります。
また、物理スイッチに接続されないため、同じ/誤った VLAN が使用され、パケットが受信されません。
vmnic にプログラムされた受信フィルタは上記動作に影響を与える可能性があることから、受信フィルタがデフォルト以外のキューに適用されるような高負荷状態では通信に影響を与える可能性があります。

Resolution

VEB は通常 SRIOV 環境で使用されます。
SRIOV を使用していない場合には、無効化して問題ありません。以下 BIOS 内の NIC 設定のように Default EVB Mode が None となるよう VEB を無効化します。