服务器 频道

分析:虚拟化的“芯”动力(下)

    【IT168 专稿】“虚拟化的‘芯’动力(上)”里,我们介绍了服务器虚拟化存在的问题,两大芯片厂商Intel和AMD的解决之道。本期我们将介绍当前主流厂商的虚拟化方法,以及它们对传统的挑战。

谁是赢家?

    在三种主要的hypervisor技术中,来自Xen和Microsoft的最新成果都将从芯片辅助的虚拟化之中获得最大的帮助。这些新的处理器级的功能消除了许多VMware曾花费很多年时间、开发很多睿智软件力求解决的障碍。随着硬件虚拟化技术的改进,采取创新的方法来解决这些问题已经变得很容易,随之关注点也由hypervisor本身转移到性能和管理方面的考虑。

    在此,我们将全面分析三种完整的服务器虚拟化最新成果,这些环境能够同时支持Windows Server 2003和Linux,而且我们把关注点放在供应和管理一个跨越多个物理机器的统一的服务器资源池。对于开源的Xen hypervisor,我们选择Virtual Iron为代表来介绍,因为它对Xen虚拟化提供了全面服务方法。

VMware
 
    目前虚拟化领域的市场领导者是VMware的企业级产品ESX Server。该VM model使用装载在每一个物理机器上的“服务控制台”来管理和控制hypervisor的动作,也提供对管理代理的支持。

    VMware使用二进制转化方法来提供一个通用的硬件平台,这就意味着软件放置在物理和虚拟设备之间来管理资源,以及“诱捕和转化”可能导致VM损坏的操作系统错误状况。这种方法解决了传统x86硬件管理的ring转换问题,并支持不加任何改变地使用所有x86兼容的操作系统,但也有很高代价:软件模拟硬件服务在换来灵活性的同时也产生性能下降的弊端;而且这个性能影响也不小,一些市场估计数字将近10%~30%,当然这也是取决于不同的应用以及不同的评估者。
   
    幸运的是,VMware已经从芯片辅助的虚拟化技术中获益,ESX Server 3.0已经有了大量的性能提升,并充分利用了新的处理器特性。

    目前ESX Server在企业级、多操作系统服务器虚拟化市场上占有绝对优势,并且有大量的企业级管理工具包支持,为高可用性环境提供了集中化的管理、现场虚拟服务器迁移、自动化资源安排scheduling、分布式文件服务、整合的备份以及高级保护。VMware虚拟服务也能很好地集成在已经使用了IBM Tivoli、HP OpenView等高端管理系统的数据中心中。

VMware和Xen的比较

Virtual Iron的Xen

    开放源代码的Xen hypervisor 开始的时候只是剑桥大学计算机实验室的一个有趣的项目。Xen的第一版本是以Linux社区为目标,基于para-virtualization技术,需要Linux内核作特殊修改才能够在Xen hypervisor 上运行。

    需要指出的是,这是一个单向的改变,也就是说,修改后的内核就不能再在传统的没有Xen hypervisor的硬件之上运行了。同样也是因为Para-virtualization, 在早期的Xen版本上运行Windows也是不太可能的, 因为不允许Windows被修改。

    在2005年12月,Xen开发团队发布了Xen 3.0,这是其免费软件hypervisor的第一个版本,支持芯片辅助技术,借助于Intel VT-x或AMD-V的帮助,可以运载各种操作系统不需要做任何改变既可运行在其上。
 
    Xen 3.0产生的影响也是巨大的:消除了对para-virtualization的需求,允许Windows在Xen环境中与Linux和Solaris等肩并肩运行。不过Xen中并没有像VMware提供的大量企业级支持工具。

    因为Xen只是一个hypervisor,为了方便深入研究,我们选择一家富有经验的基于Xen技术开展虚拟化的厂商来做介绍。Virtual Iron软件公司从2003年出现,刚开始提供使用其自有VFe hypervisor技术的Linux虚拟化。随着Xen 3.0的发布,Virtual Iron最终放弃了其VFe,完全拥抱开源,将产品开发重点锁定在自认为最重要的方面——虚拟环境的管理。

    这里需要指出的是,与VMware在每一台物理服务器上安装管理系统软件的做法不同,Virtual Iron在每一台系统上放置一个Xen hypervisor的小型、bare-metal version版本, 并装配一台独立的专用服务器来为硬件资源池中的所有系统提供资源管理服务。

    所谓的Virtual Iron管理服务器能够自动在所连接的服务器中创建一个所有物理设备的详细目录,使得能够在虚拟架构内的任意地方进行虚拟服务器的创建、资源分配以及部署。

    另外,从诸如政策驱动的工作负载管理、动态容量供应、快速VM迁移、报表和分析的先进工具等特性,我们也看出Virtual Iron正在提供企业级管理工具,而这在以前的基于Xen的系统上是没有的。

Microsoft

    2004年Virtual Server 2005的发布标志着Microsoft进入服务器虚拟化领域,不过这个产品获得的反响不一,部分原因是由于它缺乏很好的管理工具和服务。

    如今,随着Virtual Server 2005 R2 beta版本的公开,该产品确实已经做了改进;从长长的改进列表上,显然Microsoft是注意到了IT专业人士的呼声。VSR2需要安装一套精简的、核心版本的Microsoft Server 来管理一个虚拟化堆栈,为客操作系统guest OS提供设备支持device support。

    核心版的操作系统能够使VSR2使用所有被Windows Server正常支持的硬件设备,为大量的VM创建了一个统一的硬件平台。

    这个最新版本的VSR2可以充分利用VT-x和AMD-V指令的优势。该版本中的另外一个新功能是System Center Virtual Machine Manager,这是一个独立应用软件包,包含了大量的集中管理工具,提供简化的系统迁移、智能的供应、可编程自动化以及快速系统恢复功能。

Microsoft Virtual Server 2005 R2的性能

    VSR2强调的重点是Windows-specific虚拟化,但好像Microsoft(至少在虚拟化这个领域)已经认识到与其他厂商的良好合作,已经开始提供VM附加项以及对 Linux虚拟操作系统的技术支持。VSR2还支持VM运行老板本的Windows Server平台,如Server 2000和NT 4.0,这对于那些需要运行传统应用软件的人来说是真正的实惠。

 

挑战传统

    从实用性角度看,以上所有这些厂商都在向正确的方向努力,我们看到大家的重点都放在了与转换物理环境、动态资源分配、VM的无缝迁移以及VM相互之间的保护等方面。但是虚拟化也引发了一些在传统服务器环境中不存在的应用级的问题,如:
 
    虚拟SMP:Virtual Iron 基于Xen 3.0的方案能够支持多达32路SMP的VM,其次是Microsoft VSR2能够支持8路,VMware ESX Server能够支持4路虚拟SMP。当然,在实际应用中你会受到主机系统本身所包含物理处理器数量的限制,因此32路SMP似乎有些过度。不过随着在不久的将来四核处理器的出现,满足这种期望或需求应该也不会那么牵强了。
 
    扩展64位支持:尽管能够充分利用x86-64系统的扩展内存寻址技术的应用软件还不多,但虚拟化是很好地利用新一代高性能服务器的一种方法。Virtual Iron和Microsoft都提供了对同时使用32位和64位操作系统及应用软件提供了全面支持,但是VMware仍然在为改善对类似混合环境的支持而努力着。
 
    资源池:同集群类似,虚拟化方案是被设计用来将许多物理系统组合成一个资源池,在需要的时候提供对VM的无缝甚至自动化的迁移。实际上,虚拟化和集群是不同的,在集群情况下,在多个物理系统上的几十个处理器可以被指派为去完成一个单一的任务;而虚拟化所创造的虚拟池,是将几十个处理器呈现为一个可分配的池,但是应用程序不会跨越多个物理机器。

    VMware和Virtual Iron为高可用的应用资源池提供了非常成熟的支持,但Microsoft也提供HA功能,外加Microsoft Cluster Services。

    值得指出的是,在所有案例中,无缝的HA/VM迁移会取决于在资源和目标系统之间的共享存储环境的可用性,这对于典型虚拟化应用来说并不是必须的。在一个完全虚拟化的世界,处理、内存、存储以及网络就如同一个大型、统一的资源一样存在,你可以按需取用。很不幸,这种公用数据中心的理想天堂还没有出现。

    根据Gartner 的市场数字,今天大约有20%~25%的中型商业环境正在使用虚拟化,到2007年,40%的企业将会通过实施虚拟化减少其20%的服务器数量。

    最近Forrester的调查显示,大型企业更能意识到服务器虚拟化的好处,从而实现服务器虚拟化,在员工人数超过20000的全球2000家企业中,有三分之一已经使用了虚拟化,13%的企业则表示计划在未来一年内开始虚拟化的试验和部署。

虚拟化的时机

    如果目前你对数据中心中的服务器进行虚拟化的需求很迫切,那么还是建议你选择VMware,因为它仍然是今天市场上综合硬件支持、操作系统灵活性以及企业级管理功能的最强组合。但是,如果你并不是必须立即采取虚拟化行动,那么我们建议你还是别冒然行动。虚拟化市场目前正处于一个变迁期,因为这些新的芯片辅助技术,以及它们所提供的虚拟化新选择机会未来一定会改变我们的选择。

    很多人也相信AMD-V会比VT-x提供更好的处理器虚拟方法,部分原因是由于这种先进的技术将会出现在AMD的Opteron处理器中。

    同样,我们也考虑,Xen hypervisor提供的最新改进方法,也许会比VMware或Microsoft所使用的偏软件解决方案提供更好的性能,但现在下结论还为时过早。Virtual Server 2005 R2目前还是处于测试阶段,根据目前透露的信息,其正式产品在2007年初 Longhorn发布以后一段时间才会推出。基于Xen的Virtual Iron 3.0的公开测试版也只是最近才会出现,预计到年底会有正式产品。

    很显然,VMware将会面临巨大的市场挑战,部分原因是由于Xen和Microsoft都将接受VT-x 和AMD-V。尽管VMware否认它自己是迫于Xen的压力,但在2005年该公司发布了几个免费的虚拟化产品——VMware Server、VMware Player、VMTN Virtual Appliance。

    最近,该公司又发布了VMware Infrastructure 3,这是一套注重价值的虚拟化产品,将ESX Server和其最流行的管理特性组合在了一起。而且在新提供的标准版和企业版中,这些服务是首次被经济地打包在一起,也许VMware是努力想改变在人们心目中VMware是最昂贵的服务器虚拟化方法的这样一种感觉吧。

    不管如何,VMware仍然是目前提供最多实践的虚拟化厂商,即便明年所有的虚拟化厂商都步入前台,它仍然也是一个难以击跨的对手。虚拟化管理和VM性能将成为主要的差别,一旦所有厂商的产品都投诸于市场的时候,必然会有直接的产品之间的现实对比,让我们拭目以待吧。

    最后,还必须补充一点,说到虚拟化,Sun公司通常会被大家忽略,但是自从其针对x86平台的Solaris 10 发布以后,该公司就已经默默地以Solaris Containers的形式提供了免费的虚拟化。像分区一样,Solaris Containers是大量Solaris host OS的虚拟实例,它们所需要的成本都很低。

    Solaris Containers支持许多典型特性功能,包括用于高级资源管理的Solaris Zones,提供预测性自我诊疗和处于风险中的Containers的自动迁移。

    接下来的一年对于虚拟化来说将是非常重要的一年,来自Intel和AMD的新型x86处理器,再加上VMware、Microsoft以及使用开源Xen hypervisor的一些厂商之间的竞争已经把这个市场充分预热起来。

    下一代Intel和AMD处理器中的一些新特性已经消除了困扰虚拟化厂商很长时间的许多硬件问题,这也就意味着所有聪明的技术设计人员能够最终实现自己的梦想,通过解决性能和管理问题来将服务器虚拟化成熟地提供给企业应用环境。应该说,虚拟化市场正在向成熟稳步迈进,这段旅程也一定是激动人心的,大家一起来感受吧。

0
相关文章