V​M​w​a​r​e​克​隆​​后​L​i​n​u​x​网卡出错

之前在用虚拟机搭建Hadoop分布式系统的时候,发现克隆的网卡无法使用,后经搜索后,问题得到如下解决,特发出来,以供日后再用:

1 问题描述

VMware中克隆虚拟机是经常的事情,对于客户机是Winows的虚拟机直接克隆就可以使用。对于客户机是Linux的虚拟机克隆后会出现网络无法启动的问题。

使用service network start 命令会出现报错如下:

device eth0 does not seem to be present

2 原因分析

使用Vmware的克隆功能,会为新产生的虚拟机配置一个与原始虚拟机网卡MAC地址不同的网卡。对于CentOS这样的Linux系统,会把运行时的网卡MAC地址记入/etc/udev/rules.d/70-persistent-net.rules文件中。这样克隆好的新系统里也保存了这个记录。

当新系统启动时,由于vmware已经为其配置了不同的MAC地址,因此系统会在启动扫描硬件时把这个新的MAC地址的网卡当做是eth1,并且增加记入上述文件中。而此时配置文件里的/etc/sysconfig/network-scripts/ifcfg-eth0里记录的还是原来的MAC地址,而这个MAC地址在新系统里是不存在的,所以无法启动。

3解决办法

在新系统里,把rules文件里记录的老MAC对应的那个eth0一行删除掉,然后把新MAC对应的eth1的名字改为eth0。然后在ifcfg-eth0文件里把HDADDR的值改为新的MAC地址。

这样rules和ifcfg-eth0就彼此对应(rules里的eth0对应ifcfg-eth0文件名,rules里的mac对应ifcfg-eth0文件里的HDADDR)好了。此时需要重新启动系统一切就OK了。

相关推荐