我目前正在testingVMware NSXnetworking环境并遇到了一些麻烦。
我的环境是:
- 具有3个主机和NSX组件的pipe理集群位于2个专用主机上
- 计算2个主机的集群
- 单个1Gbps交换机
- vSphere版本6.0和NSX版本6.2
- 每个用于pipe理和iSCSI的所有主机(VLAN标记)
- 每个用于Transitnetworking的主机都有一个专用的UTP线路(用于VMstream量)
- 每个外部networkingpipe理主机一个专用的UTP线路
当Host H上的VM V通过NSXnetworking向Host I上的VM W发送数据时,发生严重的传输。 我在下面testing了很多情况:
有问题的案例:
V在单个会话中发送大约20MB到W :大约19MB的重传 V在单个会话中发送大约50MB到W :仅19MB的重传 V在30个并发会话中向W发送约2MB:随机位置的重传。 当发现这种情况时,我发现从H的vmnic (上行链路)的数据包转储发现一些数据包顺序不匹配(可能是重传的原因),并且延迟的数据包是uniq(以前不在转储中),但是从vDS下行转移到VM V或V sfw ,它们发生两次(原始数据包和重新发送的数据包)。 所以我认为,问题是在发送方堆栈上丢失了一些数据包,特别是在VM V和Host H的物理网卡之间。
为了将数据path/堆栈分成两个扇区并独立检查,我在同一主机H上testing了与另一个目标VM X相同的情况。 然后我得到干净的转储,我发现同一主机上的虚拟机之间没有重传问题。 (所以我认为,vDS本身和以上都没有错误点。)
接下来,我testing了下面的案例来检查问题是与大量数据stream量还是过滤和/或封装有关:
Network I/O Control启用相同的testing:同样的问题 Network I/O Control :一些差异相同的问题。 NI/OC Limit throuput:同样的问题 TSO相同的testing禁用V (e1000驱动程序)的vnic :同样的问题 vDS MTU 9000相同的testing:同样的问题与更多的问题 一些不同的事情是:
当启用Network I/O Control ,首先RTT在再传输之前增加,然后在重传完成之后, RTT值处于稳定范围内。
但是,当Network I/O Control被禁用时,在传输之后的RTT也像启动一样再次启动。
一个奇怪的是,虽然我把MTU设置为9000,但是embeddedVxLAN包的UTP包的大小在1600以下,所以MTU 9000的影响不受影响。
我有麻烦了 我能得到一些帮助吗? 谢谢。
编辑—
如果虚拟机处于正常状态,禁用NSX ,则vDS一切正常。
编辑*在OpenvSwitch有没有类似的问题?