MCPLive > 杂志文章 > x86硬件辅助虚拟化之迷

x86硬件辅助虚拟化之迷

2010-06-04hjcbug《微型计算机》2010年5月上

虚拟化的硬件环境

需要哪些硬件支持

从处理器推出硬件虚拟化技术到现在,已经有四年的时间。虽然不少主流市售的处理器已经支持硬件虚拟化技术,一些新型的主板芯片组也提供了对I/O虚拟化的支持,但总的来看并非所有平台已经普及硬件虚拟化支持。对于企业用户来说,要想知道自己是否可以从本文中学以致用,首先要看公司的设备是否有配套的“兵器”(CPU或者主板),有必要对公司的硬件装备进行一次例行检查。

英特尔VT(如不特殊说明,本文均只指VT-x技术)和AMD-V的硬件支持不仅仅局限于CPU,BIOS中是否开启相关选项,芯片组是否内置相关技术都是虚拟化支持的条件。

英特尔CPU对虚拟化的支持情况精确到了CPU的SPEC code,以英特尔 Core2 Duo系列处理器为例,即使是同一型号,也有可能分为支持虚拟化和不支持虚拟化的多个批次,例如Core 2 Duo E7500中,编号为SLB9Z的不支持,SLGTE的支持。如果大家想了解公司的英特尔CPU是否支持虚拟化,好的办法是去官方网站查询,查询网址是:http://ark.intel.com/VTList.aspx

AMD早支持AMD-V的产品是2006年发布的Orlean内核的Athlon 64。在服务器CPU方面,REV.F版本的皓龙(Opteron)及后续版本(包括巴塞罗那、上海、伊斯坦布尔等核心)的处理器都支持;在桌面处理器方面,除了Sempron系列、Rev.F版本以前的Athlon/Athlon 64 X2系列,均支持AMD-V;除了Sempron系列和Turion K8 Rev E系列以外,AMD之后的移动处理器均支持。


图1 BIOS界面里的虚拟化开启选项

BIOS是否支持虚拟化也很重要,一般会有如图1的设置界面,若要实现虚拟化功能,需要用户在BIOS中启用它。如果BIOS中找不到相关选项,那么就只能到主板厂家的官方站点去查询下载新版的BIOS,看是否提供了开启虚拟化的功能。英特尔和AMD其实都提供了对应的MSR寄存器来对硬件虚拟化技术进行激活和屏蔽处理。主板厂家在写BIOS Code的时候只需要进行相应设定即可。

关于芯片组支持虚拟化特性,主要是指对虚拟化I/O的支持。在英特尔平台是指支持VT-d,ICH9系列和ICH10系列南桥都符合要求,而如果采用X58芯片组配合Core i7系列处理器,则可以组成虚拟化功能全面的配置。AMD方面则主要在它们的服务器芯片组领域提供了I/O、MMU的虚拟化支持特性,例如SR5690和SR5670芯片组。

如何用工具检测

上面三点是检测虚拟化功能的三个要点,但对于一般用户来说,总是希望能通过软件直接了解公司的配置是否支持虚拟化。能够检测虚拟化技术的工具软件非常多,笔者推荐SecurAble,因为其它一些CPU信息类检测软件检测到的VT开启实际上多半只是对CPU寄存器的探测,并没有考虑到BIOS相关设定。


图2 SecurAble是一个可执行文件,下载后直接运行即可。


图3 这是笔者在BIOS中关闭VT选项后的截图。

另外提醒大家注意的是,这款工具并不能检测VT-d。当有如图2所示显示的时候,就表明你的英特尔CPU支持虚拟化并且在BIOS中VT的设置已经打开,如果显示Locked Off(图3)则表示在BIOS中进行了屏蔽或相关设定,使得虚拟化选项没有正常开启,如果显示NO则表示CPU不支持虚拟化。

分享到:

用户评论

用户名:

密码: