在使用 VBoxManage clonehd <source.vdi> <dest.vdi> 來佈署多台 VM 時,碰到網路卡消失方面的問題。
在第一台 VM 上設定了兩片網卡,Host-Only(僅限主機介面) 及 NAT。
Host-Only 是用來讓 guest 互通用的。NAT 是要讓 guest 可以連外用的。
vm1 裝好 Debian 後,只能看到 eth1 及 lo,此時還未查覺到問題,因為可以連外。
使用 VBoxManage clonehd 將 vm1 的虛擬硬碟複製一份為 vm2,如下:
VBoxManage clonehd vm1.vdi vm2.vdi
新增 vm2 ,其網路介面配置同 vm1,硬碟指定 vm2.vdi。
開機後,網路介面只能看到 lo。這時才看到有問題。
在 vm2 查看
ifconfig eth0
顯示
eth0: error fetching interface information: Device not found
查看 dmesg | grep eth0
顯示
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
udev[238]: renamed network interface eth0 to eth3
查看 ifconfig eth3
顯示
eth3 的網路介面資訊
查看 ifconfig -a
顯示
eth2, eth3, lo 的網路介面資訊
所以原來是被 udev 給改名了。
回到 vm1 查看 ifconfig -a
顯示
eth0, eth1, lo 的網路介面資訊
google 到下面這兩篇
http://www.virtualbox.org/ticket/841
http://www.ducea.com/2008/09/01/remove-debian-udev-persistent-net-rules/
第二篇提到 Debian 有修改過 udev 的 rule ,使得在硬體改變或重開機後網路介面的名稱可以保持一致的名稱。
結論就是將 /etc/udev/rules.d/70-persistent-net.rules 刪除即可。
沒有留言:
張貼留言