克隆 VMware 虚拟机时,如何防止 MAC 地址和 UUID 冲突?

克隆 VMware 虚拟机时,如何防止 MAC 地址和 UUID 冲突?

我在 VMware Fusion(适用于 Mac)和 VMware ESXi/vSphere 上都遇到了以下问题。你们中的许多人都熟悉这个问题,它在 VMware KB 中有描述:“克隆的 Linux 虚拟机中网络连接不正常 (2002767)“”。

  1. 创建一个 CentOS VM。
    • 这是一台基本版虚拟机,包含最少的软件和正常运行的网络堆栈。我们的想法是,采用最小虚拟机,克隆它,然后添加更多软件。
  2. 克隆该虚拟机
  3. VMware Fusion 或 vCenter 将为克隆的 VM 上的网络接口分配一个新的 MAC 地址。
  4. Linux 不知道这个新的 MAC 地址,因此网络无法正常工作。该文件/etc/sysconfig/network-scripts/ifcfg-ethN包含第一台机器上接口的 MAC 地址。
  5. 为了解决这个问题,我需要找到新虚拟机的 MAC 地址,编辑ifcfg-ethN并将此 MAC 添加到HWADDR=字段中。我不能简单地将 MAC 剪切并粘贴到字段中,因此这是一个容易出错的任务,尤其是当我忘记带笔和纸来记下 MAC 时。
  6. (加分项)在新虚拟机上,eth0、eth1 等通常显示顺序错误。修复此问题需要神秘的舞蹈/etc/udev/rules.d

我可以这样做,但是当我只是想启动一个新的虚拟机来测试某些东西时,它很容易出错并且有点麻烦。

有没有办法简化这个手动过程?当你克隆一台新机器时,你如何修复 MAC 地址问题?

答案1

由于设备持久性只是妨碍这些虚拟机,因此将其删除:

  • 从文件中完全删除HWADDR和行,然后UUIDifcfg
  • /etc/udev/rules.d/70-persistent-net.rules克隆前删除

这应该让具有新 MAC 地址的 eth0ifcfg-eth0在初始启动时实际使用。

相关内容