1,近日,拿到同事通过克隆做的一个镜像,上传到云平台,开机后加载网卡,发现eth0获取不到IP,重启network服务

service network restart 
Shutting downloopback insterface:                                                           [  OK  ]
Bringing uploopback insterface:                                                             [  OK  ]
Bringing upinterface eth0:  Device eth0 does notseem to be present,delaying initialization. [FAILED]

2,经过多方查找,是因为克隆时把之前的虚拟机MAC地址信息拷贝到镜像中的网络配置信息中了,存在于eth0网卡中,并且和udev的网卡配置文件eth0字段的MAC关联,从而导致现在用镜像创建云主机开机,udev自动生成一个新的MAC地址后,发现eth0已经存在克隆的MAC信息,所以将新生成的MAC命名为eth1了,由于该eth0的MAC信息为克隆过来的,udev生成的MAC没有同步到eth0网卡的配置里,所以系统认为eth0的MAC信息不正确,因此会启动失败。


解决办法:

 (1)将eth0网卡配置信息中MAC改为udev新生成的MAC地址,并且删掉udev网卡信息配置文件中eth0字段,将eth1改成eth0,保存后重启系统。

cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
#net device () (custom name provided by external tool)
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”,ATTR{address}==”08:00:27:16:31:11″, ATTR{type}==”1″, KERNEL==”eth*”,NAME=”eth0″
#net device ()
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”,ATTR{address}==”08:00:27:32:66:63″, ATTR{type}==”1″, KERNEL==”eth*”,NAME=”eth1″
vim /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR=08:00:27:16:31:11 #修改为eth1的HWADDR=08:00:27:32:66:63
vim /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”,ATTR{address}==”08:00:27:32:66:63″, ATTR{type}==”1″, KERNEL==”eth*”,NAME=”eth0″
#将eth0那一行删除,然后把eth1改为eth0

 (2)直接删除/etc/udev/rules.d/70-persistent-net.rules文件(删除该文件不会影响系统崩溃,系统重启后会自动生成),然后删除/etc/sysconfig/network-scripts/ifcfg-eth0HWADDR和UUID两行,关机重启。