简介
本文档介绍在ESXi 6.7 update 2及更高版本上实施的虚拟vmxnet3网络接口卡(vNIC)上的最大传输单位(MTU)检查。
先决条件
要求
Cisco 建议您了解以下主题:
- ESXi中的VMWare虚拟机网络配置
- 思科会议服务器(CMS)命令行界面(CLI)
使用的组件
本文档中的信息基于作为虚拟机运行的CMS。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
本文档特别指CMS,但会影响任何符合浮动要求的虚拟机:
- ESXi 6.7版更新2或更高版本
- vmxnet3适配器正在使用
- 虚拟机vNIC级别的MTU更改
背景信息
在ESXi版本6.7 update 2及更高版本中,平台的默认行为被强制执行以对接收路径执行MTU检查,并且不允许大于vNIC的MTU大小的数据包。
在此版本之前,未执行此检查,这会增加在使用vmxnet3 vNIC的虚拟机(VM)上更改MTU大小时丢包的可能性。
例如,如果vSwitch设置为接收MTU 1500 字节,但VM的vNIC MTU降至1300 字节,并且接收大于1300 字节的数据包,则此数据包会被丢弃或丢弃。
问题:当MTU大小降低时可能丢包
在ESXi版本6.7更新2及更高版本上运行Cisco Meeting Server(或在vNIC级别修改MTU并使用vmxnet3适配器)VM的环境,当MTU因此默认行为更改而降低时,可能会遇到丢包问题。
在CMS主板管理处理器(MMP)配置上使用命令iface <interface> mtu <value>降低MTU,然后在vNIC上设置该值,以降低网络中数据包的延迟。
有关这些更改的更多详细信息,请参阅此VMware文章。
解决方案
以下是有助于解决此问题的选项。
注意:选项1和2要求ESXi环境已安装ESXi670-201912001的补丁版本,以便该选项可用于修改MTU检查的vmxnet3配置。有关此信息的详细信息,请参阅补丁版本的版本说明。下面的文字引用了。
"PR 2409342:您不能选择在vmxnet3后端禁用最大传输单位(MTU)检查,使数据包长度不超过vNIC MTU
使用ESXi670-201912001,您可以选择在vmxnet3后端禁用最大传输单位(MTU)检查,使数据包长度不超过vNIC MTU。默认行为是执行MTU检查。但是,如果使用vmxnet3,由于此检查,您可能会看到丢弃的数据包增加。有关详细信息,请参阅VMware知识库文章75213。
此问题在此版本中已解决。”
选项 1:主机范围配置
如前所述,此选项要求安装修补程序版本(ESXi670-201912001)。以下详细信息直接从VMware文档75213的解决方案部分获取。
esxcli系统设置高级设置 — o "/Net/vmxnet3NonTsoPacketGtMtuAllowed" -i 1
注意:此配置适用于所有vmxnet3 vNIcs(主机范围)。 然后,此设置将应用于进行此更改后打开的每个VM。
选项 2:vNIC特定配置
如前所述,此选项要求安装修补程序版本(ESXi670-201912001)。以下详细信息直接从VMware文档75213的解决方案部分获取。
"在vmx文件中使用ethernet0.rxAllowPktGtMtu = "1":
其中应将“ethernet0”替换为要应用配置的特定vNic。
请使用VMware KB文章,按照“如何:
使用vSphere客户端(1016098)KB修改高级虚拟机设置。”
选项 3: 解决方法
对于解决方法选项,您可以选择恢复应用/VM上的MTU配置,以便其设置为接收网络中接受的内容。
例如,如果vSwitch设置为接收MTU大小为1500,则虚拟机vNIC必须设置为与此匹配。如果环境运行CMS,则必须将接口MTU设置为预期值。
例如:面对在CMS MMP上配置的mtu 1500。
另一个选项是确保网络已配置,以便到达vNIC的数据包不超过vNIC的设置MTU值。这需要在整个网络中完成,以确保正确设置分段。
相关信息