进行虚拟机的软拷贝和硬拷贝,或直接从一台机器上拷贝虚拟机硬盘文件到另一台机子的虚拟机上时,发现通过修改/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=”eth0″上面的ATTR{address}==”00:19:b9:52:04:3d”匹配的就是机器网卡的MAC地址,显然这里填写的应该是拷贝的那台机器上的MAC地址,而不是当前机器的网卡MAC地址。研究:
源虚拟机的persitent文件
目标虚拟机persitent文件
目标虚拟机network配置
结论:
方法一:
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