vCenter Server 的 CPU 兼容性检查可比较源主机上可用的 CPU 功能、虚拟机可访问的功能子集以及目标主机上可用的功能。不使用 EVC 时,不管虚拟机自身能否访问这些功能,这两个主机的用户级功能之间的任何不匹配都会阻止迁移。但是,仅当虚拟机可以访问目标主机未提供的功能时,这两个主机的内核级功能间的不匹配才会阻止迁移。

用户级功能是可能由虚拟机应用程序使用的非特权指令。这些指令包括 SSE3、SSSE3、SSE4.1、SSE4.2 和 AES。因为 SSSE3 指令属于跳过虚拟化层的用户级指令,如果有不匹配,可能在通过 vMotion 迁移后导致应用程序不稳定。

内核级功能是可能由虚拟机操作系统使用的特权指令。这些指令包括 AMD No eXecute (NX) 和 Intel eXecute Disable (XD) 安全功能。

尝试通过 vMotion 迁移虚拟机时,会有以下情况:

  • 目标主机功能集与虚拟机的 CPU 功能集匹配。满足 CPU 兼容性要求,通过 vMotion 迁移继续进行。

  • 虚拟机的 CPU 功能集包含目标主机不支持的功能。不满足 CPU 兼容性要求,通过 vMotion 迁移无法继续进行。

    注:

    EVC 通过为群集中运行的所有虚拟机提供“基准”功能集解决了此类不兼容性问题,对虚拟机隐藏了群集主机 CPU 之间的差异。

  • 目标主机支持虚拟机的功能集以及虚拟机功能集中没有的其他用户级功能(例如 SSE4.1)。不满足 CPU 兼容性要求,通过 vMotion 迁移无法继续进行。

    注:

    对于 EVC 群集中主机之间的迁移,忽略此类不兼容情况。

  • 目标主机支持虚拟机的功能集以及虚拟机的功能集中没有的其他内核级功能(例如 NX 或 XD)。满足 CPU 兼容性要求,通过 vMotion 迁移继续进行。只要虚拟机保持打开电源状态,就会保留其 CPU 功能集,从而可以自由迁移回原始主机。但是,如果重新引导虚拟机,虚拟机将从新主机获得新的功能集,从而在您尝试将虚拟机迁移回原始主机时,可能会导致 vMotion 不兼容问题。