Enhanced VMotion Compatibility (EVC) 功能介绍和实战设置

什么是Enhanced VMotion Compatibility EVC)?

通过CPU硬件底层支持的在线热迁移方案(Intel 通过Flex Migration实现,AMD通过Extended Migration实现),允许虚拟层面上支持CPUID 掩码功能,屏蔽某些CPU功能,通过强制CPU指令集兼容来实现不同CPU系列之间的在线热迁。

看起来有些不是很好理解,简单举个例子吧。大家都知道Vmotion功能在实战中的意义是非常重要的,但是Vmotion对于CPU的要求比较苛刻,对于不同系列CPU是无法自动实现Vmotion的功能,比如在HP 380G4HP380G5之间不通过人工修改是绝对无法实现Vmotion的。在VI的实施过程中,会碰到一个群组里面的服务器CPU不同的情况。比如三个月前买的服务器是基于Intel 53xxCPU,由于应用的扩大,需要给群组添加新的服务器,而新购买的服务器是基于Intel 54xxCPU,由于Intel 54xx CPU 增加了SSE4.1指令集,导致新服务器加入群组后,无法实现虚拟机从旧服务器到新服务器的在线热迁(VMotion)


没有EVC之前,解决方案是通过手工计算CPU Masking,逐个修改每个虚拟机的配置文件或者全局修改VC服务器上的vpxd.cfg 来实现不同系列CPU之间兼容性的问题。

这样做的缺点是需要人工设计对于群组中所有服务器兼容的CPU Masking,并且,当群组中有新的服务器加入后,为了避免可能的不兼容情况,需要再次手工计算一个新的CPU Masking

VI推出EVC 之后,以上所有的手工工作都由VCESX Server完成了。vmware通过和CPU厂商的合作,通过在硬件底层上直接支持CPUID 掩码功能。

这样的好处显而易见,一是避免了繁琐的人工干预部分,提高了系统的稳定性。二是当群组中有新的服务器加入的话,VC 会自动判别是否新服务器与群组在Vmotion层面上兼容,如果不兼容,不会允许服务器加入的,提高了自动化程度。

特别注意:
AMD Intel 之间无法实现EVC


实战上的设置

设置上比较简单,请注意以下事项:

  • ESX Server升级到3.5.0 Update 2以上,Virtual Center升级到VC 2.5.0 Update 2以上

  • BIOSProcessor Option
    打开VT XD 二个开关

  • ClusterEVC选项上选择Enable即可。


如果要在旧的 Cluster 启用 EVC 支持,必须将 Cluster 中所有 Host 上的虚拟机全部关闭,实际生产环境中较难做到。我的解决方法是新建一个 Cluster ,将每一台 Host 上的虚拟机热迁到其他 Host 上后,重启这台空闲的 Host ,在 BIOS 中打开 VT XD 开关后,将其移入新建的 Cluster 中,并将原先在其之上的所有虚拟机在热迁回来。每台 Host 均如此操作,直至所有 Host 移入 EVC Enabled Cluster 中。



参考文章:

Enhanced VMotion Compatibility (EVC) processor support


http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1003212

你可能感兴趣的:(EVC)