获取验证码
vCenter性能图表观察虚拟机网络指标存在持续增长的drops(丢包)与retransmits(TCP重传),代表数据包无法正常收发,业务会出现卡顿、访问超时。核心成因分为虚拟层问题和物理层问题:虚拟网卡Ring Buffer缓冲区过小,突发流量造成队列溢出丢包;虚拟机网卡驱动老旧;端口组限速、网络拥塞;上行物理交换机存在拥塞、CRC错误。优先确认虚拟机使用VMXNET3高性能网卡,升级虚拟机内网卡驱动,合理调大收发Ring Buffer。
有VMware全系列产品官方资源和定制版资源需求的可以移步:
业务压力上涨后,应用服务器虚拟机网络重传持续走高,数据库访问频繁超时。一开始直接排查物理交换机,未发现端口报错,更换网线、光模块问题依旧。
1.1 初期无效排查操作
调整物理交换机队列调度、增加上行带宽,持续监控虚拟机drops指标没有改善;使用E1000老式网卡未做任何优化调整。
1.2 分层定位真实故障根因
虚拟机使用VMXNET3网卡,但默认Ring Buffer缓冲区容量偏小,流量高峰瞬间报文堆积,虚拟网卡队列溢出产生drops,继而触发TCP频繁重传。 现场验证修复:进入虚拟机操作系统调整VMXNET3网卡Ring Buffer参数,扩容收发缓冲区,drops与重传计数明显下降,业务恢复稳定。
1、Drops(虚拟网卡丢包)
虚拟机接收/发送缓冲区满载,新到达数据包没有队列空间存放,网卡直接丢弃报文。分为Rx Drops接收丢包、Tx Drops发送丢包。
2、Retransmits(TCP重传)
报文丢失后接收方无确认应答,发送端超时重新发包;大量重传进一步加剧网络负载,形成恶性循环。
3、故障分层划分
虚拟层:E1000老旧网卡、驱动老旧、Ring Buffer默认容量不足; 虚拟交换机:端口组流量限速、vDS上行链路过载; 物理层:交换机端口拥塞、缓冲区不足、光模块故障、链路错包。
1、第一步:确认虚拟网卡硬件类型
废弃E1000/E1000e模拟网卡,生产统一部署VMXNET3高性能虚拟网卡,模拟网卡缓冲区性能存在先天瓶颈。
2、第二步:检查虚拟机内部网卡驱动版本
Windows/Linux系统升级VMware Tools,保证VMXNET3驱动版本匹配ESXi版本,旧驱动存在缓冲区处理bug。
3、第三步:查看丢包类型,调整Ring Buffer
区分Rx丢包还是Tx丢包,对应调大接收、发送Ring Buffer队列长度,缓解突发流量冲击。
4、第四步:排查vSwitch/vDS虚拟网络
检查端口组是否配置带宽限制;查看分布式交换机上行链路负载,确认是否上行拥塞。
5、第五步:核查物理网络设备
登录物理交换机查看端口是否存在crc、input error、overrun,优化交换机队列调度机制。
| 故障现象 | 根因分析 | 标准解决方案 |
|---|---|---|
| 流量高峰期drops快速上涨,空闲时段指标恢复正常 | 虚拟网卡Ring Buffer过小,突发流量队列溢出 | 扩容VMXNET3网卡收发缓冲区大小 |
| 虚拟机使用E1000网卡,持续存在少量丢包 | 模拟网卡性能弱,缓冲区设计受限,不适合高流量业务 | 关机更换为VMXNET3网卡,重启虚拟机生效 |
| 虚拟机内部无丢包,vCenter图表显示大量drops | vDS上行链路拥塞,物理交换机端口队列溢出 | 增加上行链路数量,调整交换机QoS队列策略 |
| 调整Ring Buffer短暂好转,压力持续加大再次丢包 | 业务流量超出当前网络带宽上限,持续拥塞 | 扩容网络链路,优化业务流量调度,降低网络负载 |
| 多台虚拟机同时出现重传,单台无异常 | 汇聚层物理网络瓶颈,广播风暴或者上行带宽占满 | 排查物理交换机端口错误计数,优化网络架构 |
1. 误区:只要带宽足够就不会出现虚拟网卡丢包纠正:瞬时突发流量会打满网卡缓冲区,即便平均带宽充足依旧产生drops。
2. 误区:所有丢包问题都要先更换物理网线光模块纠正:优先排查虚拟网卡与缓冲区配置,大量场景故障点在虚拟化层而非物理链路。
3. 误区:Ring Buffer设置越大越好纠正:缓冲区过大会占用更多虚拟机内存,极端场景增加报文延迟,需要合理匹配业务。
4. 误区:少量drops计数增长可以直接忽略纠正:持续递增的丢包指标预示网络隐患,最终引发应用业务故障。
5. 误区VMware Tools正常运行,网卡驱动一定最新纠正:部分系统升级VMware Tools后网卡驱动不会自动更新,需要手动确认驱动版本。
网卡规范:生产业务虚拟机统一使用VMXNET3网卡,禁止长期使用E1000模拟网卡。
驱动规范:定期更新VMware Tools,保持VMXNET3驱动与ESXi版本兼容。
参数规范:数据库、流量采集等高负载虚拟机预设扩容网卡Ring Buffer。
监控规范:配置vCenter告警,监控虚拟机网卡drops、retransmits持续增长阈值。
排查规范:遵循先虚拟层、后物理层顺序定位网络丢包,避免盲目更换物理设备。