![ESXi::vmxnet3 vNIC 和 Linux 内核错误](https://linux22.com/image/566140/ESXi%3A%3Avmxnet3%20vNIC%20%E5%92%8C%20Linux%20%E5%86%85%E6%A0%B8%E9%94%99%E8%AF%AF.png)
虽然可能性不大,但我想我会尝试一下(VMware 社区论坛上没有解决方案)。
在具有 vmxnet3 vNIC 的 Linux 客户机(CentOS 5.7 64 位)中,我们每天在主 eth0、DMZ NIC 上都会收到几百个内核错误,该 eth0 处理大部分网络流量(eth1 和 eth2 执行备份和其他不频繁的网络活动)。
所有 3 个 NIC 的适配器类型均为 vmxnet3,但内核错误仅发生在 eth0 上,这是唯一向公众开放的 NIC(通过 Cisco ASA NAT 的公共 IP)。
日志条目示例:
Nov 2 17:49:40 localhost kernel: eth0: tq error 0x80000000
Nov 2 17:49:40 localhost kernel: eth0: resetting
Nov 2 17:49:40 localhost kernel: eth0: intr type 2, mode 0, 1 vectors allocated
Nov 2 17:49:40 localhost kernel: eth0: NIC Link is Up 10000 Mbps
由于 eth0 昨天出现故障并且必须进行 ifup(尽管新服务器已运行 2 周且没有出现任何问题),因此这些条目令人不安。
上午将降级到 vmxnet2,看看是否能解决问题,但为了我自己以及未来受此问题困扰的用户的利益,我将不再讨论这个问题 —— 每个问题在某个时候都有解决方案 ;-)
答案1
只是一些猜测。
您也可以尝试使用 e1000 驱动程序而不是 vmxnet3。它的限制是 1G MBits,但它可能是一个很好的备份测试。
我想知道您目前在主机系统上使用的 VMWare Tools 级别是多少?内核升级后,您可能需要重新安装 VMWare Tools。
ESX 主机本身是否有可能存在实际的以太网硬件错误?
操作系统驱动程序/内核是否是最新的?
Linux hostname 2.6.18-274.7.1.el5 #1 SMP Thu Oct 20 16:21:01 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
答案2
**** 更新 2 ****
KB 补丁更新 2 确实有效,但您必须禁用 TSO(KB 表示这仅适用于 esxi 4.1 更新 1 或更低版本)。所以,好的,它可以工作,但在具有 4X 千兆位 NIC 和本地 SCSI 磁盘的主机中是否有必要?可能不是...
**** 更新 1 ****
VMware 发布了适用于 ESXi 4.1 的更新 2,显然可以解决此问题 > esxi-update2
刚刚发现它并且工作日已经到了;将在明天凌晨尝试并发回结果...
**** 原文 **** 正如我所提到的,ESXi 主机位于 Cisco ASA 后面。
受影响的 Linux 客户机使用类似 plesk 的控制面板,其中启用了 APF 软件防火墙。我已经关闭了 APF,因此我假设软件防火墙不是罪魁祸首。结果发现,关闭 APF 不会刷新 iptables 规则集。
使用 chkconfig apf --off 重新启动 VM,然后 eth0 内核错误就消失了 ;-)
找到实际原因会很好(即我实际上希望启用 APF,因为 ASA 缺乏硬件资源 [有限的 CPU/内存] 来处理大型拒绝列表)。明天早上我会做更多测试,看看我是否能找到 APF 不喜欢入站 ASA NAT 流量的原因。
无论如何,在虚拟化服务器上花费 5,000 美元后,利用最新和最先进的技术有助于证明这笔开支是合理的(即使实际上对于这个负载适中的主机,e1000 和 vmxnet3 之间的性能提升可能为零)。
总结:vmxnet3 vNIC 在运行 CentOS 5.7 64 位客户机的 Dell R610 主机上运行良好。有待解决的是为什么 ASA + ESXi + APF 不能很好地协同工作...