在学习centos时候,我们通常会使用克隆(clone)功能克隆出多台虚拟机,克隆功能免去了我们多次安装操作系统的麻烦,但同时也给我们带来了一些问题,例如使用vmware的clone功能克隆出一台虚拟机后,网卡总是启动失败。我们使用ifconfig命令查看系统网卡信息,发现只有lo(local的缩写,本地回环接口),并没有我们经常使用的eth0网卡信息,如下图
ifconfig查看结果.png
使用ifconfig -a命令查询结果显示,我们的网卡名称为eth1,并不是我们常用的eth0
Paste_Image.png
问题原因
为什么不是eth0
在使用clone功能克隆虚拟机时,clone会将原有虚拟机(虚拟机A)的所有信息拷贝一份,作为新的虚拟机(虚拟机B),并为新的虚拟机增加一块网卡,我们都知道默认网卡的命名规则是ethx,x是一个从0递增的数字,如果虚拟机A本身就有一块网卡eth0,那么克隆后的虚拟机B也就有一块网卡eth0,并且这两块网卡的信息是一模一样的,MAC地址也是一样的,在克隆过程中,vmware会默认给新虚拟机(虚拟机B)增加一块网卡,因为虚拟机B已经存在一块网卡eth0,所有按照默认的命名规则,新增加的网卡被命名为eth1,这就是为什么使用ifconfig -a 命令查询出eth1的原因了。
解决方案
虚拟机B
修改PCI信息将从虚拟机A克隆的eth0的PCI信息删除,将虚拟机B自己的网卡信息命名为eth0命令 vim /etc/udev/rules.d/70-persistent-net.rules具体修改信息
修改后的结果如下修改后的结果
查看eth0网卡配置信息命令 cat /etc/sysconfig/network-scripts/ifcfg-eth0eth0网卡配置信息
修改eth0网卡信息通过查询结果可知,克隆后虚拟机B的eth0配置信息和虚拟机A的eth0信息是相同的,要想让虚拟机B的eth0网卡正常使用,需要将虚拟机B的eth0配置信息中的MAC信息(对应HWADDR属性)修改为虚拟机B的eth0的PCI中对应的MAC修改结果
重启系统命令 reboot
如果看到期待已久的eth0,证明已经配置成功了!