問題描述
當 Linux 虛擬機啟動時,通過串口輸出或者啟動日志, 觀察到虛擬網卡啟動或者初始化故障, 導致虛擬機無法連接.
問題分析
常見的超時報錯范例如下:
-
CentOS
Bringing up loopback interface: [ OK ] Bringing up interface eth0: Device eth0 has different MAC address than expected, ignoring. [FAILED] -
SUSE
Setting up (localfs) network interfaces: lo lo IP address: 127.0.0.1/8 IP address: 127.0.0.2/8 done eth4 No configuration found for eth4 unused Waiting for mandatory devices: eth0 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 eth0 No interface found
解決方案
-
CentOS
上述報錯指向了
/etc/sysconfig/network-scripts/ifcfg-eth0配置文件里針對 eth0 錯誤配置了虛擬網卡的硬件地址.解決方案為:- 刪除虛擬機保留磁盤,並將系統盤作為數據盤掛載到臨時虛擬機上.
- 修改配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0 - 將虛擬網卡硬件地址改成正確的值,或者刪除該行.
- 保存並退出.
- 分離該磁盤, 並基於該磁盤新建虛擬機.
-
SUSE
上述報錯是由於硬件設備映射規則
/etc/udev/rules.d中對 eth0 重命名為了 eth4.解決方案為:- 刪除虛擬機保留磁盤,並將系統盤作為數據盤掛載到臨時虛擬機上.
- 刪除
/etc/udev/rules.d中針對 eth0 的命名規則. - 分離該磁盤, 並基於該磁盤新建虛擬機. 立即訪問http://market.azure.cn
