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

在VMware Fusion(适用于Mac)和VMware ESXi / vSphere上,我遇到了以下问题。 你们中的许多人都对这个问题很熟悉,在VMware的KB上有这样的描述:“ networking在克隆的Linux虚拟机中不起作用(2002767)” 。

  1. 创build一个CentOS虚拟机。
    • 这是一个简单的虚拟机,具有最less的软件和正常的networking堆栈。 这个想法是,我们把最小的虚拟机,克隆它,以后再添加更多的软件。
  2. 克隆VM
  3. VMware Fusion或vCenter将为克隆的虚拟机上的networking接口分配一个新的MAC地址。
  4. Linux不知道这个新的MAC地址,因此networking不起作用。 文件/etc/sysconfig/network-scripts/ifcfg-ethN具有第一台机器上接口的MAC地址。
  5. 为了解决这个问题,我需要find新VM的MAC地址,编辑ifcfg-ethN并将这个MAC添加到HWADDR=字段。 我不能简单地将MAC剪切粘贴到现场,所以这可能是一个容易出错的任务,尤其是当我忘记我的笔和纸来loggingMAC时。
  6. (奖励积分)在新VM上,通常eth0,eth1等以错误的顺序显示。 解决这个问题涉及/etc/udev/rules.d一个神秘的舞蹈

我可以做到这一点,但是当我仅仅想要启动一个新的虚拟机来testing某些东西的时候,这很容易出错并且很痛苦。

有没有办法简化这个手动过程? 克隆新机器时,如何解决MAC地址问题?

由于设备持久性的东西只是阻碍这些虚拟机,撕掉它:

  • ifcfg文件中完全删除HWADDRUUID
  • 克隆前删除/etc/udev/rules.d/70-persistent-net.rules

这应该让具有新MAC地址的eth0实际上在初始引导时使用ifcfg-eth0