进行虚拟机的软拷贝和硬拷贝,或直接从一台机器上拷贝虚拟机硬盘文件到另一台机子的虚拟机上时,发现通过修改/etc/network/interfaces配置的IP没用,输入ifconfig,发现根本就没有eth0.

其原因是udev搞的鬼,udev在/etc/udev/rules.d/下面搞了一个持久命名规则(persistent-net.rules),对于网卡的持久命令,就采取了MAC地址的匹配方式,也就是类似下面这样:
SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”00:19:b9:52:04:3d”, ATTR{type}==”1″, KERNEL==”eth*”, NAME=”et
h0″
上面的ATTR{address}==”00:19:b9:52:04:3d”匹配的就是机器网卡的MAC地址,显然这里填写的应该是拷贝的那台机器上的MAC地址,而不是当前机器的网卡MAC地址。

研究:

源虚拟机的persitent文件

虚拟中没有eth0_mac地址

目标虚拟机persitent文件

虚拟中没有eth0_3d_02

目标虚拟机network配置

虚拟中没有eth0_重启_03

 结论:

方法一:

vi /etc/udev/rules.d/70-persistent-net.rules

删除eth0行,改eth1为eth0

vi /etc/sysconfig/network-scripts/ifcfg-eth0

删除hwaddr行

重启

方法二:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

删除hwaddr行

改eth0为eth1

重启service