正常來說,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的方法:
詳細見博文:
http://www.cnblogs.com/DreamDrive/p/5494961.html