Linux

複製 VMware 虛擬機時,如何防止 MAC 地址和 UUID 衝突?

  • March 27, 2017

我在 VMware Fusion(適用於 Mac)和 VMware ESXi/vSphere 上都遇到了以下問題。許多人都熟悉這個問題,VMware KB 中對此進行了描述:“ Networking does not work in a cloned Linux virtual machine (2002767) ”。

  1. 創建一個 CentOS 虛擬機。
  • 這是一個簡單的虛擬機,具有最少的軟體集和正常執行的網路堆棧。我們的想法是我們採用最小的虛擬機,複製它並稍後添加更多軟體。
  1. 複製該虛擬機
  2. VMware Fusion 或 vCenter 將為複製的 VM 上的網路介面分配一個新的 MAC 地址。
  3. Linux 不知道這個新的 MAC 地址,因此網路無法工作。該文件/etc/sysconfig/network-scripts/ifcfg-ethN具有第一台機器上介面的 MAC 地址。
  4. 要解決此問題,我需要找到新 VM 的 MAC 地址,編輯ifcfg-ethN此 MAC 並將其添加到HWADDR=欄位中。我不能簡單地將 MAC 剪切並粘貼到欄位中,因此這可能是一項容易出錯的任務,尤其是當我忘記用筆和紙寫下 MAC 時。
  5. (加分項)在新 VM 上,經常 eth0、eth1 等以錯誤的順序顯示。解決這個問題需要圍繞一個神秘的舞蹈/etc/udev/rules.d

我可以這樣做,但是當我只是想啟動一個新的 VM 來測試某些東西時,它很容易出錯並且有點痛苦。

有沒有辦法簡化這個手動過程?複製新機器時,如何解決 MAC 地址問題?

由於設備持久性的東西只是阻礙了這些虛擬機,把它撕掉:

  • 從文件中完全刪除HWADDRUUID行,並且ifcfg
  • /etc/udev/rules.d/70-persistent-net.rules複製前刪除

這應該讓具有新 MAC 地址的 eth0ifcfg-eth0在初始啟動時實際使用。

引用自:https://serverfault.com/questions/629640