正常来说,Linux在识别网卡时第一张会是eth0,第二张才是eth1。有时候我们使用虚拟机克隆技术后网卡的信息就会改变,新克隆出来的虚拟主机网卡名字可能变为eth1.无论我们怎么修改都无法改变,这就对我们使用N台虚拟机进行HA-heartbeat实验时造成了困扰(目前还不知道此处说的什么东西...待百度...)。
当使用linux更换了网卡,或者将虚拟机从一台电脑拷贝到另一台电脑时,由于设备网卡mac地址改变,但是系统配置文件/etc/udev/rules.d/70-persistent-net.rules中仍然保留了老网卡的内容,新网卡则被识别为eth1。
在这里成这样是因为复制系统的过程中复制的文件已经有一个网卡在/etc/udev/rules.d/70-persistent-net.rules被识别成了eth0,而虚拟机中的识别成了eth1。
解决方法:
1.编辑/etc/udev/rules.d/70-persistent-net.rules,找到与ifconfig -a得出的MAC相同的一行(NAME='eth1'这一行),把它改为"NAME=eth0 ",然后把上面一行(这一行是对应的老网卡)(NAME='eth0')删除掉。
也可以把老网卡的卡的行注释掉,将新网卡的行的eth1改为eth0
vim /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:bb:41:2b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
2.编辑/etc/sysconfig/network-script/ifcfg-eth0,把MAC改为正确的,把UUID删掉。
3.编辑/etc/sysconf/network,把hostname也改一下。
4.重启生效!
//========================================================================================
为什么eth0会变成eth1?
//======================================================================================
上面修改过程中把ifconfig-eth0中的UUID给干掉了....强迫症犯了....生怕出问题....
百度到怎么知道该Linux系统下的网卡的UUID的方法:
详细见博文: