EN 十大靠谱网赌软件加入我们
典型案例
您现在的位置:首页 > 典型案例
【十大棋牌网赌软件】私有云平台服务器网卡overrun丢包故障处理


一、故障描述

运营商客户反馈在DELL R730服务器中出现大量丢包,更换服务器与交换机端的光模块之后丢包现象依旧存在。

改1.png



二、故障分析

首先使用命令ethtool -S [物理网卡名] | grep crc 检查传输介质状态。

2.jpg

再使用ethtool -S [物理网卡名] | grep err 检查细节。


可以看见物理层面上的crc校验故障计数不存在,可以排除丢包问题由传输线缆、服务器交换机模块或者接口导致。

3.png

使用命令ifconfig [网卡名] 查看数据包收发状态总览。


可以看到收包的overruns计数很高。该计数说明报文在缓冲区已满但是内核没有及时处理,导致网卡直接丢弃报文。

使用cat /proc/net/dev | column -t命令检查详细的包数据。

4加.jpg

检查到fifo字段的计数不停增长。

当系统内核处理速度跟不上网卡收包速度时,驱动来不及分配缓冲区,NIC 接收到的数据包无法及时写到sk_buffer,就会产生堆积,当 NIC 内部缓冲区写满后,就会丢弃部分数据,引起丢包。这部分丢包为 rx fifo errors,在/proc/net/dev 中体现为 fifo 字段增长,在 ifconfig 中体现为 overruns 指标增长。

       由于该情况可能是cpu核心任务分配不均导致,客户方面运行了脚本检查cpu的状态与负载。

4.png

可以看到大部分核心负载很低,也没有产生cpu硬件故障导致的报错。

客户使用的linux Kernel版本为3.x,在4.11版本的kernel中会修正该问题。

6.jpg

由于服务器承载业务比较重要,暂时无法更新宿主系统的kernel,只能想其他办法暂时缓解问题。

 

三、故障处理

       经过讨论决定增加网卡的缓冲区来缓解这一问题。

使用命令ethtool -g [物理网卡名] 检查网卡当前缓冲区以及最高支持的缓冲区大小。

5.jpg

使用命令ethtool -G [网卡名] rx [缓冲区大小],

本次事例中将数值调成了网卡支持的最大值4078。

在后续的观察中客户反馈丢包现象大幅度减少,在虚拟机业务中感知不明显。

需要完全根除只能更新宿主系统kernel的版本。


 四、经验总结

服务器丢包故障排除的一些心得:

1、观察ifconfig下的计数

2、RX收包方向:

dropped:可能网络中存在环路导致设备收到超过最大处理量的数据包

overruns:可能由于应用层/系统核心/驱动导致的缓冲区数据处理不及时

如果dropped和overruns没有计数,则使用ethtool -S [网卡名] 检测crc校验计数情况。服务器网卡故障是极少出现的问题,当网卡出现损坏之后服务器BMC会出现提示网卡异常或服务器因为IERR故障导致宕机。

3、TX 传包方向:

overruns: TX方向的overruns有可能是负载均衡设备(或者Nginx)发生vip漂移导致,需要根据设备所处网络结构排障。


版权所有 十大棋牌网赌软件 备案号:京ICP备17074963号-1
技术支持:创世网络