某个由4台服务器组成的VMware vSphere 的虚拟化环境中,当vSphere版本从6.7升级到7.0及7.0 U2、U3后,在负载较重的时候会出现“检测到物理网卡错误率较高。有关详细信息,请查看vSAN性能视图”的提示,如图1所示。

vSphere 7.0出现“检测到物理网卡错误率较高”的解决方法​_vSphere


图1 检测到物理网卡错误率较高

选中故障主机,在“监控→vSAN→性能”中,在“物理适配器”选项卡中,可以看到该故障网卡的吞吐量和丢包率,如图2所示。

vSphere 7.0出现“检测到物理网卡错误率较高”的解决方法​_vSphere_02


图2 查看丢包率

对于图2中的问题,我们最初判断分析可能是网卡、光纤或交换机的问题,检查网卡和交换机正常后,就更换了网卡到交换机之间的连接光纤。更换新的光纤后问题仍然出现。

后来在网上查找资料,在vSphere 7.0的发行说明中(链接地址为:​https://docs.vmware.com/cn/VMware-vSphere/7.0/rn/vsphere-esxi-vcenter-server-70-release-notes.html​),介绍了vSphere 7.0中,Intel 82599/X540/X550 网卡上的网络性能存在吞吐量降低问题。与 vSphere 6.7 相比,在 vSphere 7.0 的某些工作负载下,为了提高 Intel 82599EB/X540/X550 系列网卡上的网络性能而将新队列对功能添加到 ixgben 驱动程序时,可能会降低吞吐量。

而在当前的vSphere环境中,4台ESXi主机使用的是Intel 82599 光纤接口10G bit/s的网卡,如图3所示。

vSphere 7.0出现“检测到物理网卡错误率较高”的解决方法​_vSphere_03


图3 当前使用的网卡


找到了故障产生的原因,解决问题就比较方便了。要实现与 vSphere 6.7 相同的网络性能,可以使用模块参数禁用队列对。

依次将每台主机置于维护模式,并在ESXi主机中启用SSH服务,使用SSH客户端工具(例如X Shell)登录到进入维护模式的ESXi主机,运行以下命令禁用队列对

esxcli system module parameters set -p "QPair=0,0,0,0..." -m ixgben

命令执行如图4所示。

vSphere 7.0出现“检测到物理网卡错误率较高”的解决方法​_网卡错误率较高_04


图4 禁用队列对

命令执行完成之后,重新启动ESXi主机。等这台主机再次重启并再次进入维护模式后,将这台主机退出维护模式。其他主机操作与此类似,不再介绍。

等所有主机都禁用队列对并完成一次重新启动后,ESXi 7.0的主机将实现与6.7相同的网络性能。而图1中的故障将不再出现。