一个标准交换机上的物理网卡进行切换,即假如vmnic0网卡为活动网卡,vmnic1网卡为备用网卡,虚拟机的网络通信正常,然后把vmnic1网卡改为活动网卡,vmnic0网卡改为备用多卡,虚拟机就会出现丢包,断网的现象,重启虚拟机后,网络恢复,如果再次做物理网卡的切换,又会出现断网现象。整个集群的esxi主机重复同样的操作,都会出现该现象。
问题分析
从问题现象来看,如果不做网卡的切换,虚拟机网络通信正常,物理网卡切换后,然后重启虚拟机,网络又恢复正常,由此可见不是物理交换机配置的问题,如果物理交换机对应的端口配置不一致,重启虚拟机后,断网现象依旧的。排除掉物理交换机后,且所有集成的esxi主机都存在这个问题,因此也不是线缆的问题。所以肯定还是ESXi主机的本身的问题。
首先查看esxi主机的物理网卡的型号,如下图所示,该客户使用两块10Gb网卡,型号分别为X722和X710
然后查看VMware官网的硬件兼容性例表,发现对应的驱动版本和网卡的固件有对应的关系,即什么样的固件版本对应的驱动版本是不一样的,不能随意安装驱动版本。
X722的硬件兼容性例表
X710的硬件兼容性例表
然后使用ssh登录到esxi主机,查看目前esxi主机对应的驱动版本和固件版本,使用
esxcli network nic get -n vmnic4 (vmnic4为物理网卡)
通过命令输出,X710网卡固件版本为6.80,但对应的驱动版本为1.3.1,X722网卡固件版本为4.00,但对应的驱动版本为1.3.1,因此两块10Gb的网卡的驱动版本和固件版本不符合官方兼容例表。
断网问题的根源可能就是这个问题,如果驱动版本和固件版本可以随意搭配,那官方的硬件兼容例表为何会有明确的对应关系呢?如果实施过VMware vSAN的项目,就会经常碰到Raid卡的固件及驱动的问题,也是需要严格依照官方的兼容例表安装固件版本所对应的驱动程序版本。
问题解决
从官方的兼容例表VMware vSphere版本对应的驱动,该环境的ESXi版本为6.7u1,固件版本为4.0,那就下载版本号为1.7.17的网卡驱动,把相应的vib包上传至esxi的tmp目录,然后通过如下命令安装相应的网卡驱动
esxcli software vib install -v /tmp/xxxxx.vib
安装驱动之前,建议把esxi进入维护模式,然后再安装驱动程序,安装完成后,需要重启esxi主机。
完成esxi主机重启,再进行物理网卡的主备切换,问题消失,虚拟机网络都一切正常。
暂无评论内容