标签归档:CentOS

关于CentOS系统自带BCM 5709网卡驱动版本Bug问题

问题背景:

最近十天来连续两次遇到服务器网络出现“抽风式”故障—公网网络不定时突然自动down掉(如果要说有特别点最多就流量大点 但也并非常啊)无法连接,还好局域网网络正常服务器系统本身服务也没发现异常情况,也没查看到特别异常的log记录,都只能通过局域网服务连接执行service network restart重启网络服务才能恢复正常,觉得实在比较诡异。觉得怀疑会不会网卡有问题,后来同事提醒下进一步觉得应该是网卡驱动兼容性问题。
环境:OS:CentOS5.5 64Bit 网卡:Broadcom Corporation NetXtreme II BCM5709 系统自带的默认驱动bnx2:2.0.2

网上Google了下据说是RH系列相关系统自带的Broadcom NetXtreme II BCM 5709 驱动有BUG 涉及到关于ACPI电源管理的问题。这么一来网上肯定自然也有相应的修复办法(有人提问题最终肯定有答案,而且这有如电视剧里演的有案件最终肯定有结果不然不可能演)。故在自己的地方简单记录再次警惕自己下…

解决措施:

方案一、系统启动内核加载时停用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:        2.0.2
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、网卡驱动切换:

vim change_driver.sh
rmmod bnx2 
modprobe bnx2 
chmod 755 change_driver.sh
./change_driver.sh & #后台执行脚本
注:正常情况网络会出现中断一会重新加载完成会自动恢复,如果出现异常未能自动恢复可能需要重启服务器使系统完成重新加载新网卡驱动

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

至此,能做基本处理,对于自身环境后续就是还有待再继续观察验证是否是此问题,不定时问题是否还依旧。就比如同事后来置疑到固件版本还是没升级上来,还是4.6.4担心还会有问题。但因为对此情况网上貌似有人测试过单单升级固件版本还是不见效果(来源见参考链接2),故还是先更新驱动看看,真还是依旧有问题的话再找其他招数咯

参考链接:
http://www.ourlinux.net/2009/11/25/1136.html
http://www.bugx.org/136

实现本地Windows与虚拟机Centos间网络共享及SSH通信

一、Centos5.2安装后图形界面无法切换解决措施:

修改启动引导配置文件/etc/inittab

修改安装默认的启动模式将默认的init 3 修改为 init 5 模式

即将/etc/inittab文件中id:3:initdefauld: 这行中将 3->5 即改为:id:5:initdefauld:

这里主要涉及到关于linux引导启动模式共有六种,比较常见的就是init3对应的文本模式及init5对应的图形界面模式

安装以上方法处理对于有些虚拟机中linux的图形界面还是解决不了可能有必要进一步修改下图形界面配置文件:/etc/X11/xorg.conf文件其内容大致如下:

1

2# Xorg configuration created by pyxf86config

3

4 Section "ServerLayout"

5 Identifier "Default Layout"

6 Screen 0 "Screen0" 0 0

7 InputDevice "Keyboard0" "CoreKeyboard"

8 EndSection

9

10 Section "InputDevice"

11 Identifier "Keyboard0"

12 Driver "kbd"

13 Option "XkbModel" "pc105"

14 Option "XkbLayout" "us"

15 EndSection

16

17 Section "Device"

18 Identifier "Videocard0"

19 Driver "vmware"

20 EndSection

21

22 Section "Screen"

23 Identifier "Screen0"

24 Device "Videocard0"

25 DefaultDepth 24

26 SubSection "Display"

27 Viewport 0 0

28 Depth 24

29 EndSubSection

30 EndSection

31

将其中的

17 Section "Device"

18 Identifier "Videocard0"

19 Driver "vmware"

20 EndSection

修改为:

17 Section "Device"

18 Identifier "Videocard0"

19 Driver "vesa"

20 EndSection

最后重启下电脑 #reboot 如果默认进入的还是文本模式的话 在终端下输入运行:#startx 即可,祝你好运。。。。

二、关于通过ssh实现本地windowsXP跟虚拟机中的LINUX通信可能出现的问题

一方面是关于Linux系统ssh服务的启动及配置文件修改(比较简单):

先描述下可能会遇到的问题:在windows下使用vmware安装了个Centos系统,虚拟机网络使用NAT模式,在Centos可以直接上网,也可以在linux本机上ssh连接上,但是从windowsssh IP(虚拟机ip地址)却一直提示连接不上。配置过sshd-config文件最终还是搞不定(前提Centos系统中ssh服务是启动运行状态)

应该可以解决的方法:

首先在windows下下的网络连接中查看VMware Network Adapter VMnet1IP地址或者可以使用dos状态下使用网络命令ipconfig /all 可以查看到所有本机的网络状态,记下VMnet1IP地址;

其次将虚拟机中Centos系统IP设置为与VMnet1同一段的IP地址;接着安装SSH客户端工具putty或者SSH Scure File Transfer(主要推荐使用这两种)。

即使用NAT方式共享网络:

1、设置虚拟机CentOS的网络连接方式为NAT

2、开启VMware DHCP ServiceVMware NAT Service两个服务

3CentOS中网络设置为自动配置(DHCP)或者手动设置IPDNS

手动设置方法:

1XPipconfig,得到VMnet8IP192.168.93.1

2CentOS中设置网络IP192.168.93.X(X3-254,网上很多人说只能是128-254,自动分配时一般也是128,但经验证3-254都行,

DNS设置为192.168.93.2

提醒:

1、关闭掉CentOSwindows中系统的防火墙设置,关闭它或者打开22端口。

2、前提条件CentOSSSH服务已经安装并启动

3、要么统一是使用VMnet1网段或者VMnet8网段,主机和虚拟机网段要保持一致皆ok

另一方面关于虚拟机与主机共享网络的问题(主要部分):

直接使用桥接Bridged方式共享上网,这样处理使得不需要再进行啥特别的设置就可以实现直接通过宿主机windows下通过ssh软件与CentOS服务器通信

1、设置CentOS的网络连接方式为Bridged

2、共享ADSL连接

ADSL连接属性中选中“Internet连接共享,下拉列表中然后选择本地连接,系统会自动把本地连接设置为192.168.0.1

注意此设置会在断开连接并重启后才生效

3CentOS网络设置

IP:192.168.0.X

网关:192.268.0.1

DNS:192.168.0.1(系统->系统管理->网络->DNS)

三、SSH Secure软件实现本地windows与虚拟机linux的文件通信

关于SSH介绍:来自维基百科SSH

SSH Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group )所制定;SSH 为建立在应用层和传输层基础上的安全协议。传统的网络服务程序,如FTPPOPTelnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。而 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。透过 SSH 可以对所有传输的数据进行加密,也能够防止 DNS 欺骗和IP 欺骗。

SSH 之另一项优点为其传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替 Telnet,又可以为FTPPOP、甚至为 PPP 提供一个安全的通道

这里推荐的SSH客户端软件主要包括有SSH Secure File Transfer Client SSH Secure Shell Client sshsmall.jpg

今天被告知说公司使用的是Centos5.2系统作为服务器,所以自己使用网络安装个虚拟机算是熟悉下Centos系统吧,此篇文章只是个人的肤浅之说而已,不然之前都没使用过。。。基本有用也是用ubuntu linux系统。