在 VMware vSphere 平台中,EVC(Enhanced vMotion Compatibility,增强型 vMotion 兼容性)是一项非常重要的功能,它主要用于解决不同 CPU 架构的主机之间虚拟机迁移的兼容性问题。本文为启用EVC时遇到CPU不同代际集群的迁移问题处理一例 。
一、问题现象
在 VMware vSphere 平台中,进行虚拟机迁移,可能会遇到“目标主机不支持虚拟机的当前硬件要求”问题,如下图:
这是因为集群已启用了VMwareEVC,且源、目标主机的CPU微架构有所不同
二、问题分析
1、检查虚拟机所在源宿主机
启用了EVC,支持Intel“skylake”架构
2、检查目标宿主机
未启用EVC
三、问题处理
1、启用目标宿主机的EVC
问题依旧。
四、分析核查
EVC 旨在确保 vSphere 集群内所有主机之间的 CPU 兼容性保持一致。它通过创建一个一致的 CPU 功能基准来实现这一目标,会屏蔽或隐藏某些 CPU 功能,以便向虚拟机提供一组一致的功能,从而让虚拟机可以使用 vMotion 无缝实时迁移,即便跨不同 CPU 代系的主机进行迁移也不受影响。
1、目标主机分析
目标主机机型为RH2288HV3,CPU支持到“Broadwell”架构
2、源主机分析
源主机机型为R8500 G4,CPU支持到“skylake”架构
3、问题定位
源集群启用的 EVC 模式高于目标集群(源为 Skylake,目标为 Broadwell),迁移会因功能集差异失败。
4、解决方案
统一 EVC 模式:确保源集群和目标集群均启用Intel Broadwell Generation的 EVC 模式。将源集群已启用更高模式( Skylake)降级到 Broadwell。
五、操作步骤
登录 vCenter,进入源集群的配置 > VMware EVC,将 EVC 模式调整为Intel Broadwell Generation。对目标集群执行相同操作,确保两者 EVC 模式一致。