开启硬件辅助虚拟化——Intel虚拟化之旅
English Title: Turn on Hardware-Assisted Virtualization within Virtual PC 2007(sp1)
mail to: withtu@gmail.com
准备好了吗
这个标题有点象枪文,但我并没有为Intel做广告,只是告诉大家我是基于Intel VT为基础写下此文的。
开始阅读此文之前,还请各位捧场的朋友先参考以下Prerequisite:
Virtualization:
http://en.wikipedia.org/wiki/Virtualization
Microsoft Application Virtualization: http://en.wikipedia.org/wiki/Microsoft_Application_Virtualization
Intel® Virtualization Technology:
http://www.intel.com/technology/virtualization/
Intel® Core™2 Duo Processor(65nm):
http://www.intel.com/products/processor/core2duo/specifications.htm?iid=prod_core2duo+tab_spec
注:为了保证知识来源的可靠性,以上连接分别引用自WIKI和Intel官方网站。另外,为了避免歧义,并没有提供中文参考链接,敬请谅解。
辅助虚拟化技术
Intel虚拟化技术(Intel Virtualization)
英特尔® 虚拟化技术(Intel® VT)增强了纯软件虚拟化解决方案的可靠性、支持性、安全性和灵活性。硅芯片的这一先进特性表明技术上已取得重大突破,开销从此将有所下降,各种操作系统将获得支持。
----by Matt Gillespie
英特尔与领先的虚拟机监控器(VMM)厂商携手,可确保软硬件虚拟化解决方案能够完美地组合在一起,这将有助于提高下一代客户解决方案的性能。由于许多供应商都提供虚拟化软件,因此,过去只有在大型机上才具备的诸多功能,如今基于英特尔® 架构的服务器也已将能够实现。在所有的系统中,可用的解决方案包括如下的实例:
VMWare(EMC):ESX Server*、VMWare 服务器*(VMWare Server*)、VMWare Player*,以及 VirtualCenter*
微软:Virtual Server* 和 Virtual PC*
Xen 开放源代码社区:Xen
Virtual Iron:Virtual Iron*
SW Soft:Virtuozzo*
Parallels:Parallels Workstation*
注:本部分介绍引用自官方介绍:http://www.intel.com/cd/ids/developer/apac/zho/dc/xeon/300269.htm
AMD虚拟化技术(AMD Virtualization)
简言之,AMD Virtualization技术是一项基于硬件的技术,该技术支持虚拟软件在一台基于AMD皓龙处理器的物理服务器上运行多个操作系统和应用,有助于服务器实现更高的效率和利用率。你无需再采用“一个操作系统、一个应用和一台服务器”这种运行模式。AMD的Virtualization技术使你能更好地利用自己的资源,你的服务器和工作站将变得更加高效,数据中心的运转也更加有效。
例如,当今的服务器在以不足15%的容量运行时,其能耗和散热仍保持在24×7的水平。AMD Virtualization技术具有快速虚拟化索引的功能,这就意味着AMD四核皓龙处理器能够简化数据中心,实现更高的利用率。
注:本部分介绍引用自http://cio.ciw.com.cn/cio20/20071107153820.shtml
让你的“芯”动起来
OK,上面的介绍乱七八糟的,接下来看看怎么开启辅助虚拟化功能了。
首先,你至少需要一颗和我一样支持Intel VT技术的“芯”。如果你用的是Intel但不确定是否支持,请至Intel官方查询产品信息。
其次,你的“芯”要支持x64扩展,现在已经是主流了,基本上都在推64位CPU。
最后,直接了当。重启计算机,进入BIOS,找到CPU设置项,将Intel Virtualization Technology设置成Enabled。然后需要硬重启才可以生效。(注意:F10保存BIOS配置之后系统会自动重启,或CTRL+ALT+DEL软重启。然而此时虚拟化技术是不会启用的。重启之后请Shutdown你的系统,之后再开机。)
打开Virtual PC,打开虚机的配置项,如图:
其中有项名为Hardware Virtualization,如果没有开启硬件虚拟化或CPU不支持,那么该选项是禁用无法操作的。当我们开启硬件虚拟化之后,该选项即可设置。
最后,启动您的虚拟机,运行在硬件辅助虚拟化技术之上的虚机将会立即运作起来!
性能增强
OK,启用硬件虚拟化之后你会问,启用之后有什么变化?有些人可能会问,有没有地方可以配置,或者虚拟里还需不需要配置?
在这里我只对硬件虚拟化带来的性能提升做个简要分析(因为是分析别人的数据)。启用虚拟化之后,您的VPC或者VM没有丝毫变化。但是如果您觉得您的虚拟机的运行速率或者响应情况没有丝毫提升,反而下降了的话,那么,我在这向您道歉,白花时间在我这篇随笔上了。
其实,在John Howard(Senior Program Manager, Hyper-V team, Windows Core Operating System Division)的BLOG上有些数据,大家可以看下:
步骤 | 使用Windows硬件辅助(秒) | 不使用Windows硬件辅助(秒) | 提升(秒/%) |
1、文本模式安装 | 236 | 334 | 98s=29% |
2、初期GUI安装 | 167 | 287 | 98s=29% |
3、GUI安装完成 | 733 | 985 | 252=26% |
4、安装虚拟工具后重启 | 10 | 14 | 4=29% |
大家花5分钟看下最后一列,再想想您平常使用VPC时的场景,然后仔细想一想。
注意:这些数据并没有经过非常精确的统计和度量,所以不严谨之处还请见谅。
小小的总结
为什么有此文?因为我刚刚干掉了我的Lotus,准备在做一个虚机。找了这个空档写了此文。写到这的时候发现我的虚机早已经装好了,而我花了近半个小时的时间准备之前的参考内容和链接,还请见谅。
其实,在我的机器上使用Intel VT之后,VPC运行速度提升了不少。相对于很久不用的VMWare,客观来讲,要快很多。。
顺便提下我的小“芯”(绝无显摆之意,如果此文至此都没主角介绍,就没什么意思了)
其他参考
Industry Leading Virtualization Platform Efficiency
http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118_8796_14287,00.html
Microsoft-AMD Virtualization Whitepaper