Linux 克隆虚拟机引起的“Device eth0 does not seem to be present, delaying initialization”-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

Linux 克隆虚拟机引起的“Device eth0 does not seem to be present, delaying initialization”

简介:

虚拟机Vmware上克隆了一个Red Hat Enterprise Linx启动时发现找不到网卡,如下所示,如果你在命令窗口启动网络服务就会遇到”Device eth0 does not seem to be present, delaying initialization“错误

clip_image001

关于这个错误,搜索了一下网上的资料,发现还蛮多人遇到过这类错误,了解了一下错误产生的原因和解决方案

 

错误原因:

   

    克隆的Linux系统在新的机器上运行,新服务器网卡物理地址已经改变。而/etc/udev/rules.d/70-persistent- net.rules这个文件确定了网卡和MAC地址的信息之间的绑定,克隆后的网卡的MAC已经发生了变化,所以导致系统认为网络设备不存在,网络不能正 常启动。另外一个就是/etc/sysconfig/network-scripts/ifcfg-eth0里面MAC地址也是以前的旧信息。

   关于/etc/udev/rules.d/70-persistent-net.rules这个文件,系统在启动时会自动监测变化,然后由/lib /udev/write_net_rules写入到/etc/udev/rules.d/70-persistent-net.rules中一个新的配置 节,网卡的的序号依次递增(如原来为eth0,则修改第一后生成一个eth1,再次修改后生成一个eth2...),且其ATTR{address}的值 为当前网卡对应的mac地址。

 

解决方法:

 

1: 编辑/etc/sysconfig/network-scripts/ifcfg-eth0配置文件,将ifcfg-eth0的配置文件里里面以前的关于 MAC地址这一行删除掉或修改。另外克隆的服务器的IP设置的是静态IP,要么修改为一个其它的IP地址或设置为动态IP,重启网卡服务

 

2:找到/etc/udev/rules.d/70-persistent-net.rules 删除后重启机器,系统会自动生成一个70-persistent-net.rules文件。

因为这个文件绑定了网卡和MAC地址,换了网卡以后MAC地址变了,所以不能正常启动,也可以直接编辑这个配置文件把里面的网卡和MAC地址修改成对应的,不过这样多麻烦,直接删除重启,它会自动生成个一个新的文件。

 

删除前70-persistent-net.rules的内容

clip_image002

重新生成的70-persistent-net.rules的内容

clip_image003

 

重 启过后OK,但是我想将测试服务器设置为动态IP,于是在/etc/sysconfig/network-scripts/ifcfg-eth0配置文件 里面修改了一番,但是老是获取不到IP地址,将地址改为静态IP地址又没有问题,折腾了好久,最后悲催的发现需要运行dhclient命令才能获取动态 IP地址。

  

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章
最新文章
相关文章