AReallyMan 2011-05-08
最新几个月2台web服务器一台好了之后另一台出问题。
问题现象
client 端访问web应用慢紧接着访问不了。
环境:OS:CentOS5.3、CentOS5.4、 64Bit 网卡:Broadcom Corporation NetXtreme II BCM5709 系统自带的默认驱动bnx2:1.9.6
出现问题之后就查找var/log/message 其他日志都找不到异常情况。觉得有可能是网卡出了问题,晚上的时候把换个网口并做bonding 希望能解决问题。但是过一段时间之后问题依然存在。
最后找认识的人问,原来是centos 自带的驱动问题,下面是解决办法
解决措施:
方案一、系统启动内核加载时停用ACPI电源管理系统 修改相应的Grub.conf引导程序配置文件:(此方案个人未曾尝试过 因为毕竟是在线生产环境还是比较担心不靠谱)
vim /boot/grub/grub.conf
title CentOS (2.6.18-194.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00 acpi=off #内核引导行最后添加acpi=off关闭
initrd /initrd-2.6.18-194.el5.img
方案二、去除使用系统自带的网卡驱动,手动安装更新网卡驱动。(最后选择此方案进行修复待后续观察效果…)
1、先确认当前驱动版本:
modinfo bnx2 #或直接ethtool -i eth0 可以查看到固件版本
filename: /lib/modules/2.6.18-194.el5/kernel/drivers/net/bnx2.ko
version: 1.9.6
license: GPL
——————————————————–
ethtool -i eth0
driver: bnx2
version: 2.0.2
firmware-version: bc 4.6.4
bus-info: 0000:01:00.0
2、下载最新网卡驱动:http://www.broadcom.com/support/ethernet_nic/netxtremeii.php
3、安装更新驱动:
unzip linux-6.0.53.zip #解压驱动程序其中已包括源代码及rpm包
cd Server/Linxu/Driver
rpm -ivh netxtreme2-6.0.53-1.src.rpm #解压出包源码
1:netxtreme2 ########################################### [100%]
cd /usr/src/RedHat/SPECS/
rpmbuild -bb netxtreme2.spec #重建生产对应系统的rpm包
cd ../RPMS/x86_64/
rpm -ivh netxtreme2-6.0.53-1.x86_64.rpm #安装网卡驱动
4、网卡驱动切换:
rmmod bnx2
modprobe bnx2
注:正常情况网络会出现中断一会重新加载完成会自动恢复,如果出现异常未能自动恢复可能需要重启服务器使系统完成重新加载新网卡驱动
5、核实更新后当前驱动版本:
modinfo bnx2 #或直接ethtool -i eth0 可以查看到固件版本
filename: /lib/modules/2.6.18-194.el5/updates/bnx2.ko
version: 2.0.18c
license: GPL
ethtool -i eth0
driver: bnx2
version: 2.0.18c
firmware-version: bc 4.6.4
bus-info: 0000:01:00.0
网卡升级之后,只能看看升级驱动之后的效果。