安装新的物理机并用KVM创建了一台模板机器,其文件有:
moban.xml moban.img
然后用此模板拷贝生成新的虚拟机:server01,server02,....
cp moban.xml server01.xml
cp moban.img server01.img
修改配置文件里面的相关选项之后,启动server01
启动之后,执行 ip a,却发现设置的eth0和eth1没有了,成了eth2和eth3
但是在/etc/sysconfig/network-script下面却是ifcfg-eth0和ifcfg-eth1
然后去启动ifcfg-eth0:ifup eth0,提示错误如下:
# ifup eth0
Device eth0 does not seem to be present, delaying initialization.
在网上找了下原因,第一次碰到此情况,特记录下来:
转载地址:
为什么原来的eth0会变成eth1?
很多Linux distribution使用udev动态管理设备文件,并根据设备的信息对其进行持久化命名。
udev会在系统引导的过程中识别网卡,将mac地址和网卡名称对应起来记录在udev的规则脚本中。而对于新的虚拟机,会自动为虚拟机的网卡生成MAC地址,当你克隆或者重装虚拟机软件时,由于你使用的是以前系统虚拟硬盘的信息,而该系统中已经有eth0,eth1的信息,对于这个新的网卡,udev会自动将其命名为eth2,eth3(累加的原则),所以在你的系统启动后,你使用ifconfig看到的网卡名为eth2,eth3.
如何把名字改回eth0?
udev记录网络规则的脚本为:/etc/udev/rules.d/70-persistent-net.rules
打开该文件,这时你会发现,里面有eth0,eth1,eth2,eth3四个网卡的信息,
但实际上你ifconfig时只能发现eth2,eth3这两个网卡的信息,这时因为eth0,eth1根本就不存在。将其中eth0,eth1的信息删掉,并将eth2,eth3这现行信息中的设备名改为eth0,eth1,重启系统,你看到的网卡就是eth0了,或者删掉其中所有的信息重启系统udev会帮你发现新的设备的。
转载于:https://blog.51cto.com/lylyf99/1325267