今天折腾了两个多少时,以后还是直接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实际上已经不存在了,所以出现标题所示的错误。