未配置ifcfg文件导致Ifdown与ifup命令无法复位网卡

发布时间:  2014-09-19 浏览次数:  480 下载次数:  0
问题描述
某局点,网卡bond0与bond1绑定,执行命令“(bash -x /sbin/ifdown eth0 ;echo ---------; bash -x /sbin/ifup eth0) >>/tmp/log.txt 2>&1”来复位网卡eth0,并跟踪网卡启动过程,但是发现命令执行后使用ifconfig -a命令查看网卡eth0状态处于down的状态:

告警信息
处理过程
使用ifconfig eth0 down/up.
根因
1. 手动执行“ifconfig eth0 up”可以将eth0 UP起来,可以排除网卡无法UP的问题。
2. 再次执行“(bash -x /sbin/ifdown eth0 ;echo ---------; bash -x /sbin/ifup eth0) >>/tmp/log.txt 2>&1”,发现问题复现。
3. 从步骤2产生的log.txt分析,发现如下提示,即ifdown、ifup对网卡eth0进行操作时,会去读取网卡eth0的配置文件ifcfg-eth0,并根据配置文件对网卡状态进行设置

4. 经确认,局点操作系统中未对eth0进行单独配置ifcfg-eth0,所以无法通过ifup激活网卡eth0。
5. 通过查看messages日志,也报同样的报错“No configuration found for eth0”

建议与总结
ifdown和ifup是shell脚本,对网卡操作时会读取网卡配置文件ifcfg-eth N(N表示网卡编号,如0,1,2…)。ifconfig是二进制命令,对网卡操作时不会读取网卡配置文件,直接对硬件网卡进行操作。因此通过ifconfig eth0 up可以在不存在网卡配置文件ifcfg-eth0的情况下将eth0网口重新激活。
建议复位网卡的时候使用ifconfig ethN down/up,而不使用ifdown/ifup ethN。

END