RH2285服务器运行过程中不定期的出现网口不通导致业务中断

发布时间:  2014-09-17 浏览次数:  343 下载次数:  0
问题描述
1、使用两台RH2285服务器安装Red Hat 5.4(内核2.6.18-164.e15)64位操作系统,安装oracle RAC 11G R2 作为数据库服务器。
2、在业务运行过程中,会不定期的出现 网卡端口不能ping通 ,而导致 业务中断 ,重新启动操作系统后又恢复正常。
告警信息
处理过程
1、关闭BIOS的P状态和C状态(操作步骤如下):
(1)在系统POST(Power-on Self Test)阶段按“Delete”进入BIOS。
(2)选择“Advanced”→“CPU Configuration”,在CPU Configuration界面最下面将“Intel ® SpeedStep(tm) tech”(即P状态)和“Intel ® C-STATE tech”(即C状态)均设置为“Disabled” (请参考图1-1和图1-2所示),修改之后按下F10保存退出。


                                                                   
  图1-1 P/C状态开启
 


                                                                                  图1-2 P/C状态关闭

2、禁用Broadcom 5709网卡驱动bnx2的MSI功能,操作步骤如下。
(1)登录服务器操作系统打开终端,输入“vi /etc/modprobe.conf”进入文本编辑模式。
(2)在文本结尾处添加一行“options bnx2 disable_msi=1”(如图1-3所示),保存退出并重启系统。
图1-3 修改驱动配置文件


(3)系统重启后在终端输入“grep –i eth /proc/interrupts”,通过返回结果查看MSI是否已被禁掉(MSI禁用后将不会显示PCI-MSI-X的字样),如图1-4和图1-5所示。


图1-4 未禁用MSI

 
图1-5 已禁用MSI
 
根因
1、Red Hat 在5.3及以上版本在对Broadcom Corporation NetXtreme II BCM 5709网卡的驱动bnx2支持上存在一个兼容性bug,根据这个问题首先查看网卡类型是否为Broadcom Corporation NetXtreme II BCM 5709,驱动是否bnx2,查看方法如下:
[root@rac2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet
DEVICE=eth0
BOOTPROTO=static
BROADCAST=172.28.251.255
HWADDR=FC:48:EF:2B:7C:20
IPADDR=172.28.251.242
NETMASK=255.255.255.0
NETWORK=172.28.251.0
ONBOOT=yes

[root@rac2 ~]# ethtool -i eth0
driver: bnx2  
version: 1.9.3 
firmware-version: 4.6.4
bus-info: 0000:01:00.0

2、Red Hat 5.3\5.4 自带的Broadcom Corporation NetXtreme II BCM 5709 网卡驱动有BUG,涉及到 ACPI 电源管理的问题,MSI(Message Signalled Interrupts)是一种APCI设备使用的中断机制,多用于网卡且不适用多核;MSI-X是MSI的提升版,开启网卡驱动的MSI-X功能可以提升网络性能,但是会对OS增加负荷,OS若是无法适应网卡运行状况,无法处理数据(尤其是异常大的流量),就会出现异常状况,关闭MSI-X功能之后网卡会以网卡的普通性能(IO-APIC-level)工作,就不会使OS负荷过重,从而避免发生异常。
建议与总结
1、如使用到RH2285和RH2285 V2服务器和需要安装Red Hat操作系统时,请先检查网卡类型与驱动、系统内核版本。
2、kernel-2.6.18-194.3.1.el5 版本以下的Redhat以及CentOS 操作系统,使用Broadcom   Corporation NetXtreme II BCM 5709网卡芯片的服务器上都会存在此问题。

END