上周,我们一直在对客户在 ESXi 上运行的 Red Hat 虚拟机进行故障排除。我们一直在使用 Veeam 尝试在异地创建副本,并让它按计划运行,最近我们注意到在查看数据存储时存在孤立快照的问题。您可以在同一个文件夹中看到多个快照,这会导致复制和备份出现问题,因此我们决定最干净的方法是将机器 v2v 到另一个数据存储,这样我们就可以使用干净的单 vmdk 设置,这就是我们的麻烦开始的地方。
我们首先使用 vmware 转换器进行 v2v 并连接到已开机的机器,因为我们在进行离线 v2v 时遇到了问题。这复制得很好,但当我尝试使用本文设置静态 MAC 时http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=507新的 VM 不会采用该地址,它只是获取了一个新的 MAC,收到了 dhcp 租约,然后只会启动到空白的红色屏幕,而不会出现登录屏幕。
因此,一旦我们最终让它正常工作,下一步就是进行离线 v2v。同样的事情,按照 kb 的说明进行操作,但仍然无法获取 MAC。然后我再次尝试,完成后,我比较了新旧 VMX 文件,复制了所有可能的标识符和变量,然后取消注册两个 VM,上传新的 VMX 文件并启动,结果却是一样的。
最后,我做了与上述相同的操作,但我使用 DD 将磁盘复制到第二个连接的 vmdk,然后将其连接到新的 VM,但仍然没有运气。
在第一次启动后下载修改后的 VMX 文件并将其与我创建的原始文件进行比较,我发现 bios uuid 已与我手动输入的 uuid 不同,因此我假设这可能是问题所在,但我不知道。
我以前在 P2V 上从未遇到过这个问题,我只是想知道是否有人可以解释一下这个问题,也许这与 RHEL 许可有关?
答案1
我以前也遇到过类似的问题。我经常会挠头想为什么设置不起作用,而这几乎总是因为必须取消注册虚拟机,而不仅仅是启动/停止虚拟机。我知道你说你这样做了,但请尝试以下操作(按顺序):
- 停止(而不是暂停)新的虚拟机
- 取消注册新 VM
- 设置以下内容(在 .vmx 文件中):
ethernet0.addressType="静态"
ethernet0.地址 = YO:UR:MA:CA:DD:RS
- 重新注册虚拟机并启动它。
答案2
这也许能解决你的问题,也也许不能:
大多数以太网卡(包括 VMware 提供的虚拟卡)都具有软件可编程的 MAC 地址。您可以利用此功能,在启动顺序中插入某些内容,以便在启动过程的早期设置卡的 MAC 地址。
你可以运行如下命令:
ifconfig eth0 hw ether c0:ff:ee:fa:ca:de
这显然不是解决这个问题的正确方法,但它可能提供足够的解决方法让您继续前进。