在 ESXi 中更改虚拟机的实例 UUID

在 ESXi 中更改虚拟机的实例 UUID

背景

我在免费模式下运行 ESXi 6.0.0。我创建了一个虚拟机,然后将其文件复制到数据存储中的另一个文件夹以创建下一台机器(几乎像一个模板)。我最终得到了两个运行良好的虚拟机,它们在生产中运行良好。

问题

我的备份驱动器终于到货了,所以现在我正尝试设置 Unitrends 来执行 VM 级备份。当我尝试将 Unitrends 连接到 ESXi 时,它出现错误:

虚拟机“vm1name”和“vm2name”具有相同的实例 UUID。请使用 VMware vSphere Client 或其他管理工具为其中一个虚拟机分配新的 UUID。

根据此建议论坛帖子:我尝试编辑 VMX 文件以更改 bios.uuid 值。这并没有解决错误。接下来,我尝试在 PowerCLI 中使用同一篇文章中的脚本。它向我展示了我确实有重复的实例UUID。这些显然与 vmx 文件中的 UUID 值不同(它们是唯一的)。我有两台机器,它们的实例 UUID 都是

52c7dbf3-e442-da43-a0b1-2a9befd93919

不幸的是,我似乎找不到更改实例 UUID 的方法。我在网上找不到任何相关信息。

问题

我如何更改实例唯一唯一标识符适用于 ESXi 上的虚拟机?我真的必须让它工作,如果您能提供任何帮助,我将不胜感激。谢谢!

答案1

最干净、最省心的解决方案是创建一台新机器并连接磁盘。


但是,如果您想编辑配置,机器的设置中有三个 UUID。

  • 您可以从配置文件中uuid.location删除,例如使用以下命令:uuid.bios.vmx

    sed -i '/uuid.location/d' ./*.vmx
    sed -i '//d' ./*.vmx
    

    并重新启动机器——它应该强制生成新的 UUID(的最后三位数字uuid.bios也将与中的 MAC 地址部分匹配ethernet0.generatedAddress)。

  • 第三个vc.uuid(很可能是 Unitrends 抱怨的那个)没有重新创建,但您可以将其值更改为另一个故意的随机数。 在您的例子中,行应该.vmx是:

    vc.uuid = "52 c7 db f3 e4 42 da 43-a0 b1 2a 9b ef d9 39 19"
    

.vmx您需要在机器停止时对文件执行更改,否则它们将被覆盖。

答案2

因此,此问题的答案是从 vCentre(或 vCloud Director,如果您使用它)关闭有问题的虚拟机

您不需要取消注册,除非它在单个主机上。

从虚拟机文件夹下载 vmx 文件

编辑文件中的 bios.uuid 和 vc.uuid

将新的 vmx 上传到虚拟机的文件夹

使用 Webclient 将 Vm 迁移到另一台主机,然后当它注意到 UUID 已被更改时,它会强制更改 UUID。

现在启动机器,它将有一个新的 UUID。

如果使用 vCloud Director,请确保从 VCD 控制台关闭机器,然后从那里启动机器。

相关内容