分类: LINUX
2011-10-20 09:31:16
遇到很多次网络服务启动时提示:设备 eth0 似乎不在。将要推迟它的初始化,一直都没有解决办法,甚至原因都没有找到。
本次又是这种情况:
首先用户打电话说:因为断电导致机器重启,重启之后网络不通了。到机器控制台看,发现ip和网关都没有了。经过进一步确认,ifcfg- eth0/eth1的文件都已经没有了,但是有ifcfg-eth0.bak这样的备份文件。modprobe.conf中也没有eth0/eth1相应 行了,但是从modprobe.conf~中还可以看到原来的eth0用的bnx2模块。
先让用户将ifcfg-eth0.bak改成ifcfg-eth0,在modprobe.conf中添加对应的alias eth0 bnx2行,重启网络仍然提示进而通过lspci可以看到两块网卡“0b:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet”,先modprobe bnx2加载然后重启网络服务仍然找不到设备。查看hwconf文件,发现里面没有任何eth设备,重启kudzu服务让然是没有找到任何网卡。
最后通过脚本收集全部系统日志,从日志中发现一些有用的信息:每次加载网卡驱动时都有一个报错正和我想象的一样,断电5分钟再次启动系统,网络正常。
总结:因为突然断电造成网卡异常,这种异常lspci能看到网卡信息,但是网卡已经不工作了,而网卡状态灯却一切正常。系统启动的时候发现网卡没有 了,kudzu应该清理原有配置(也可能是人为清理的),所以系统中只看到ifcfg-eth0.bak这种备份文件,modprobe.conf中 eth相关行也删除了,hwconf中也没有eth设备。这个现象是正常的,如果当时断电5分钟再次重启,肯定kudzu重新扫描到新网卡,配置一下即 可。