EVC 和 CPU 兼容性常见问题解答
search cancel

EVC 和 CPU 兼容性常见问题解答

book

Article ID: 339769

calendar_today

Updated On:

Products

VMware vCenter Server VMware vSphere ESXi

Issue/Introduction

Symptoms:

免责声明: 本文为 EVC and CPU Compatibility FAQ (1005764) 的翻译版本。 尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。 有关最新内容,请参见英文版本。



本文对有关 Enhanced vMotion Compatibility (EVC) 和 CPU 兼容性的常见问题进行了解答。


Environment

VMware VirtualCenter 2.5.x
VMware vSphere ESXi 6.0
VMware vCenter Server 5.1.x
VMware ESXi 4.1.x Embedded
VMware ESX Server 3.5.x
VMware ESXi 4.0.x Installable
VMware vCenter Server 5.0.x
VMware vCenter Server 5.5.x
VMware ESXi 3.5.x Embedded
VMware ESXi 3.5.x Installable
VMware ESXi 4.0.x Embedded
VMware ESX 4.0.x
VMware ESXi 4.1.x Installable
VMware vSphere ESXi 5.1
VMware vCenter Server 4.1.x
VMware vCenter Server 4.0.x
VMware vSphere ESXi 5.5
VMware ESX 4.1.x
VMware vSphere ESXi 5.0
VMware vCenter Server 6.0.x

Resolution

EVC 是什么?

EVC 是 Enhanced vMotion Compatibility 的简称。 EVC 允许您在不同代 CPU 之间迁移虚拟机。

EVC 的优势是什么?

因为 EVC 允许您在不同代 CPU 之间迁移虚拟机,因此凭借 EVC,您可以在同一群集里混合使用较旧和较新代服务器,并且可以在这些主机之间使用 vMotion 迁移虚拟机。 这使得您可以更轻松地将新硬件添加到现有基础架构中,并有助于扩展现有主机的价值。 凭借 EVC,无需任何虚拟机停机即可实现完整群集升级。 在将新主机添加到群集时,可以将虚拟机迁移到新主机并停用旧主机。

如何使用 EVC?

已为 VirtualCenter 或 vCenter Server 清单中的群集启用 EVC。 在启用 EVC 后,可确保使用 vMotion 在群集中的任何主机之间进行迁移。 只有保留此属性的主机可添加至群集。

它的工作原理是什么?

在启用 EVC 后,将群集中的所有主机都配置为向群集中正在运行的所有虚拟机提供由用户选择的处理器类型的 CPU 功能。 这可确保 vMotion 的 CPU 兼容性,即使基础硬件可能由于主机不同而有所不同。 会向虚拟机(无论其在哪个主机上运行)公开相同的 CPU 功能,因此虚拟机可以在群集中的任何主机之间进行迁移。

对于 EVC 群集内的虚拟机,使用 vMotion 迁移是否仍失败?

是。 除 CPU 兼容性外还有多种因素用来确定 vMotion 兼容性。 例如,如果虚拟机未驻留于由源主机和目标主机共享的存储上,则无法在这些主机之间使用 vMotion 进行迁移。

EVC 是否允许 AMD 和 Intel CPU 与 vMotion 兼容?

否。已启用 EVC 的群集仅允许来自群集中单个供应商的 CPU。 VirtualCenter 和 vCenter Server 不允许将来自不同 CPU 供应商的主机添加到已启用 EVC 的群集。

哪些 EVC 模式可用?

ESXi/ESX 3.5 Update 2 及更高版本支持两种 EVC 模式:

  • AMD Opteron Generation 1(版本 E)
  • Intel“Merom”Generation (Intel Xeon Core 2)

在早期的 ESXi/ESX 3.5 版本中,这些模式仅标记 AMD 和 Intel。 较新的更新使用以上列出的名称。

ESXi/ESX 4.0 支持以下 EVC 模式:

  • AMD Opteron Generation 1(版本 E)
  • AMD Opteron Generation 2(版本 F)
  • AMD Opteron Generation 3 (Greyhound)
  • Intel“Merom”Generation (Intel Xeon Core 2)
  • Intel“Penryn”Generation (Intel Xeon 45nm Core2)
  • Intel“Nehalem”Generation (Intel Xeon Core i7)

ESXi/ESX 4.0 Update 1 及更高版本支持以下 EVC 模式:

  • AMD Opteron Generation 1(版本 E)
  • AMD Opteron Generation 2(版本 F)
  • AMD Opteron Generation 3 (Greyhound)
  • Intel“Merom”Generation (Intel Xeon Core 2)
  • Intel“Penryn”Generation (Intel Xeon 45nm Core2)
  • Intel“Nehalem”Generation (Intel Xeon Core i7)
  • Intel“Westmere”Generation (Intel Xeon 32nm Core i7)

ESXi/ESX 4.1 支持以下 EVC 模式:

  • AMD Opteron Generation 1(版本 E)
  • AMD Opteron Generation 2(版本 F)
  • AMD Opteron Generation 3 (Greyhound)
  • AMD Opteron Generation 3(无 3DNow!) (Greyhound)
  • Intel“Merom”Generation (Intel Xeon Core 2)
  • Intel“Penryn”Generation (Intel Xeon 45nm Core2)
  • Intel“Nehalem”Generation (Intel Xeon Core i7)
  • Intel“Westmere”Generation (Intel Xeon 32nm Core i7)

ESXi 5.0 支持以下 EVC 模式:

  • AMD Opteron Generation 1(版本 E)
  • AMD Opteron Generation 2(版本 F)
  • AMD Opteron Generation 3 (Greyhound)
  • AMD Opteron Generation 3(无 3Dnow!) (Greyhound)
  • AMD Opteron Generation 4 (Bulldozer)
  • Intel“Merom”Generation (Intel Xeon Core 2)
  • Intel“Penryn”Generation (Intel Xeon 45nm Core2)
  • Intel“Nehalem”Generation (Intel Xeon Core i7)
  • Intel“Westmere”Generation (Intel Xeon 32nm Core i7)
  • Intel“Sandy Bridge”Generation

ESXi 5.1 支持以下 EVC 模式:

  • AMD Opteron Generation 1(版本 E)
  • AMD Opteron Generation 2(版本 F)
  • AMD Opteron Generation 3 (Greyhound)
  • AMD Opteron Generation 3(无 3Dnow!) (Greyhound)
  • AMD Opteron Generation 4 (Bulldozer)
  • AMD Opteron“Piledriver”Generation
  • Intel“Merom”Generation (Intel Xeon Core 2)
  • Intel“Penryn”Generation (Intel Xeon 45nm Core2)
  • Intel“Nehalem”Generation (Intel Xeon Core i7)
  • Intel“Westmere”Generation (Intel Xeon 32nm Core i7)
  • Intel“Sandy Bridge”Generation
  • Intel“Ivy Bridge”Generation

ESXi 5.5 支持以下 EVC 模式:

  • AMD Opteron Generation 1(版本 E)
  • AMD Opteron Generation 2(版本 F)
  • AMD Opteron Generation 3 (Greyhound)
  • AMD Opteron Generation 3(无 3Dnow!) (Greyhound)
  • AMD Opteron Generation 4 (Bulldozer)
  • AMD Opteron“Piledriver”Generation
  • Intel“Merom”Generation (Intel Xeon Core 2)
  • Intel“Penryn”Generation (Intel Xeon 45nm Core2)
  • Intel“Nehalem”Generation (Intel Xeon Core i7)
  • Intel“Westmere”Generation (Intel Xeon 32nm Core i7)
  • Intel“Sandy Bridge”Generation
  • Intel“Ivy Bridge”Generation

ESXi 6.0 支持以下 EVC 模式:

  • AMD Opteron Generation 1(版本 E)
  • AMD Opteron Generation 2(版本 F)
  • AMD Opteron Generation 3 (Greyhound)
  • AMD Opteron Generation 3(无 3Dnow!) (Greyhound)
  • AMD Opteron Generation 4 (Bulldozer)
  • AMD Opteron“Piledriver”Generation
  • Intel“Merom”Generation (Intel Xeon Core 2)
  • Intel“Penryn”Generation (Intel Xeon 45nm Core2)
  • Intel“Nehalem”Generation (Intel Xeon Core i7)
  • Intel“Westmere”Generation (Intel Xeon 32nm Core i7)
  • Intel“Sandy Bridge”Generation
  • Intel“Ivy Bridge”Generation
  • Intel“Haswell”Generation

哪些 CPU 与每个 EVC 模式兼容?

要确定 EVC 模式是否与您的 CPU 兼容,请搜索 VMware Compatibility Guide。 搜索服务器型号或 CPU 系列,并单击 CPU 系列列中的条目以显示兼容的 EVC 模式。

这些模式之间有何差异?

每种模式均密切对应相同名称的处理器中提供的功能。 较新的处理器及其对应的模式包括诸如新指令等其他功能。 例如,Intel Xeon Core i7 处理器添加了 SSE4.2 指令集。 这些指令在早期的处理器或其对应的 EVC 模式中未提供。

AMD EVC 模式公开以下功能:

EVC 模式可用功能
AMD Opteron Generation 1 AMD Opteron 版本 E CPU 的所有功能
AMD Opteron Generation 2 AMD Opteron Generation 的所有功能及其他 CPU 功能,包括 CMPXCHG16B 和 RDTSCP
AMD Opteron Generation 3 AMD Opteron Generation 2 的所有功能及其他 CPU 功能,包括 SSE4A、MisAlignSSE、POPCOUNT、ABM (LZCNT)
AMD Opteron Generation 3(无 3Dnow!)将 AMD Opteron Generation 3 (Greyhound) 处理器的基准功能集(移除了 3DNow! 支持)应用于群集中的所有主机。

此模式允许您准备包含 AMD 主机的群集以接受不支持 3DNow! 的 AMD 处理器。
AMD Opteron Generation 4 将 AMD Opteron Generation 4 (Bulldozer) 处理器的基准功能集应用于群集中的所有主机。

此 EVC 模式公开了更多 CPU 功能,包括 SSSE3、SSE4.1、AES、PCLMULQDQ、XSAVE、AVX、XOP 和 FMA4。
AMD Opteron“Piledriver”Generation将 AMD Opteron“Piledriver”Generation 处理器的基准功能集应用于群集中的所有主机。

此 EVC 模式公开了更多 CPU 功能,包括 FMA3(三操作数 FMA,亦称为 Intel 的 FMA)、BMI1 和 TBM。

Intel EVC 模式公开以下功能:

EVC 模式可用功能
Intel“Merom”Generation (Intel Xeon Core 2) Intel Core2 CPU 的所有功能
Intel“Penryn”Generation (Intel Xeon 45nm Core2)Intel Core2 CPU 的所有功能及其他 CPU 功能,包括 SSE4.1
Intel“Nehalem”Generation (Intel Xeon Core i7)Intel Core2 CPU 的所有功能及其他 CPU 功能,包括 SSE4.2 和 POPCOUNT
Intel“Westmere”Generation (Intel Xeon 32nm Core i7) 将 Intel Xeon 32nm Corei7 (Westmere) 处理器的基准功能集应用于群集中的所有主机。 与 Intel Xeon Corei7 模式相比,此 EVC 模式公开了更多 CPU 功能,包括 AES 和 PCLMULQDQ。

注意: 不支持 AESNI 和 PCLMULQDQ 的 Intel i3/i5 Xeon Clarkdale 系列处理器不可进入高于 Intel Xeon Corei7 模式的 EVC 模式。
注意: Intel Atom™ C2300-C2700 处理器支持 Intel “Westmere”Generation EVC 基准,虽然其架构不同于 Intel “Westmere”Generation 处理器的架构。
Intel“Sandy Bridge”Generation将 Intel“Sandy Bridge”Generation 处理器的基准功能集应用于群集中的所有主机。

此 EVC 模式功能公开了更多 CPU 功能,包括 AVX、XSAVE 和 ULE。

注意: 有些 Sandy Bridge 微架构处理器不提供完整的 Sandy Bridge 功能集。 此类处理器不支持 EVC 模式;只能进入 Intel Nehalem Generation 模式或更低模式。
Intel“Ivy Bridge”Generation将 Intel“Ivy Bridge”Generation 处理器的基准功能集应用于群集中的所有主机。

此 EVC 模式公开了更多 CPU 功能,包括 ENFSTRING、F16C、FSGSBASE、SMEP 和 CPUID 报错。
Intel“Haswell”Generation
将 Intel“Haswell”Generation 处理器的基准功能集应用于群集中的所有主机。

此 EVC 模式公开了更多 CPU 功能,包括高级矢量扩展 2、融合乘加、事务性同步扩展以及新的位操作指令。

如何查找主机支持的 EVC 模式?

在已连接至 vCenter Server 4.0 的 vSphere Client 中,主机摘要选项卡指示是否已启用 EVC,并显示主机的当前 EVC 模式。 单击 EVC 模式旁边的蓝色图标可显示主机的所有支持的 EVC 模式列表。

VMware 还会提供免费的 CPU 标识实用程序,除了其他 CPU 功能之外,该实用程序还显示兼容的 EVC 模式。 您可以下载此实用程序并从 ISO 映像引导主机。

如果我的群集启用了 EVC 并设置为特定 EVC 模式,我的主机位于与此 EVC 模式匹配的群集外部,我是否可以使用 vMotion 在主机和群集之间迁移虚拟机?

是,两个方向都可以。

如何处理 Intel Xeon E3 和 E5 处理器或具有不同版本号或序列号(如 v2、v3、v4 或 x5680、x5687、x5690)的 Intel Xeon X 系列、E 系列、L 系列处理器

为采用 Xeon E3 或 Xeon E5 系列处理器(v2、v3、v4)的群集启用 EVC 时,需要使用 EVC 基准。 这是因为新指令集在不同的版本中都可用。 虽然这些处理器使用相同的 EVC 基准,但是处理器需要使用它将相同的指令集全部提供给虚拟机。

正如不同版本的 Xeon 处理器一样,为采用同一 Xeon 系列(如 E56xx、X56xx、L56xx)的 Intel 处理器的群集启用 EVC 时,需要使用 EVC 基准。 这是因为新指令集在不同的版本中都可用。 虽然这些处理器使用相同的 EVC 基准,但是处理器需要使用它将相同的指令集全部提供给虚拟机。

EVC 与较早的 CPUID 掩码功能(可通过“虚拟机设置”对话框、“选项”选项卡、“CPUID 掩码”选项访问)有何差异?

较早的屏蔽功能涉及将手动掩码应用于单个虚拟机。 EVC 在整个群集和该群集中的所有虚拟机中生效。 更确切地说,EVC 影响主机本身,使群集中的所有主机看似与 CPU 硬件类型相同,即使它们并不相同。

虚拟机的 .vmx 配置文件为何使用 CPUID 位更新?

.vmx 文件包含有关虚拟机正在使用的功能的信息。 VirtualCenter 和 vCenter Server 需要这些信息来提供准确的 vMotion 兼容性检查。 这些值与仍在 .vmx 文件中显示的旧的 CPUID 掩码值无关。

将主机从已启用 EVC 的群集移除时,会发生什么情况?

如果主机离开已启用 EVC 的群集,则会恢复其正常行为。 在该主机上启动的新虚拟机可以访问 CPU 的所有功能,并且不受该主机在 EVC 群集中时生效的 EVC 模式的限制。 请注意,虚拟机之前可以迁移至主机,而现在可能不再允许此操作。

如果提升 EVC 模式,虚拟机能否访问此模式中的新增功能?

直到关闭电源,然后再打开虚拟机电源。 重新引导客户机操作系统是不够的。 虚拟机确定在电源打开时向其提供哪些功能,并且无法访问添加的任何新功能,直到关闭其电源。

W行为异常的应用程序是什么,为什么它会影响 EVC?

行为异常的应用程序是无法使用 CPU 供应商建议的方法来检测 CPU 上支持的功能的应用程序。 建议的方法是运行 CPUID 指令,并查找应用程序预期使用的功能的正确功能位。 由行为异常的应用程序使用的不受支持的方法包括尝试捕获失败或推断 CPU 版本信息中显示的功能。 如果使用不受支持的方法,则应用程序可能会检测到虚拟机正在屏蔽的 EVC 群集中主机上的功能。 由 CPU 供应商提供的 CPUID 屏蔽 MSR 不会禁用实际功能。 因此,应用程序仍可使用屏蔽的功能。 如果正在运行此类应用程序的虚拟机随后使用 vMotion 迁移至物理上不支持这些功能的主机,则该应用程序可能会失败。 VMware 不清楚任何通过商业途径提供的存在行为异常的应用程序。 有关详细信息,请参见 Detecting and Using CPU Features in Applications (1005763)

如果要添加的一些主机没有 AMD-V Extended Migration 或 Intel VT FlexMigration,我能否创建已启用 EVC 的群集?

是。 已启用 EVC 的群集可能包含不具备 AMD-V Extended Migration 或 Intel VT FlexMigration 技术的主机。 例如,Intel Xeon Core2 处理器不具备 Intel VT FlexMigration 技术,但可添加至在 Intel Xeon Core2 EVC 模式下配置的群集。

能否向已启用 EVC 的群集添加 ESXi/ESX 3.5 Update 1 或较早的主机?

否。仅 ESXi/ESX 3.5 Update 2 及更高版本支持 EVC。vCenter Server 不允许添加未向已启用 EVC 的群集提供 EVC 支持的主机。

如果向已启用 EVC 的群集(EVC 模式较低)添加较新的硬件,是否会失去性能?

您的主机硬件提供的所有 CPU 功能均可用于管理程序。 CPU 虚拟化(例如 AMD-V 和 Intel VT-x 或适用于 MMU 虚拟化的工具,如 AMD RVI 或 Intel EPT 支持)的优化仍可由管理程序使用。 在主机加入已启用 EVC 的群集后,仅会在虚拟机中隐藏那些对新 CPU 唯一的 CPU 指令。 通常包括新 SIMD 指令,如最新的 SSE 附加功能。 尽管不可能,但在虚拟机中运行的应用程序会从这些功能中受益,并且该应用程序性能会由于使用不包括这些功能的 EVC 模式而降低。 咨询应用程序供应商以确定哪些 CPU 可由该应用程序使用。

如何知道何时可以为群集提升 EVC 模式?

如果 EVC 群集中的所有主机都支持更高的 EVC 模式,则可以提升已启用 EVC 的群集的 EVC 模式。 由于群集中的旧主机已停用且新主机已添加,这种情况可能会在一段时间内周期性地出现。 使用“更改 EVC 模式”对话框来确定您群集当前可用的 EVC 模式。


有关 vCenter Server 5.0 的相关信息,请参见 vCenter Server and Host Management Guide 中的“CPU 兼容性和 EVC”。

有关 vCenter Server 4.1 的相关信息,请参见 vSphere Datacenter Administration Guide 中的“CPU 兼容性和 EVC”。

如果在群集上禁用 EVC 模式,则会以下列方式影响 vSphere Cluster 功能:
  • vSphere HA (High Availability):由于在新主机上启动关闭电源再打开的虚拟机时进行故障切换,vSphere HA 不受影响。 这会允许虚拟机识别新的 CPU ID 并允许其在没有问题时启动
  • vSphere DRS (Distributed Resource Scheduler):
    • vMotion
      • 在重启虚拟机之前:
        • 它们将维持 CPU 水平直至重启发生。
        • DRS 和 vMotion 操作将和在禁用 EVC 模式前一样。
      • 虚拟机重启后:
        它们只能迁移到其他有着同一代或更新的 CPU 的 ESX/ESXi 主机。
        它们将采用运行所在的 ESXi 主机的 CPU 设置。这可以防止因 CPU 不兼容儿导致的 DRS 操作和虚拟机 vMotion 到其他主机。

    • Storage vMotion: 在群集中禁用 EVC 模式的情况下,可将虚拟机迁移至 Storage vMotio。
  • 交换文件位置: 不受影响。


Additional Information

EVC and CPU Compatibility FAQ