book
Article ID: 328819
calendar_today
Updated On:
Issue/Introduction
Symptoms:
免責事項:これは英文の記事「
Poor network performance when using VMXNET3 adapter for routing in a Linux guest operating system (2077393)」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新の内容については、英語版の記事を参照してください。
Linux ゲスト OS が、
net.ipv4.ip_forwarding sysctl カーネル値を使用して IPv4 パケットをルーティングするように構成されているとき、次のような症状が現れる。
- VMXNET3 アダプタを使用しているとき、パフォーマンスが低下する( 100Mbps 未満)。
- 短い期間、ゲスト OS がパケットの転送を停止し、断続的に再開する。
- 別のホスト上の仮想マシン、またはネットワーク上の物理ノードにルーティングするときより、同一の ESX/ESXi ホスト上の仮想マシンにルーティングするときのほうがパフォーマンスが 低い。
- E1000 仮想ネットワーク アダプタに切り替えると、パフォーマンスが改善する。
Environment
VMware vSphere ESXi 5.1
VMware ESXi 4.1.x Embedded
VMware ESXi 4.0.x Installable
VMware vSphere ESXi 5.5
VMware ESXi 4.1.x Installable
VMware ESX 4.0.x
VMware ESXi 4.0.x Embedded
VMware ESX 4.1.x
VMware vSphere ESXi 5.0
Cause
VMXNET3 アダプタは、LRO (Large Receive Offloading) と呼ばれるオフロード機能をサポートしており、一部の Linux ディストリビューションでは、VMXNET3 ドライバで、 LRO がデフォルトで有効になっています。Linux カーネルは、パケット転送実行時に LRO パケットを処理できないため、このオフロード機能 を使用してはなりません。E1000 ドライバは LRO をサポートしていないため、E1000 仮想アダプタは、この問題の影響を受けません。
注: ESX/ESXi 4.1 Update 2 より前のリリースでは、 IP 転送が無効になっているときでも、この問題 が発生することが確認されています。ESXi 5.x を含め、ESXi のすべてのバージョンでは、 IP 転送を有効にする場合は、LRO を無効にする必要があります。
Additional Information
sysctl 値を使用して ルーティングが有効になっているかどうかを確認するには、Linux ゲスト内で次のコマンドを実行します。
# sysctl net.ipv4.ip_forwardルーティングが有効になっていれば、1 が返されます。ルーティングが 無効になっていれば、0 が返されます。次に例を示します。
net.ipv4.ip_forward = 0Poor network performance when using VMXNET3 adapter for routing in a Linux guest operating system