今天折腾了两个多少时,之后仍是直接GOOGLE出错信息,这样更有效地找到解决问题的头绪。网络
测试环境为Centos6.3,估计其它版本的CentOS或Redhat解决办法一致(未验证)。
故障背景:
从VirtualBox中克隆(clone)了一个CentOS 6的虚拟机,启动以后发现网卡没有启动。因而重启一下network服务,发现提示错误信息“Device eth0 does not seem to be present, delaying initialization.”
解决方法:
方法一:删除 /etc/udev/rules.d/70-persistent-net.rules 后重启机器,简单方便;
方法二:
1) 必须确认克隆(clone)的CentOS 6的各个网卡的MAC是否有重复或与其它虚拟主机重复,最好利用其网卡工具刷新一下,生成新的MAC。使用vi命令,打开/etc/sysconfig/network-scripts/下的ifcfg-eth*(*表明0~n个网卡序号),把这个新的MAC修改进去。
2)修改 70-persistent-net.rules 文件,删除原来的eth0那一段,把后增长的eth1改成eth0。若是有多块网卡以此类推;若是只有一行,则把“eth1”改成eth0便可。
3) 使用 start_udev 命令从新检测硬件;
4)用 service network restart 命令重启下网络。
故障缘由
70-persistent-net.rules这个文件肯定了网卡与MAC地址的绑定,克隆了一个新主机以后,系统发现MAC地址发生了变化,就认为是新增了一块网卡,因此就把它标记为eth1追加进70-persistent-net.rules这个文件,但与母机MAC地址绑定的eth0实际上已经不存在了,因此出现标题所示的错误。