论文部分内容阅读
或许我们用“复兴”一词来形容硬件虚拟化技术在今后一段时间对计算的影响,多少有些危言耸听。但当我们回首最近10年IT技术的高速发展,欣喜之余,又不禁为越来越低的硬件资源利用率与日益紧迫的能源、功耗、空间、人力等自然资源之间的矛盾开始担忧,是技术超前消费了我们的环境,还是我们在浪费地球的资源?计算是需要继续这么一路狂奔,还是需要换个思路再度腾飞?现在是时候,冷静地考虑一下了。
其实,本刊早在2006年底对新的一年进行展望时就将虚拟化技术视为2007年重点关注的一项核心技术。当时,我们就断言多核心处理器的全面普及,毕定引发虚拟化技术的迅猛成长。因为我们之前的在线调查已经显示,几乎100%的企业计算用户,都很少能让自己的服务器、存储设备,乃至电脑终端真正跑起来,他们的资源利用率,按照网友自己估计,大都不超过5成。在企业竞争如此激烈、IT成本预算紧缩的大势下,特别是在支持虚拟化技术的多核硬件平台真正普及以后,虚拟化应用自是水到渠成的事儿。也正因为如此,前不久刚刚落幕的《2007全球虚拟化技术大会》,就吸引了包括Novell、Intel、AMD、IBM、HP、Fujitsu、Dell等业界巨头纷纷驻足,共同探讨虚拟化技术的发展与应用趋势。
虚拟化技术,老兵新传
虚拟化的确是个抽象的概念,它涵盖了一些与IT资源整合/管理相关的定义。所谓虚拟化,就是指通过向用户屏蔽底层硬件资源的物理性质和边界的方式将IT资源合并入虚拟机(VM),从而让应用不再局限于特定的硬件环境。简而言之,就是使软件和硬件相互分离,以便让应用更加灵活、可控。
而我们称之为“老兵”,主要是因为它的发展历史其实已经非常久远。它最早源于上世纪六、七十年代的大型主机,目的也是要解决硬件资源合理调配、充分利用的问题。从这个角度上看,这项技术已经发展到了一个较成熟的阶段。而所谓“新传”则是指今天,这项技术正被逐渐转移到广大中低端民用计算,甚至正在尝试进入终端平台和家庭市场。
当然,在这个过程中,我们也看到不同的厂商带来了不同的虚拟化技术与配套的解决方案。特别是像Intel、AMD这样的PC核心技术厂商,在自己的硬件平台(CPU)中逐步集成了虚拟技术的硬件支持指令(Intel VT和AMD AMD.V),从而实现严格的故障和性能隔离,这更让我们看到了虚拟技术普及化的新趋势。记得当年Intel首席技术官基辛格博士在IDF大会上宣布要在Intel处理器中加入VT虚拟化技术时,包括我本人在内的很多人还对此表示过质疑,不过今天看来,虚拟化技术的确已经势在必行了。
虚拟化也有殊途
虚拟化技术发展到今天,也呈现了一些不同的技术类型走势,目前比较受到关注的虚拟化技术大体可分为:完全虚拟化、超级管理程序(Hypervisor)虚拟化(简称,超虚拟化)、聚合虚拟化和共享操作系统虚拟化,其中又以前2种最为盛行,使用范围最广。
完全虚拟化技术,通过硬件、软件或二者的组合,模拟一个完整的平台,用于支持现有操作系统在其上直接安装和运行。基于完全虚拟化的虚拟机采用了一个虚拟层,它能协调对硬件资源的访问,并允许多个操作系统实例(甚至是互不兼容的操作系统)同时在一个服务器上和谐共存。然而,这一中介层要求虚拟机捕获并模拟所有特权指令,导致性能可能降低50%。另外,在完全虚拟化中,运行虚拟机的主机操作系统可能产生单点故障。许可复杂性及扩展性的限制也是无法消除的顾虑。
此方法最大的优势就在于无需对虚拟机上的操作系统进行任何修改,适用于目前主流PC平台上的几乎所有系统,使用非常方便。不过,由于操作系统设计为在物理硬件上运行,因此它无法识别底层的虚拟机监视程序(Virtual Machine Monitor,VMM),这个程序既可能是超级管理程序,也可能是基于主机的解决方案。这样最大的缺点就是,每台虚拟机都无法与其它虚拟机合作,动态地共享硬件资源、优化性能。当前完全虚拟化技术最常见、几乎成为“代言人”的应用方案就是VMWare的系列虚拟化产品。
超虚拟化(经过优化的虚拟化),与完全虚拟化不同,它仅部分模拟硬件,并需要对操作系统(OS)进行修改,从而优化操作系统在虚拟化环境中的性能。其核心层的超级管理程序可以使用一些有助于将基本硬件资源提取到虚拟机的API。超虚拟化要求对虚拟机操作系统中与硬件相关的部分进行修改,从而识别虚拟化层。当然了,超级管理程序也可以避开难以虚拟化的处理器指令,而用具备此功能的程序调用来替换它们。因此,超虚拟化的虚拟机的性能通常优于完全虚拟化的虚拟机。
与传统的虚拟化解决方案相比,超虚拟化方案无疑更将受欢迎,且前景广阔,因为其操作更快捷,且性能更高效。尤其是与新一代启用虚拟化技术的x86芯片(如Intel VT和AMD-V处理器)结合后,它将拥有更强大的优势。超虚拟化能使多个操作系统实例同时部署并运行在单个物理服务器上,不需要使用通用主机操作系统作为访问硬件的主要方法,因而可以实现机器之间和谐地共享内存,而无需修改主机操作系统。可惜,该技术并不支持硬件资源进行分散式分配。按照今天的预估,到2008年,超级管理程序技术将有可能占据idnux上90%的虚拟机部署份额。
最热门的超虚拟化技术正是Xen超级管理程序,它是一种开放源码虚拟化技术。作为一个平台,Xen让多个操作系统在访问硬件时就好像它们是服务器上性一的操作系统,从而可在单个物理硬件上的虚拟机中运行多个操作系统。为了各操作系统可在Xen上实现最佳性能,必须对这些操作系统进行修改,使其能够识别超级管理程序。由于Xen允许对客户操作系统进行调整和优化以适用于虚拟机,因此它还使管理员能够在单个物理系统上安全运行多个虚拟机,且性能堪比本机代码。
更值得一提的是,Xen也可以在AMD-V或Intel VT芯片的支持下,运行未经修改的正常操作系统,尽管这样做肯定会比经软件优化过的系统效率低。
聚合虚拟化技术,正好可以弥补超虚拟化技术的缺失,它能够聚合分散的计算资源(服务器/处理器、内存、输入/输出处理器等),以供一个操作系统的单个实例使用。
小试VMware虚拟机
为了体验目前虚拟化技术在普通家庭和日常办公领域的实际性能表现。我们利用VMware最新一代的Workstation 6.0和Server 1.0.3分别在Windows Vista和Windows XP SP2下,对基于Intel Core 2 Due E7650+Asus P35(P5K3 Deluxe)+WInTec 512M8×2 DDR3 PC3-8500+nVIDIA GeFore 8600GTS硬件平台进行了虚拟化性能表现测试。
我们在VMware中首先创建一个拥有512MB内存的双核虚拟机,然后在其上安装Vista操作系统,并运行WorldBench6Beta2进行测试。让人振奋的是。我们在虚拟机上安装Vista Ultimate只需大约15分钟,与在真实机器上大体相当。看来今天的虚拟机基本执行效率已经不弱了。
测试成绩显示。在处理器计算能力方面。今天的虚拟技术已经比较成熟。可以较高效地完成日常计算任务,如Office、WinZip、Firefox等方面,几乎已达到了本地物理机器上的表现,但在3ds max、PhotoShop等图形依赖性稍强的应用中,虚拟机的表现则大幅削弱,当然.这也与目前的虚拟机尚无法把显卡硬件加速单元虚拟进虚拟机的限制有关。不过。这也从另一个侧面再次证实。目前的虚拟技术还是更适合处理器计算密集或数据密集型的企业计算服务与商业办公方面的应用。
共事操作系统虚拟化技术,则支持多个应用程序使用单个操作系统实例,并能够向各应用程序动态分配合适的资源,而不会对这些应用程序的操作产生影响。
谁是虚拟技术真正受益者
尽管Intel极力为家庭用户勾勒出基于虚拟化技术的娱乐PC在日常家庭成员共享电脑平台时美好的蓝图,但从我们基于Intel Core 2 Due E7650的实际测试(详见《小试VMware虚拟机》)来看,至少短期内它还不具备真正在家庭娱乐领域普及的条件。因而近期虚拟技术的真正受益者仍是企业用户。
在企业应用领域,越来越多企业用户开始借助服务器虚拟化来最大化硬件利用率,消除服务器的迅猛增长,以及动态响应不断变化的资源和应用需求。通过将业务应用程序及服务整合到少量具有高扩展性、高可靠性的企业级服务器上运行,虚拟化技术能够极大地减少采购、资源配置及维护成本。
服务器虚拟化还支持从一个与实际工作负载拥有相同环境的“沙盘”(sandbox)中进行快速软件测试与部署。通过虚拟化技术,你可以根据需要对虚拟机(VM)进行自由地迁移。这样,即使你的要求不断变化,也可以达到最高的计算机资源利用率。此外,随着开放源码的Xen超级管理程序等新技术的出现,虚拟化技术的使用也得到了充分的简化。
其实,也不只是服务器领域,在商用终端方面的应用也正悄然崛起。NEC信息系统(中国)有限公司最新一代VirtualPC Center(VPCC)的全新NEC VirtualPC型瘦客户机系统解决方案就是利用类似的虚拟计算得以实现的。
NEC的VPCC瘦客户机系统包括一台下一代瘦客户机计算设备US100,虽然是体型最小的瘦客户机,它却可以提供出众的IP电话和视频处理质量。US100采用NetClient以实现优异的多媒体性能;NetClient采用NEC和ServerEngines LLC技术的高级片上系统解决方案。新系统采用VMware虚拟桌面基础架构,通过VMware虚拟桌面基础架构联合程序进行协作预装并集成到NEC系统中。
VPCC系统可以将多个PC操作系统连同应用程序整合在一台服务器的虚拟化环境中,并允许多个最终用户共享,从而改善了客户端环境。最终用户可以从已经本地化的瘦客户机终端设备,通过配备显示器、键盘和鼠标的虚拟个人电脑访问安全数据中心服务器上的数据。
US100的突破性功能增强包括高质量的音频和语音VoIP功能、优异的视频处理性能以及较低的初次安装成本。除了提供强健的安全性和移动性之外,全新的瘦客户机系统还能提供一个利用IP电话和视频的商业环境,可与标准商用个人电脑或客户端环境媲美,而成本更低廉。与采用商用个人电脑的传统系统相比,NECUS100虚拟个人电脑的省电效果超出60%。
虚拟化技术将改变企业计算架构的观点已经在业界达成了共识,人们也热切期待它能扭转今天硬件计算能力不断扩张带来的却是高消耗、低成长的尴尬局面。只是,目前针对虚拟化而进行的底层硬件级优化还只是刚刚起步,因此,在很多情况下,其实际性能表现往往还比较有限。为此Intel和AMD也都会发布更深层面的.针对I/O、内存访问等方面的虚拟技术,从而让整个平台真正地动起来,相信届时。我们能够看到更多虚拟技术带来的应用优势。
其实,本刊早在2006年底对新的一年进行展望时就将虚拟化技术视为2007年重点关注的一项核心技术。当时,我们就断言多核心处理器的全面普及,毕定引发虚拟化技术的迅猛成长。因为我们之前的在线调查已经显示,几乎100%的企业计算用户,都很少能让自己的服务器、存储设备,乃至电脑终端真正跑起来,他们的资源利用率,按照网友自己估计,大都不超过5成。在企业竞争如此激烈、IT成本预算紧缩的大势下,特别是在支持虚拟化技术的多核硬件平台真正普及以后,虚拟化应用自是水到渠成的事儿。也正因为如此,前不久刚刚落幕的《2007全球虚拟化技术大会》,就吸引了包括Novell、Intel、AMD、IBM、HP、Fujitsu、Dell等业界巨头纷纷驻足,共同探讨虚拟化技术的发展与应用趋势。
虚拟化技术,老兵新传
虚拟化的确是个抽象的概念,它涵盖了一些与IT资源整合/管理相关的定义。所谓虚拟化,就是指通过向用户屏蔽底层硬件资源的物理性质和边界的方式将IT资源合并入虚拟机(VM),从而让应用不再局限于特定的硬件环境。简而言之,就是使软件和硬件相互分离,以便让应用更加灵活、可控。
而我们称之为“老兵”,主要是因为它的发展历史其实已经非常久远。它最早源于上世纪六、七十年代的大型主机,目的也是要解决硬件资源合理调配、充分利用的问题。从这个角度上看,这项技术已经发展到了一个较成熟的阶段。而所谓“新传”则是指今天,这项技术正被逐渐转移到广大中低端民用计算,甚至正在尝试进入终端平台和家庭市场。
当然,在这个过程中,我们也看到不同的厂商带来了不同的虚拟化技术与配套的解决方案。特别是像Intel、AMD这样的PC核心技术厂商,在自己的硬件平台(CPU)中逐步集成了虚拟技术的硬件支持指令(Intel VT和AMD AMD.V),从而实现严格的故障和性能隔离,这更让我们看到了虚拟技术普及化的新趋势。记得当年Intel首席技术官基辛格博士在IDF大会上宣布要在Intel处理器中加入VT虚拟化技术时,包括我本人在内的很多人还对此表示过质疑,不过今天看来,虚拟化技术的确已经势在必行了。
虚拟化也有殊途
虚拟化技术发展到今天,也呈现了一些不同的技术类型走势,目前比较受到关注的虚拟化技术大体可分为:完全虚拟化、超级管理程序(Hypervisor)虚拟化(简称,超虚拟化)、聚合虚拟化和共享操作系统虚拟化,其中又以前2种最为盛行,使用范围最广。
完全虚拟化技术,通过硬件、软件或二者的组合,模拟一个完整的平台,用于支持现有操作系统在其上直接安装和运行。基于完全虚拟化的虚拟机采用了一个虚拟层,它能协调对硬件资源的访问,并允许多个操作系统实例(甚至是互不兼容的操作系统)同时在一个服务器上和谐共存。然而,这一中介层要求虚拟机捕获并模拟所有特权指令,导致性能可能降低50%。另外,在完全虚拟化中,运行虚拟机的主机操作系统可能产生单点故障。许可复杂性及扩展性的限制也是无法消除的顾虑。
此方法最大的优势就在于无需对虚拟机上的操作系统进行任何修改,适用于目前主流PC平台上的几乎所有系统,使用非常方便。不过,由于操作系统设计为在物理硬件上运行,因此它无法识别底层的虚拟机监视程序(Virtual Machine Monitor,VMM),这个程序既可能是超级管理程序,也可能是基于主机的解决方案。这样最大的缺点就是,每台虚拟机都无法与其它虚拟机合作,动态地共享硬件资源、优化性能。当前完全虚拟化技术最常见、几乎成为“代言人”的应用方案就是VMWare的系列虚拟化产品。
超虚拟化(经过优化的虚拟化),与完全虚拟化不同,它仅部分模拟硬件,并需要对操作系统(OS)进行修改,从而优化操作系统在虚拟化环境中的性能。其核心层的超级管理程序可以使用一些有助于将基本硬件资源提取到虚拟机的API。超虚拟化要求对虚拟机操作系统中与硬件相关的部分进行修改,从而识别虚拟化层。当然了,超级管理程序也可以避开难以虚拟化的处理器指令,而用具备此功能的程序调用来替换它们。因此,超虚拟化的虚拟机的性能通常优于完全虚拟化的虚拟机。
与传统的虚拟化解决方案相比,超虚拟化方案无疑更将受欢迎,且前景广阔,因为其操作更快捷,且性能更高效。尤其是与新一代启用虚拟化技术的x86芯片(如Intel VT和AMD-V处理器)结合后,它将拥有更强大的优势。超虚拟化能使多个操作系统实例同时部署并运行在单个物理服务器上,不需要使用通用主机操作系统作为访问硬件的主要方法,因而可以实现机器之间和谐地共享内存,而无需修改主机操作系统。可惜,该技术并不支持硬件资源进行分散式分配。按照今天的预估,到2008年,超级管理程序技术将有可能占据idnux上90%的虚拟机部署份额。
最热门的超虚拟化技术正是Xen超级管理程序,它是一种开放源码虚拟化技术。作为一个平台,Xen让多个操作系统在访问硬件时就好像它们是服务器上性一的操作系统,从而可在单个物理硬件上的虚拟机中运行多个操作系统。为了各操作系统可在Xen上实现最佳性能,必须对这些操作系统进行修改,使其能够识别超级管理程序。由于Xen允许对客户操作系统进行调整和优化以适用于虚拟机,因此它还使管理员能够在单个物理系统上安全运行多个虚拟机,且性能堪比本机代码。
更值得一提的是,Xen也可以在AMD-V或Intel VT芯片的支持下,运行未经修改的正常操作系统,尽管这样做肯定会比经软件优化过的系统效率低。
聚合虚拟化技术,正好可以弥补超虚拟化技术的缺失,它能够聚合分散的计算资源(服务器/处理器、内存、输入/输出处理器等),以供一个操作系统的单个实例使用。
小试VMware虚拟机
为了体验目前虚拟化技术在普通家庭和日常办公领域的实际性能表现。我们利用VMware最新一代的Workstation 6.0和Server 1.0.3分别在Windows Vista和Windows XP SP2下,对基于Intel Core 2 Due E7650+Asus P35(P5K3 Deluxe)+WInTec 512M8×2 DDR3 PC3-8500+nVIDIA GeFore 8600GTS硬件平台进行了虚拟化性能表现测试。
我们在VMware中首先创建一个拥有512MB内存的双核虚拟机,然后在其上安装Vista操作系统,并运行WorldBench6Beta2进行测试。让人振奋的是。我们在虚拟机上安装Vista Ultimate只需大约15分钟,与在真实机器上大体相当。看来今天的虚拟机基本执行效率已经不弱了。
测试成绩显示。在处理器计算能力方面。今天的虚拟技术已经比较成熟。可以较高效地完成日常计算任务,如Office、WinZip、Firefox等方面,几乎已达到了本地物理机器上的表现,但在3ds max、PhotoShop等图形依赖性稍强的应用中,虚拟机的表现则大幅削弱,当然.这也与目前的虚拟机尚无法把显卡硬件加速单元虚拟进虚拟机的限制有关。不过。这也从另一个侧面再次证实。目前的虚拟技术还是更适合处理器计算密集或数据密集型的企业计算服务与商业办公方面的应用。
共事操作系统虚拟化技术,则支持多个应用程序使用单个操作系统实例,并能够向各应用程序动态分配合适的资源,而不会对这些应用程序的操作产生影响。
谁是虚拟技术真正受益者
尽管Intel极力为家庭用户勾勒出基于虚拟化技术的娱乐PC在日常家庭成员共享电脑平台时美好的蓝图,但从我们基于Intel Core 2 Due E7650的实际测试(详见《小试VMware虚拟机》)来看,至少短期内它还不具备真正在家庭娱乐领域普及的条件。因而近期虚拟技术的真正受益者仍是企业用户。
在企业应用领域,越来越多企业用户开始借助服务器虚拟化来最大化硬件利用率,消除服务器的迅猛增长,以及动态响应不断变化的资源和应用需求。通过将业务应用程序及服务整合到少量具有高扩展性、高可靠性的企业级服务器上运行,虚拟化技术能够极大地减少采购、资源配置及维护成本。
服务器虚拟化还支持从一个与实际工作负载拥有相同环境的“沙盘”(sandbox)中进行快速软件测试与部署。通过虚拟化技术,你可以根据需要对虚拟机(VM)进行自由地迁移。这样,即使你的要求不断变化,也可以达到最高的计算机资源利用率。此外,随着开放源码的Xen超级管理程序等新技术的出现,虚拟化技术的使用也得到了充分的简化。
其实,也不只是服务器领域,在商用终端方面的应用也正悄然崛起。NEC信息系统(中国)有限公司最新一代VirtualPC Center(VPCC)的全新NEC VirtualPC型瘦客户机系统解决方案就是利用类似的虚拟计算得以实现的。
NEC的VPCC瘦客户机系统包括一台下一代瘦客户机计算设备US100,虽然是体型最小的瘦客户机,它却可以提供出众的IP电话和视频处理质量。US100采用NetClient以实现优异的多媒体性能;NetClient采用NEC和ServerEngines LLC技术的高级片上系统解决方案。新系统采用VMware虚拟桌面基础架构,通过VMware虚拟桌面基础架构联合程序进行协作预装并集成到NEC系统中。
VPCC系统可以将多个PC操作系统连同应用程序整合在一台服务器的虚拟化环境中,并允许多个最终用户共享,从而改善了客户端环境。最终用户可以从已经本地化的瘦客户机终端设备,通过配备显示器、键盘和鼠标的虚拟个人电脑访问安全数据中心服务器上的数据。
US100的突破性功能增强包括高质量的音频和语音VoIP功能、优异的视频处理性能以及较低的初次安装成本。除了提供强健的安全性和移动性之外,全新的瘦客户机系统还能提供一个利用IP电话和视频的商业环境,可与标准商用个人电脑或客户端环境媲美,而成本更低廉。与采用商用个人电脑的传统系统相比,NECUS100虚拟个人电脑的省电效果超出60%。
虚拟化技术将改变企业计算架构的观点已经在业界达成了共识,人们也热切期待它能扭转今天硬件计算能力不断扩张带来的却是高消耗、低成长的尴尬局面。只是,目前针对虚拟化而进行的底层硬件级优化还只是刚刚起步,因此,在很多情况下,其实际性能表现往往还比较有限。为此Intel和AMD也都会发布更深层面的.针对I/O、内存访问等方面的虚拟技术,从而让整个平台真正地动起来,相信届时。我们能够看到更多虚拟技术带来的应用优势。