【日期】2014年4月23日
【平台】windows 8
vmware workstation 9.0
centos 6.5
【日志】1)执行ifconfig命令,输出:
2)查看/etc/udev/rules.d/70-persistent-net.rules,发现:
3)查看/var/log/messages,发现:
4)查看目录/etc/sysconfig/network-scripts :
【情景】使用vmware 克隆 centos 虚拟机并登录之后,发现没有eth0(图1示),但配置文件ifcfg-eth0仍然存在(图4示)。
【分析】1)VMware在克隆虚拟机时,会修改相应的设备信息,比如网卡的Mac地址等,其原因涉及UUID,见【参考】部分。
2)Centos在系统引导过程中,会根据Mac地址为识别到的新网卡分配标识符。系统预先分配eth0给新网卡;如果标
识符eth0已经分配给了其他网卡(如图2所示),则新的标识符会顺次加1,所以新网卡的标识符就变成了eth1(
如图3所示);最后把Mac地址与标识符的映射关系写入/etc/udev/rules.d/70-persistent-net.rules文件中。
3)/etc/udev/rules.d/70-persistent-net.rules中记录着所有曾识别过的网卡Mac及其标识符的映射信息,且不会
主动删除无效记录。所以就导致了原网卡eth0信息失效,而唯一被识别的新网卡eth1因没有配置文件(如图4所示)
而无法启用。
【解决】1)在/etc/udev/rules.d/70-persistent-net.rules中删除无效的原eth0网卡的记录,并将新网卡的标识符改为eth0:
也可以将所有记录清空,或者直接删除文件/etc/udev/rules.d/70-persistent-net.rules,等系统在重启时重新
创建映射关系,或者重新创建文件/etc/udev/rules.d/70-persistent-net.rules。
2)修改/etc/sysconfig/network-scripts/ifcfg-eth0如下:(主要是更改Mac地址、ONBOOT参数)
3)执行reboot命令,重启系统后执行ifconfig命令查看:
【参考】
1)http://blog.sina.com.cn/s/blog_48a770da0100t5kt.html
2)https://www.vmware.com/support/ws55/doc/ws_net_advanced_mac_address.html
3)http://pubs.vmware.com/workstation-9/index.jsp?topic=%2Fcom.vmware.ws.using.doc%2FGUID-21DCD150-0B02-4806-A169-475AF7957D50.html
4)https://communities.vmware.com/thread/46069;jsessionid=8615449C83F8C22749032CCD8603D8CE?start=0&tstart=0
5)http://www.linuxidc.com/Linux/2011-04/34294.htm
6)http://www.cnblogs.com/luxh/archive/2013/01/22/2872209.html
7)http://www.01happy.com/vmware-copy-centos-device-eth0-does-not-seem-to-be-present/
8)http://www.cnblogs.com/fbwfbi/archive/2013/04/29/3050907.html