解決kvm虛擬機器啟動之後,網絡卡eth0變為eth1問題
阿新 • • 發佈:2018-12-19
2018-12-19
故障前提
kvm虛擬機器遷移到其他伺服器上之後,重新啟動網絡卡會出現問題
例如原網絡卡名稱為eth0,遷移重啟之後會自動變為eth1
為什麼eth0會變成eth1?
很多Linux distribution使用udev動態管理裝置檔案,並根據裝置的資訊對其進行持久化命名。udev會在系統引導的過程中識別網絡卡,將mac地址和網絡卡名稱對應起來記錄在udev的規則指令碼中。而對於新的虛擬機器,VMware會自動為虛擬機器的網絡卡生成MAC地址,當你克隆或者重灌虛擬機器軟體時,由於你使用的是以前系統虛擬硬碟的資訊,而該系統中已經有eth0的資訊,對於這個新的網絡卡,udev會自動將其命名為eth1(累加的原則),所以在你的系統啟動後,你使用ifconfig看到的網絡卡名為eth1
如何恢復到eth0?
vi /etc/udev/rules.d/70-persistent-net.rules
檔案資訊如下
# This file was automatically generated by the /lib/udev/write_net_rules # program, run by the persistent-net-generator.rules rules file. # # You can modify it, as long as you keep each rule on a single # line, and change only the value of the NAME= key. # PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:41:c1:7e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:41:c1:9e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
裡面有兩張網絡卡資訊,若要使網絡卡名稱恢復到eth0,需要將檔案內的兩張網絡卡的資訊都刪除,然後重啟系統即可