linux 虚拟机复制网卡不能启动或使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 虚拟机复制网卡不能启动或使用相关的知识,希望对你有一定的参考价值。
很多时候,我们在使用虚拟机的时候,都会安装一个虚拟机作为model,以后需要搭建测试环境都会通过复制model来实现,这样方便又快速、然后在复制出来的新系统网卡查查不能够直接使用,这是因为网卡的mac地址是唯一的,复制的新系统,会生成新的mac地址,而ifcfg-eth0配置文件里面的mac地址还是原来的,所以就需要通过人工修改成新的mac地址。
克隆linux系统后,克隆版无法启动网卡,提示错误:
device eth0 does not seem to be present,delaying initialization
原因分析: Linux使用udev动态管理设备文件。VMware会自动生成虚拟机的mac地址。这样,由于克隆出的Linux已经记录了原Linux的网卡mac地址对应于网卡eth0,在克隆出的Linux中由于mac地址发生改变,udev会自动将该mac对应于网卡eth1,以此类推。而其实kernel仅仅只识别到一张网卡,跟网卡名相关的网络配置也未发生任何变化。
解决方案:
udev将mac与网卡名称的对应关系保存在/etc/udev/rules.d/70-persistent-net.rules中
记录下新的网卡MAC地址和NAME。
cat /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x8086:0x100f (e1000) ------复制前的address 注释掉
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:5f:88:bd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x8086:0x100f (e1000) -----复印后生成的新address ,将NAME="eth1" 修改为 NAME="eth0" ,将ATTR{address}=="00:0c:29:b6:87:56" 值复制在 ifcfg-eth0上
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:b6:87:56", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth1 #修改为新的eth1 。
HWADDR=00:0C:29:b6:87:56 #用新的MAC替换 00:0c:29:b6:87:56
TYPE=Ethernet
UUID=fa6bcd84-01ab-4b2d-9dd6-8d4a3a1961ac
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.1.56 #修改IP(如果原虚拟机不同时运行,可以不修改)
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
重启网卡即可:
本文出自 “無言的对白” 博客,请务必保留此出处http://chbinmile.blog.51cto.com/6085145/1879388
以上是关于linux 虚拟机复制网卡不能启动或使用的主要内容,如果未能解决你的问题,请参考以下文章