首页 >> 技术文章 >> 详细内容
IBM和Dell服务器网卡驱动升级解决掉包、断网现象

系统:CentOS 6 X86_64、RHEL 5 X86_64
硬件:IBM X3650、Dell R610、R710、R720等系列服务器
通过升级系统自带网卡驱动程序到最新版本,可以解决当网卡流量过大时,出现掉包、断网现象。

已确认问题:
RHEL 5.3/5.4 自带的Broadcom NetXtreme II BCM5709 网卡驱动有BUG,涉及到 ACPI 电源管理的问题。所以当网卡在正常工作的时候,会被 ACPI 误以为他闲着,从而把它给关闭掉。”
“每次出现这个情况,只需要 service network restart  或者 ifdown/ifup ethX (对于被关闭的网卡端口) 就可以恢复正常。”

注:查看服务器使用的网卡:

[root@cache52 tmp]# lspci
0b:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
0b:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)

IBM服务器解决方案

1)第一种相对简单,就是在Linux内核中禁用 ACPI 电源管理系统。

vi /boot/grub/grub.conf
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet acpi=off
    initrd /initrd-2.6.18-164.el5.img


2)另外一种方法就是升级网卡驱动。

当时IBM官方网站的最新版本是 1.9.20b,下载地址:
http://www-947.ibm.com/systems/support/supportsite.wss/docdisplay?lndocid=MIGR-5073130&brandind=5000008

[root@cache52 bnx2]# tar zxvf brcm_dd_nic_netxtreme2-1.9.20b_1.50.13_rhel5_32-64.tgz
[root@cache52 bnx2]# nohup ./install.sh --update --override &
[root@cache52 bnx2]# tail nohup.out

        Drivers will be installed/migrated to 2.6.18-164 version
----------------------------------------------------------------------
Checking kmod-brcm-netxtreme2-5.0.17-1.x86_64.rpm
......
----------------------------------------------------------------------
kmod-brcm-netxtreme2-5.0.17-1.x86_64.rpm installed successfully
SUCCESS


查看升级后的模块信息:

[root@cache52 brcm-netxtreme2]# modinfo bnx2
filename:       /lib/modules/2.6.18-164.el5/weak-updates/brcm-netxtreme2/bnx2.ko
version:        1.9.20b
license:        GPL
description:    Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver
...


RHEL5.4 X64 系统自带的版本:

[root@cache50 ~]# modinfo bnx2
filename:       /lib/modules/2.6.18-164.el5/kernel/drivers/net/bnx2.ko
version:        1.9.3
license:        GPL
description:    Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver
...


3)我升级了,网卡不通的问题基本不出现了,但有时还是有Drop包问题,可以尝试调整网卡ring缓冲区参数。


[root@cache54 /]# ethtool -G eth1 rx 1024
[root@cache54 /]# ethtool -g eth1       
Ring parameters for eth1:
Pre-set maximums:
RX:             4080表示最大可调到4080)
RX Mini:        0
RX Jumbo:       16320
TX:             255
Current hardware settings:
RX:             1024默认255,我们调到了1024)
RX Mini:        0
RX Jumbo:       0
TX:             255
[root@cache54 /]#


DELL系列服务器解决方案

1.查看当前网卡类型

# /sbin/lspci |grep Ethernet

02:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
02:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
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)

2.查看网卡驱动模块

# cat /etc/modprobe.conf|grep eth
alias eth0 bnx2    #–>网卡模块为bnx2
alias eth1 bnx2
alias eth2 bnx2
alias eth3 bnx2

3.查看网卡驱动当前版本

# modinfo bnx2
filename:       /lib/modules/2.6.18-238.el5/kernel/drivers/net/bnx2.ko
version:        2.0.8-rh     #–>现有驱动的版本
license:        GPL
description:    Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver #–>网卡型号
author:         Michael Chan 
srcversion:     C7F6CA68A2BE2D1974E1D05
alias:          pci:v000014E4d0000163Csv*sd*bc*sc*i*
alias:          pci:v000014E4d0000163Bsv*sd*bc*sc*i*
alias:          pci:v000014E4d0000163Asv*sd*bc*sc*i*
alias:          pci:v000014E4d00001639sv*sd*bc*sc*i*
alias:          pci:v000014E4d000016ACsv*sd*bc*sc*i*
alias:          pci:v000014E4d000016AAsv*sd*bc*sc*i*
alias:          pci:v000014E4d000016AAsv0000103Csd00003102bc*sc*i*
alias:          pci:v000014E4d0000164Csv*sd*bc*sc*i*
alias:          pci:v000014E4d0000164Asv*sd*bc*sc*i*
alias:          pci:v000014E4d0000164Asv0000103Csd00003106bc*sc*i*
alias:          pci:v000014E4d0000164Asv0000103Csd00003101bc*sc*i*
depends:
vermagic:       2.6.18-238.el5 SMP mod_unload gcc-4.1
parm:           disable_msi:Disable Message Signaled Interrupt (MSI) (int)
parm:           enable_entropy:Allow bnx2 to populate the /dev/random entropy pool (int)
module_sig:     883f3504de5f22f43e909ab54b946c11240a909e2fda20a05b43ed30218e26f5efa0af241d6e29a009f45d50b4ccf2c77c0819974b1d3f8f51fca9be2

4.下载最新网卡驱动程序
到以下链接,根据查询到的网卡型号下载最新的驱动程序:

http://zh-cn.broadcom.com/support/ethernet_nic/downloaddrivers.php

5.驱动程序安装

unzip linux-7.2.20.zip
cd Server/Linux/Driver/
rpm -ivh netxtreme2-7.2.20-1.src.rpm
cd /usr/src/redhat/SPECS/
rpmbuild -bb netxtreme2.spec
cd ../RPMS/x86_64/
rpm -ivh netxtreme2-7.2.20-1.x86_64.rpm

6.加载最新驱动模块

#vi change.sh
rmmod bnx2
modprobe bnx2

执行脚本:

sh change.sh

7.查看最新驱动版本

#modinfo bnx2
filename:       /lib/modules/2.6.18-238.el5/updates/bnx2.ko
version:        2.2.1j   #–>新版驱动程序版本号
license:        GPL
description:    Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver
author:         Michael Chan 
srcversion:     92BB1824D1695C4AE860E5F
alias:          pci:v000014E4d0000163Csv*sd*bc*sc*i*
alias:          pci:v000014E4d0000163Bsv*sd*bc*sc*i*
alias:          pci:v000014E4d0000163Asv*sd*bc*sc*i*
alias:          pci:v000014E4d00001639sv*sd*bc*sc*i*
alias:          pci:v000014E4d000016ACsv*sd*bc*sc*i*
alias:          pci:v000014E4d000016AAsv*sd*bc*sc*i*
alias:          pci:v000014E4d000016AAsv0000103Csd00003102bc*sc*i*
alias:          pci:v000014E4d0000164Csv*sd*bc*sc*i*
alias:          pci:v000014E4d0000164Asv*sd*bc*sc*i*
alias:          pci:v000014E4d0000164Asv0000103Csd00003106bc*sc*i*
alias:          pci:v000014E4d0000164Asv0000103Csd00003101bc*sc*i*
depends:
vermagic:       2.6.18-238.el5 SMP mod_unload gcc-4.1
parm:           disable_msi:Disable Message Signaled Interrupt (MSI) (int)
parm:           stop_on_tx_timeout:For debugging purposes, prevent a chip  reset when a tx timeout occurs (int)

如果没有成功,重新启动下服务器;

8.卸载最新驱动,还原到以前的驱动
如果安装的最新驱动程序有问题,怎么卸载?

#rpm -e netxtreme2-7.2.20-1

南京服务器托管 | 南京服务器租用 | 南京主机托管 | 南京主机租用 | 南京华昊数据 | www.467.cn |
TEL:400-025-9-467  025-58633651 QQ:23190019

发布者:admin 发布时间:2014/6/14 阅读:4995

Baidu
Copyright © 2002-2021 467.Cn All rights reserved    南京华昊网络技术有限公司    版权所有
备案序号:苏ICP备13052121号    ISP经营许可证:苏B2-20080166    ICP/SP经营许可证:苏B2-20130350      苏公网安备 32011102010099号
地址:南京市江北新区大桥北路77号电信大楼5楼    电话:025-58633651(8线)  13913852884  传真:025-58497310    E-mail:467cn@163.com    邮编:210032
网址:Www.467.Cn    QQ在线支持:点击这里给我发消息 点击这里给我发消息