Linux
複製 VMware 虛擬機時,如何防止 MAC 地址和 UUID 衝突?
我在 VMware Fusion(適用於 Mac)和 VMware ESXi/vSphere 上都遇到了以下問題。許多人都熟悉這個問題,VMware KB 中對此進行了描述:“ Networking does not work in a cloned Linux virtual machine (2002767) ”。
- 創建一個 CentOS 虛擬機。
- 這是一個簡單的虛擬機,具有最少的軟體集和正常執行的網路堆棧。我們的想法是我們採用最小的虛擬機,複製它並稍後添加更多軟體。
- 複製該虛擬機
- VMware Fusion 或 vCenter 將為複製的 VM 上的網路介面分配一個新的 MAC 地址。
- Linux 不知道這個新的 MAC 地址,因此網路無法工作。該文件
/etc/sysconfig/network-scripts/ifcfg-ethN
具有第一台機器上介面的 MAC 地址。- 要解決此問題,我需要找到新 VM 的 MAC 地址,編輯
ifcfg-ethN
此 MAC 並將其添加到HWADDR=
欄位中。我不能簡單地將 MAC 剪切並粘貼到欄位中,因此這可能是一項容易出錯的任務,尤其是當我忘記用筆和紙寫下 MAC 時。- (加分項)在新 VM 上,經常 eth0、eth1 等以錯誤的順序顯示。解決這個問題需要圍繞一個神秘的舞蹈
/etc/udev/rules.d
我可以這樣做,但是當我只是想啟動一個新的 VM 來測試某些東西時,它很容易出錯並且有點痛苦。
有沒有辦法簡化這個手動過程?複製新機器時,如何解決 MAC 地址問題?
由於設備持久性的東西只是阻礙了這些虛擬機,把它撕掉:
- 從文件中完全刪除
HWADDR
和UUID
行,並且ifcfg
/etc/udev/rules.d/70-persistent-net.rules
複製前刪除這應該讓具有新 MAC 地址的 eth0
ifcfg-eth0
在初始啟動時實際使用。