「VMware ESXi」- 虚拟机版本与主机“x.x.x.x”的版本不兼容

  CREATED BY JENKINSBOT

问题描述

在迁移虚拟机到其他主机中,在「选择目标」步骤时,被选中主机提示「虚拟机版本与主机“x.x.x.x”的版本不兼容」错误。

本文将介绍如何处理该迁移错误。

问题原因

运行在ESXi中的每台虚拟机,都有一个「硬件版本号」。在vSphere Client中,显示为「虚拟机版本」:

目标主机运行「ESXi 5.5」版本,能支持的最大硬件版本为「10」。而虚拟机所在的主机运行「ESXi 6.0」版本,所创建的虚拟机硬件版本为「11」。

因此,在迁移的过程中会提示「虚拟机版本与主机“x.x.x.x”的版本不兼容」错误。

解决办法

注意事项

下面有两种做法:官方推荐;强行迁移。

我们自然使用「官方推荐」方法。当然,在特殊情况下,我们也可以使用「强行迁移」方法。最开始我们并没有发现「官方推荐」方法,直到在强行迁移一台虚拟机之后,我们才发现「官方推荐」方法。虽然强行迁移的虚拟机能够正常运行,但是我们依旧建议「官方推荐」方法。

方法一、强行迁移

(1)在vSphere Client中,关闭虚拟机。
(2)从主机清单中移除虚拟机。注意,是「从清单中移除」,而不是「从磁盘中删除」。
(3)在在vSphere Client中,浏览对应的数据存储,找到「.vmx」文件,然后下载到本地。
(4)使用编辑器打开.vmx文件,将virtualHW.version = "x"修改为virtualHW.version = "y"后,保存并退出编辑器(通常在第三行中)。
(5)将修改后的文件上传到并覆盖原文件。
(6)上传之后,在文件上单击右键,选择「添加到清单」项即可。
(7)上述操作完成后,可以正式开始迁移操作。

方法二、官方推荐

-「Downgrading the virtual machine hardware version in ESX/ESXi (1028019)

官方推荐三种方案,当然这三种方案都要求关闭虚拟机:

	(1)在目标主机上创建虚拟机,然后将已经存在的虚拟磁盘文件(.vmdk)添加到虚拟机上。
	(2)使用VMware vCenter Converter Standalone工具,该工具可以选择硬件版本。(该工具类似于复制虚拟机,而不是直接迁移)
	(3)回退到在升级硬件版本前创建的快照。然而,我们通常都没有做快照 :-)

官方给出的做法更更简单,更容易操作,因此这里不再详细展开介绍。方法(2)我们已经用过了,暂时没有遇到问题。

附加说明

(1)迁移动作并不会导致「虚拟机版本」发生变化。

相关链接

通过下面的链接,可以了解ESXi与硬件版本的兼容性,并确定自己需要使用的硬件版本:
ESXi/ESX hosts and compatible virtual machine hardware versions list (2007240)
Virtual Machine Compatibility
Virtual machine hardware versions (1003746)

参考文献

Solved: How to downgrade the hardware version of a VM?
Downgrading the virtual machine hardware version in ESX/ESXi (1028019)