银河麒麟服务器系统中intel-x710网卡丢包问题

一 系统环境

[root@localhost ~]# nkvers 
############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Sword)

Kernel:
4.19.90-24.4.v2101.ky10.x86_64

Build:
Kylin Linux Advanced Server
release V10 (SP2) /(Sword)-x86_64-Build09/20210524
#################################################

服务器的网卡型号:INTEL X710
网卡使用的驱动版本:操作系统自带2.3.2-k

二 问题描述

问题现象一:生产环境的物理服务器开机运行一段时间后,系统下执行命令netstat -in出现bond1的 RX-DRP数值不断升高,担心对业务有影响。目前现场人员已经更换网卡和升级网卡驱动以后依然存在该情况。

问题现象二:网卡intel x710收包丢包,发包正常。博通网卡正常。

三 问题分析过程

3.1 查看网卡配置文件
# cat ifcfg-bond1
DEVICE=bond1
BOOTPROTO=none
ONBOOT=yes
IPV6INIT=no
TYPE=Ethernet
PEERDNS=yes
USERCTL=n0
IPADDR=xxx.xxx.xxx.xxx
NETMASK=255.255.255.0
GATEWAY=xxx.xxx.xxx.xxx
BONDING_OPTS="mode=1 miimon=100"

# cat ifcfg-p2p1
DEVICE=p2p1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
IPV6INIT=no
TYPE=Ethernet
PEERDNS=yes
USERCTL=no

# cat ifcfg-p3p1
DEVICE=p3p1
BOOTPROTO=none
MASTER=bond1
SLAVE=yes
ONBOOT=yes
IPV6INIT=no
TYPE=Ethernet
PEERDNS=yes
USERCTL=no
3.2 netstat -ni查看丢包和重传

netstat -ni 查看现场问题机器,RX-DRP的数值方面,有一组网卡值为非0,存在丢包的现象
正常如下:

[root@localhost ~]# netstat -ni
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500     1465      0      0 0          1110      0      0      0 BMRU
lo              65536   212363      0      0 0        212363      0      0      0 LRU
3.3 使用ethtool -S {网卡名}查看drop

使用ethtool -S {网卡名},查看rx_dropped的数量

3.4 使用sar -n DEV查看丢包情况

查看rxdrop/s值是否为0,如果为0表示无丢包,如果非0表述存在丢包。

3.5 使用sar -n ETCP 1查看重传情况

查看retrans/s数值是否为0,如果为0表示无重传,如果非0表示存在重传。

3.6 查看/proc/net/snmp中,tcp和udp的重传情况
[root@localhost ~]# cat /proc/net/snmp
Ip: Forwarding DefaultTTL InReceives InHdrErrors InAddrErrors ForwDatagrams InUnknownProtos InDiscards InDelivers OutRequests OutDiscards OutNoRoutes ReasmTimeout ReasmReqds ReasmOKs ReasmFails FragOKs FragFails FragCreates
Ip: 2 64 225567 0 3 0 0 0 225460 224834 12 0 0 0 0 0 0 0 0
Icmp: InMsgs InErrors InCsumErrors InDestUnreachs InTimeExcds InParmProbs InSrcQuenchs InRedirects InEchos InEchoReps InTimestamps InTimestampReps InAddrMasks InAddrMaskReps OutMsgs OutErrors OutDestUnreachs OutTimeExcds OutParmProbs OutSrcQuenchs OutRedirects OutEchos OutEchoReps OutTimestamps OutTimestampReps OutAddrMasks OutAddrMaskReps
Icmp: 19 0 0 18 0 0 0 0 1 0 0 0 0 0 61 0 60 0 0 0 0 0 1 0 0 0 0
IcmpMsg: InType3 InType8 OutType0 OutType3
IcmpMsg: 18 1 1 60
Tcp: RtoAlgorithm RtoMin RtoMax MaxConn ActiveOpens PassiveOpens AttemptFails EstabResets CurrEstab InSegs OutSegs RetransSegs InErrs OutRsts InCsumErrors
Tcp: 1 200 120000 -1 6152 4149 1995 2952 33 229308 228559 0 0 3893 0
Udp: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors InCsumErrors IgnoredMulti
Udp: 100 19 0 196 0 4 0 0
UdpLite: InDatagrams NoPorts InErrors OutDatagrams RcvbufErrors SndbufErrors InCsumErrors IgnoredMulti
UdpLite: 0 0 0 0 0 0 0 0
3.7 查看查看/proc/net/udp中,udp的丢包情况
[root@localhost ~]# cat /proc/net/udp
  sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode ref pointer drops             
   76: 00000000:0044 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 126177 2 000000006a4fbf90 0        
  119: 00000000:006F 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 24464 2 0000000026c71e42 0         
  331: 0100007F:0143 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 27170 2 00000000bbb90c01 0         
3.8 通过tcpdump抓包进行分析
tcpdump -i 网卡名 -e|grep -v -E 'ARP|IP|802.1Q|802.1AD'

四 解决方法

4.1 建议不要升级网卡驱动;
4.2 调整ringbuffer,lldp,tso
(1)将网卡的ringbuffer调大
ethtool -G {网卡名} tx 4096 rx 4096

(2)关闭 lldp
ethtool --set-priv-flags {网卡名} disable-fw-lldp on

(3)关闭tso
ethtool -K {网卡名} tso off

#一般都是一块网卡两个网口,所以两个网口的设备都要改,例如p2p1,p3p1

LLDP (Link Layer Discovery Protocol,链路层发现协议)提供了一种标准的链路层发现方式,可以将本端设备的的主要能力、管理地址、设备标识、接口标识等信息组织成不同的TLV(Type/Length/alue),并封装在LLDPDU(Link Layer Discovery Protocol
Data Unit,链路层发现协议数据单元)中发布给与自己直连的邻居,邻居收到这些信息后将其以标准MIB(ManagementInformation Base,管理信息库)的形式保存起来,以供网络管理系统查询及判断链路的通信状况。

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值