某局点2288V3服务器出现网卡丢包问题处理案例

某局点2288V3服务器出现网卡丢包问题处理案例

发布时间: 2018-05-28 | 浏览次数: 9201 | 下载次数: 16 | 作者: s00505091 | 文档编号: EKB1001622131

目录

问题描述告警信息处理过程根因解决方案建议与总结

问题描述

局点使用多台RH2288V3服务器,部署了华为大数据平台,通过fusionInsightmanager大数据管理界面发现一直上报网络丢包告警,业务侧反馈数据查询和写入时延较大;

告警信息

在大数据管理界面上持续上报网络丢包告警;

处理过程

从收集的信息来看万兆网卡丢包统计如下:

eth2 Link encap:Ethernet HWaddr E4:A8:B6:97:A2:CE

​ UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1

​ RX packets:22311179313 errors:0 dropped:212932 overruns:0 frame:0

​ TX packets:19863061884 errors:0 dropped:0 overruns:0 carrier:0

​ collisions:0 txqueuelen:1000

​ RX bytes:49594989710939 (45.1 TiB) TX bytes:27686963916333 (25.1 TiB)

eth3 Link encap:Ethernet HWaddr E4:A8:B6:97:A2:CE

​ UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1

​ RX packets:46459354889 errors:0 dropped:312597 overruns:0 frame:0

​ TX packets:58374998148 errors:0 dropped:0 overruns:0 carrier:0

​ collisions:0 txqueuelen:1000

​ RX bytes:95965226801957 (87.2 TiB) TX bytes:69855612439915 (63.5 TiB)

ethtool -S eth2

{

NIC statistics:

rx_packets: 22311179703

tx_packets: 19863062276

rx_bytes: 49594989747075

tx_bytes: 27686963955170

rx_pkts_nic: 35662916328

tx_pkts_nic: 19863062274

rx_bytes_nic: 50620484550566

tx_bytes_nic: 27766799456380

lsc_int: 9

tx_busy: 0

non_eop_descs: 20975198746

rx_errors: 0

tx_errors: 0

rx_dropped: 0

tx_dropped: 0

multicast: 1091666

broadcast: 937755

rx_no_buffer_count: 0

collisions: 0

rx_over_errors: 0

rx_crc_errors: 0

rx_frame_errors: 0

hw_rsc_aggregated: 18940077554

hw_rsc_flushed: 5588340927

fdir_match: 21123563285

fdir_miss: 18307510764

fdir_overflow: 58857

rx_fifo_errors: 0

rx_missed_errors: 212932

ethtool -S eth3

{

NIC statistics:

rx_packets: 46459355292

tx_packets: 58374998542

rx_bytes: 95965226840776

tx_bytes: 69855612477675

rx_pkts_nic: 58927970523

tx_pkts_nic: 58374998539

rx_bytes_nic: 97025415708655

tx_bytes_nic: 70089871434535

lsc_int: 9

tx_busy: 0

non_eop_descs: 40836101363

rx_errors: 0

tx_errors: 0

rx_dropped: 0

tx_dropped: 0

multicast: 1091738

broadcast: 5089745

rx_no_buffer_count: 0

collisions: 0

rx_over_errors: 0

rx_crc_errors: 0

rx_frame_errors: 0

hw_rsc_aggregated: 20910806075

hw_rsc_flushed: 8442190819

fdir_match: 52579073218

fdir_miss: 6482918673

fdir_overflow: 116389

rx_fifo_errors: 0

rx_missed_errors: 312597

总体丢包在十万分之一以下,以后端实验室标准属于大压力下正常丢包情况,且丢包类型都为rx_missed_errors,是CPU处理不过来DMA中的ring buffer缓存报文导致的丢包,网卡硬件和网络协议栈层面没有异常。

同时,现场服务器的操作系统版本为RHEL6.5原生未升级版本:

Kernel /boot/vmlinuz-**2.6.32-431.**el6.x86_64 ro root=UUID=4646c097-2af0-44d5-9a1d-3c3c9a54f353 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

其bonding模块有影响性能的缺陷,参考如下红帽官网链接:

https://access.redhat.com/solutions/631123

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TXae8V7f-1678370133742)(https://download.huawei.com/mdl/image/download?uuid=d8482a023d14470ab104d0dd41633667)]

综上所述,现场网口丢包类型为CPU无法及时处理内存DMA区域中报文导致;当前操作系统内核网卡bonding模块的缺陷,建议升级操作系统内核并进行网卡调优。

根因

现场网口丢包类型为CPU无法及时处理内存DMA区域中报文导致;当前操作系统内核网卡bonding模块的缺陷,建议升级操作系统内核并进行网卡调优;

解决方案

1、升级Redhat操作系统内核至2.6.32-431.11.2.el6或者以上版本,消除负面影响网卡性能因素;

2、将网卡驱动更新为华为support官网发布的网卡驱动(原生驱动不支持性能调优,且性能较低,不支持设置RSS),设置网卡RSS参数,使得网卡的各个中断队列处理能够均分在每一个CPU核上去执行。根据日志,现网服务器CPU型号为E5-2618L v3,开启了超线程之后为16核,因此,可以设置RSS参数为16。

用新的RSS参数加载驱动并生效,以主机配置4个Intel 82599万兆网口为例,在进行此步操作前请先暂停业务和网络服务

1、 rmmod ixgbe /卸载旧驱动/

2、 modprobe ixgbe RSS=16,16,16,16

3、 执行dmesg | grep –i tx 查看是否有类似如下回显,确认所有万兆网口队列深度已改成16:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z5Xqf4JS-1678370133742)(https://download.huawei.com/mdl/image/download?uuid=6e1603f6e7d649c88f6b9793e5206d58)]

4、 执行service network restart将所有网口up起来, 以二张双口万兆网卡端口号为eth0~eth3为例:

输入ethtool -G eth0 tx 1024

​ ethtool -G eth0 rx 1024

​ ethtool -G eth1 tx 1024

​ ethtool -G eth1 rx 1024

ethtool -G eth2 tx 1024

​ ethtool -G eth2 rx 1024

​ ethtool -G eth3 tx 1024

​ ethtool -G eth3 rx 1024

统一修改ring buffer深度为1024,该命令立即生效,无需重启系统或网络服务。

5、 恢复业务

6、 参考/proc/interrupts文件中的信息,可以进一步根据新的网口中断情况进行网卡中断绑定操作,将各网卡发出的中断通过CPU绑定手段精确绑定到挂载该网卡资源的CPU上,以两张双口万兆网卡分别插在RH5885 V3的Slot1和Slot2,且端口号为eth0~eth3为例, eth0~eth3可全部绑定在node1(CPU2)下属的CPU线程8-15,40-47上,此操作不会中断网络;具体绑定操作方法参考附录二。此外也可以直接使用操作系统自带的irqbalance服务自动分配中断所属CPU(前提是RSS参数已经做过调整)。

7、 在/etc/modprobe.conf中追加options ixgbe RSS=16,16,16,16

这样服务器重启后配置依然生效。

建议与总结

1、 建议定期巡检服务器硬件和大数据软件平台,如果发现有异常告警及时处理;

eth3可全部绑定在node1(CPU2)下属的CPU线程8-15,40-47上,此操作不会中断网络;具体绑定操作方法参考附录二。此外也可以直接使用操作系统自带的irqbalance服务自动分配中断所属CPU(前提是RSS参数已经做过调整)。

7、 在/etc/modprobe.conf中追加options ixgbe RSS=16,16,16,16

这样服务器重启后配置依然生效。

建议与总结

1、 建议定期巡检服务器硬件和大数据软件平台,如果发现有异常告警及时处理;

2、 网络丢包类问题可以尝试从网卡参数调优这个角度着手;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值