问题描述

在迁移虚拟机到其他主机中,在「选择目标」步骤时,被选中主机提示「虚拟机版本与主机“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)迁移动作并不会导致「虚拟机版本」发生变化。