bcm 5709网卡驱动问题引发的线上问题

今年新上了一批机器用的是bcm 5709的网卡,由于使用的OS版本比较老,带的驱动bug比较多造成线上问题频繁。检查了一下
[text]
# lspci | grep -i Ethernet
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
03:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
04:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
04:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
[/text]
出问题的时候,都会显示有丢包
[text]
eth1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:90203138365 errors:0 dropped:10164 overruns:0 frame:0
TX packets:45099041450 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:51723750152131 (47.0 TiB) TX bytes:25022940331121 (22.7 TiB)
Interrupt:170 Memory:f2000000-f2012800

另外的机器:
eth1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
UP BROADCAST SLAVE MULTICAST MTU:1500 Metric:1
RX packets:440014 errors:0 dropped:381268 overruns:0 frame:0
TX packets:149 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:45635264 (43.5 MiB) TX bytes:102438 (100.0 KiB)
Interrupt:170 Memory:f2000000-f2012800

[/text]
每个机器其实都是有2张网卡做bond的,我只是贴的一个网卡的信息。网上搜了一下,有的说是rx的设置问题,比如这里。然后我就改了一下rx的大小,查看配置如下
# ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX: 1020
RX Mini: 0
RX Jumbo: 4080
TX: 255
Current hardware settings:
RX: 255
RX Mini: 0
RX Jumbo: 0
TX: 255

# ethtool -G eth0 rx 1020

修改配置
# ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX: 1020
RX Mini: 0
RX Jumbo: 4080
TX: 255
Current hardware settings:
RX: 1020
RX Mini: 0
RX Jumbo: 0
TX: 255

但是这样修改后发现并没有缓解,后来继续搜了一下,发现是固件的bug。后来把RHEL的内核更新到最新版,问题得到了修复。

PS:
其实我一直不喜欢抱死在一个老树上,有bug的东西该升级就升级,不会做无效的推脱。现在线上有的机器就是一周挂几次,负责的人每天都说在排查。但是实际上又不做任何行动。

此条目发表在OS分类目录。将固定链接加入收藏夹。

发表回复