当前位置:Linux教程 - Linux业界 - 虚拟化技术成新潮流 liunx加以应用

虚拟化技术成新潮流 liunx加以应用

  虚拟技术最近造成一股潮流,然而它并不是一个多新的观念,也不是一些厂商所宣称的万灵丹。

  在过去的一年半,虚拟服务器造成一股流行,顾客往往要求产品具备厂商所吹嘘的那些功能。然而这个技术并不是什么新东西,任何了解Unix跟大型服务器的人都知道--大型服务器在1970年代时就可以使用虚拟磁区。那么,到底这股流行是怎么出现的?

  虚拟程序的含义十分广泛,包含输出/输出(I/O)、存储设备已经其他部分的虚拟化技术,然而最近大家的焦点都放在服务器的虚拟化--即可以在一台硬件上执行多套操作系统的能力。

  虽然这样的技术老实说也是十分有历史,但在x86平台上使用1998年出现的VMware软件来进行服务器虚拟---这个软件目前主宰了x86平台的虚拟市场---却是相对来说较新的。

   在过去的几个月,虚拟化在x86的世界里便蔚为一股风潮。这是因为几个不同的因素--服务器汰换的周期快要来临、市面上出现更多更成熟的虚拟服务器管理 工具、电脑服务器多了一些新功能的支持,如同步多绪(SMP)功能可以让两个以外的处理器连到一个内存,以及市场逐渐认识到目前虚拟技术的良好运作。

   也因此,VMware公司(在2003年底被EMC收购)最近突破了每季1亿美元营收的重要关卡,同时营收也逐年成倍数增长。在二月,根据 Forrester对1221家千名员工以上的北美公司所做的调查,发现其中有41%的公司已经在使用虚拟技术或已经在进行先期测试;同时有60%的公司 表示在接下来的12个月中会对虚拟技术进行投资。43%的公司表示在使用x86平台的虚拟技术时最常考虑VMware,而其竞争对手Windows Virtual Server只有24% 。

  然而VMware似乎无法独占这个金鸡母太久,因为微软跟其他公司都十分积极地推出其他 产品。微软的Virtual Server可能是其中最不成熟的软件,但它进步速度非常快速,该公司也总是会四处分送他们的软件。同时在数月后推出Longhorn Server时,虚拟化技术也会被内建到该操作系统中。

  在另一方面,开放源代码的虚拟化技术也在慢慢进行,也有不少厂商在暗中角力。Xen这个软件使用跟微软以及VMware不同的技术,同时已经被内建到Red Hat、Novell跟其他公司最新的Linux版本中,在几个月之内也会得到Solaris平台的支持。

  更弹性的方法

  所谓的虚拟化,其实就是把电脑的资源,如运算能力、存储空间以及应用程序抽离出来,让资源的使用方式更具效率。VMware是x86平台虚拟化技术的先驱,甚至连其竞争对手都会同意,VMware是目前x86虚拟器市场的带动者。

  “VMware发掘了服务器虚拟这个市场。他们为大家介绍了这个市场的存在,”XenSource的首席技术官Simon Crosby这样表示。Crosby创造了Xen技术,同时也成立了XenSource这家公司。

  在操作系统的虚拟化这个领域,也有数种不同的方法,可以依他们虚拟的层级来分类。以PowerPC版的软件Virtual PC为例,是将硬件平台完整地用软件来模拟,可以让你执行给别的硬件来使用的操作系统。但这样会对性能造成相当大的影响。

  相反地,VMware跟微软的Virtual Server只虚拟必要的硬件,以让多个操作系统可以分别执行,但只有为这个硬件设计的操作系统才能顺利执行。然而这样依旧会造成相当的处理负荷。

   而其它像Solaris Containers、BSD jail以及SWsoft的Virtuozzo,都只对操作系统层级来进行模拟,可以让处理的负荷大幅降低。在一台实体的电脑上,只执行一个操作系统,而 所有的程序都使用同样的操作系统核心来运算。只要能合于这个限制,就可以得到低负荷、高性能以及高延展性(潜在来说一台机器上可以执行上百个不同的程序) 等等优点。

  Xen也是使用称之为“平行虚拟”的类似方法,提供硬件直接存取的API给各不同的操作系统,而不是完整地模拟硬件。这代 表所造成的负荷十分小,性能也会突飞猛进。但这样的技术牵涉到操作系统的修改。对开放源代码的操作系统来说不是问题,但在像Windows之类的平台上, 就造成问题了。

  最近推出的支持虚拟技术的硬件--如英特尔的Virtualization Technology (VT)以及AMD的Secure Virtual Machine (SVM)--都可以让Windows系统在不经修改下,直接在平行虚拟的管理程序,比方Xen上面执行。

  吸引力何在?

  所以到底虚拟技术的吸引力在哪里?我们先回到过去的1990年代,VMware的顾客开始发现虚拟技术十分好用,可以在实际部署到产品之前,建立的一个特定的虚拟环境,测试一些应用程序或软件更新。

   在2001年前后--因为预算削减,以及过去1990网络泡沫年代充斥过多的服务器--使用者开始认真考虑公司服务器的合并动作(Sun估计,大多数公 司的服务器只使用了15%的性能)。主要的想法就是让乱七八糟的服务器配置变得精简,同时借由将数个独立的服务器放到同个服务器,更有效地使用电脑的运算 性能。这也是所谓“效用计算”这个大趋势里的一部分。所谓“效用计算”是指将大量不同的服务器串联起来,变成一个单一的资源库,然后使用虚拟技术来依照需 求分割。

  “基本上,随着主从架构的诞生,我们已经渐渐接近复杂度的临界点,”Ovum的分析师Gary Barnett表示“因为技术的过度演进,自从过了千禧年后,为不同的技术平台购买各种小容量的存储空间便快把人们累个半死。大家总是希望这件事可以快点 被控制下来,而虚拟技术可以不用去管分割硬盘的事,可以说是解决这个问题的关键之一。”

  先进的技术

  根据VMware的说法,他们的产品已经从简单的硬盘集合演进到所谓的硬件虚拟化。这包含了各种不同的进阶功能,VMware也表示各种功能都吸引了可观的顾客。

  其中一个功能是灾难复原,其精髓就是当硬件故障时,可以在几乎没有中断的情况下,自动把执行的服务器从一台转到另一台上。而现今大部分的虚拟技术都提供可以在不中断服务的情况下,自动执行此功能的软件。

  虚拟化同时也让备份信息变得容易许多;VMware表示他们的某个客户,可以在二十分钟之内为两百台虚拟服务器提供备份。该公司同时表示,有三分之二的顾客都是因为灾难复原这个功能使用虚拟技术。

   “在过去,因为硬件、操作系统跟应用程序紧密结合,所以当你要做灾难复原时,备援系统必须要有完全一样的硬件、应用程序跟其他部分,还要让上面的信息完 全同步,”VMware的信息管理与个人平台产品副总裁Raghu Raghuram表示:“若使用虚拟系统,你便可以带着那个虚拟文件,利用存取网络、磁带,或其它的存储设备,把它传到另个硬件上,然后立即开机执行。”

   能够按照意愿把虚拟服务器从一台电脑转换到另一台这个功能,让硬件维护跟平衡负载可以更容易进行。VMware表示有超过一半的客户都使用一个提供该功 能,名叫VMotion的工具。其他的进阶应用,像是应用程序的快速配置、操作系统模拟也吸引了许多VMware的使用者。许多公司喜欢操作系统模拟功能 所提供的安全性。

  新进企业:微软与Xen

  VMware积极地想要保持这些优势,同时它也认为 在虚拟技术的管理程序上,目前微软跟Xen等等竞争者还是遥遥落后。微软在这个领域只是刚刚起步。而Xen的虚拟服务器管理工具则已经算是相当完整的产品 --在经过三年的开发后,它已经推出了3.0版--然而Xen技术的管理工具也还无法与 VMware刚推出的Virtual Infrastructure 3匹敌。Gertnet的Phil Dawson表示:“短时间之内,微软跟Xen都是处于一个追赶的态势。”

   然而,虚拟化技术的市场也在快速的转变,一般操作系统内建虚拟技术已经变成一股趋势。微软的最新产品Virtual Server 2005 R2是在Windows Server 2003上执行,可以免费取得--这是一个十分夸张的价格。Virtual Server 2005 R2平台上的管理工具 Virtual Machine Manager 在今年较晚也会推出。最重要的,微软在计划要将平行虚拟技术的管理软件内建到Longhorn Server中。“虚拟化技术已是必须的功能,”微软英国区虚拟化技术的产品经理Alfred Biehler表示。

  Xen则 内建到几个不同的Linux版本中。内建Xen的Red Hat企业版Linux(RHEL)5将会在今年底提出。计划在今年七月推出的Suse Linux Enterprise 10也会整合Xen。而Sun则计划在今年秋天推出的OpenSolaris中提供对Xen的支持,同时该公司的Unix系统Solaris 10也会在明年的前半年支持Xen。

  “在将来的各种操作系统里,都将会内建虚拟化技术。游戏结束了,”XenSource的Crosby表示:“VMware的问题是,他们还能怎么应对这个潮流?目前我们对他们不过是小小的威胁,但微软可真的是加满油门来势汹汹。”

  Gartner的Dawson也同意这个说法。“只要微软推出了他们的虚拟技术管理工具,他们就会开始大量占有市场。”

  业界的观察家都表示内建的虚拟技术管理工具,对VMware目前丰厚的利润是最显而易见的威胁。然而这不代表公司就不会选择VMware的产品。

   “操作系统厂商希望把虚拟化技术视为其中的一种功能,但对使用VMware的企业用户来说却不一定是如此,”RedMonk的分析师James Governor表示。“对很多的企业来说,虚拟化技术本身可能是一个策略平台。如果在看求职栏时,你可以发现很多的财务公司不是在找Windows技术 或Linux技术,而是VMware的人材。因为公司在Windows与Linux技术上的使用已经成熟,他们要找的是可以能帮他们更有效率应用硬件的方 法。”

  VMware也借由降低一些较阳春规范的产品与功能,对将来的竞争产品的免费演变也做出回应;举例来说,VMware Server与Player都已经是免费,同时Virtual Machine Disk Format这种功能可以在没有授权的情况下使用。同时它也开始收购一些公司,比方在六月收购Akimbi,以增加在管理与认证工具上的能力。

  你是否需要虚拟软件?

  虚拟化技术很快就会随处可见,然而这也不代表每个人都要使用。它有一些先天的技术限制--比方较高的负载--让它不适合运算量较重、持续进行或是I/O的程序。

   微软的Biehler指出虚拟化技术的四个使用关键:与数据库或分公司的服务器整合;旧应用的整合与重新架设;自动化整合化的软件测试研发环境;灾难复 原的简化步骤。“如果你的需求是四个的其中之一,就值得使用虚拟化技术。如果不是,最好先想清楚使用虚拟技术的理由是什么。”

  然而更重要的是要记住,虚拟化技术只是让电脑设备可靠、可调整、便宜、方便管理的方法之一。虚拟化可以是达成目标的部分方法,但很多公司可能会发现真正需要的是去解决更基本的问题。

  “移到虚拟的环境下,不代表会比较有效率,”Gartnet的Dawson表示:“如果你把一堆垃圾拿去提炼,也只是提炼出一堆垃圾。使用者必须要知道,在虚拟化之前必须要先好好查看这些硬件。有时候正确的作法可能是把这些硬件丢弃,不再使用。”

  Ovum的Barnett也表示,相较于大型或中型服务器,x86系统的管理机制方面往往十分贫乏。他说:“如果这个环境只有极小的或完全没有管理机制,而你也没有因此设定好管理原则,那么虚拟化可能没办法帮你什么忙。你必须要自己先把混乱状况处理好。”

  Barnett也表示,光是把存储设备转移成网络化所产生的现实问题,可能就会让公司没什么意愿要求更复杂的技术。

   虚拟化技术的现有优点几乎可以确定该技术在可预见的未来的快速增长。“VMware可以列出一堆公司,在相当的规模下使用这个技术。他们可以指出真正使 用这些技术然后从此获益的人,”Barnett表示:“这样总是会让这个技术的使用更加广泛。我们可以预期对虚拟化技术的兴趣将会持续增加。”以下是对虚 拟化技术的主要提供厂商作的简单介绍。

  谁是提供虚拟化技术的主要公司,他们的策略有什么不同?

1. VMware: 市场的老大哥

   VMware可以说主导x86系统上的虚拟化技术,同时也或多或少算是目前这个其他竞争者目前在努力进入的市场的创始者。他的三个主要核心产品是 VMware Workstation、目前免费的VMware Server(过去的GSX Server)以及VMware Player。这些软件可以在Windows或Linux上执行。

  Workstation版本是设计来让一些应用程序,比方软件的研 发或测试程序来执行,同时Server版本的目标则针对数据库以测试软件更新、简化应用程序的提供,或使用虚拟的设备等功能。VMware Server则是在六月推出,以取代ESX Server。VMware Player可以执行其他执行创设的虚拟服务器-包括微软的VirtualPC-,但无法自行创造虚拟服务器。

  这些产品需要在一个主 要的操作系统上执行,但VMware的高档产品ESX Server可以借由不使用操作系统来大量增加性能。相反的,ESX使用自己设计的操作系统核心,可以直接在电脑上执行。这个方法可以同时支持更多的虚拟 服务器,但ESX核心支持的硬件并不多。

  VMware Infrastructure 3在六月推出,包括了ESX Server、VirtualCenter管理工具、最多四道的Virtual SMP(同步多绪)、VMotion、VMFS分散式文件系统软件、同时有一些新的工具程序,比方Distributed Resource Scheduler与High Availability and Consolidated Backup。VMotion可以让上面执行的虚拟服务器可以在实体服务器之间直接转换而不中断执行,可以在硬件维护跟分散负载上运用良好。

  “公司再也不需要把服务器看成是一个单一的实体,他可以被看成一个巨大资源库的一部分,”VMware的Raghuram表示。

   微软与Xen等等竞争者,借由达成VMware Server跟VMware Workstation所提供的功能,稳定自己的阵脚,但短时间可能仍无法做出跟VirtualCenter这样成熟的管理工具来匹敌。“微软跟Xen的 目标都超过一般性的虚拟化技术,但他们还有很长一段路要走。”Raghuram表示。

2. 微软: 抢占一小块市场

   微软提供Virtual PC---这是当初与Connectix公司一同被收购的产品--以作为个人电脑对麦金塔与窗口的虚拟工具。Virtual Server则需要Windows Server 2003才能执行,该产品也是由Connectix所开发,然而在该公司被收购时还未推出。

   最新版Virtual Server 2005 R2提供对Linux操作系统的支持、使用(而不是虚拟)SMP的能力、对x86-64服务器的支持以及重新设计的网页管理界面。不像VMware的 ESX Server或是XenSource的Xen Enterprise,Virtual Server需要有操作系统才能执行,这代表处理性能的大量负荷。

  Virtual Server已经得到英特尔的VT与AMD的SVM等处理器的支持,同时也进行了类似的展示,这些处理器将会在下一波产品发布时推出。微软目前在进行 Virtual Server 2005 R2的Service Pack 1的内部测试,而Beta 2版将会在2004年第四季推出。同时微软也在进行System Center Virtual Machine Manager的开发,该产品将在今年推出,这是微软对VMware的VirtualCenter提出的反制。这个工具将只支持微软系列的操作系统, Linux方面的支持将让其他公司来做。以微软对整合的传统思维,所有的Virtual Server的管理工具都会使用Internet Explorer以及Active Directory之类的自家技术。

  在2006年四月,Virtual Server就变成免费产品。同时在六月微软发布Windows Vista Enterprise的授权政策时,可以允许一个使用者在一台电脑上安装多达四台的虚拟服务器,也让Virtual PC可以免费下载。这个授权不需要使用微软的技术来创设虚拟服务器。

  更重要地,Longhorn Server--目前排定2007年推出--将在推出后的三个月内,提供内建的虚拟服务器管理程序(其代号Viridian)。这个策略十分的清楚:虚拟 化技术就像浏览器一样,将会成为操作系统的一部分功能,至少在微软的操作系统上是如此。

  观察家对于Virtual Server的表现仍不是十分满意,但微软表示这个产品对于大多数的使用来说已经足够。“有些顾客需要特定的需求,因此可能就需要特定的产品,”微软英国 分公司的产品管理经理Alfred Biehler表示。“对市场中的大多数人来说,我们相信我们已经提出了很好的解决方案。而且这些方案还会持续进步改善。”微软同时也声称使用操作系统平 台来做虚拟,同时整个技术由同一家公司来提供会是较好的选择。

  微软同时也在注意与其他竞争产品,比方像是Xen之类的相互共通主题。根据Simon Crosby,XenSource的首席技术官的说法,Viridian将会使用平行虚拟技术,同时软件的架构将会与Xen十分类似,可以让相互共通更为容易。

   在2005年六月微软提出了虚拟硬盘(VHD)映像格式的标准(在Virtual PC 2004与Virtual Server 2005中被使用),这个标准可以被免费使用,让它可以跟VMware的私有标准竞争。“微软绝对知道互通性的重要”,Crosby表示。

3. Xen:新瓶装旧酒

  Xen在某方面可能像个新进者,然而这个软件也已经演进了接近四年,同时市场观察家也十分赞赏这个软件的完整性。同时,它是开放源代码的软件(使用GPL授权)也让他得到广大的业界支持。

   各版本的Linux对它的支持更是关键;Xen将会内建在今年的Red Hat企业版Linux与Suse Linux企业服务器中。根据XenSource的首席技术官Simon Crosby的说法,借由这些不同版本支持的不同硬件,可以让Xen自动被整合,得到不同平台上的支持。XenSource是一家公司,由原来Xen的开 发者所成立。同时Sun也将在今年推出的OpenSolaris中支持Xen,同时也会整合在明年的Solaris 10中。

  同时英 特尔跟AMD也都纷纷投身Xen的发展计划中,这也表示在微软支持之前,该计划就会同时支持这两家公司的虚拟化技术。(VMware同时也与英特尔跟 AMD走得很近,也支持英特尔的VT与AMD的SVM。)“英特尔使用VT技术来支持Xen计划,这也代表AMD也必须要提供,因为不提供造成的损害他们 负担不起。”Crosby表示。

  Crosby指出,Xen在一些基本的虚拟功能上已经超越了VMware,举例来说,它可以支持64个SMP,而VMware只支持4个。

   这些重大的进展可以解释人们为什么十分认真看待Xen。“我们周遭有许许多多不同的公司,因为策略上的因素一同支持我们,”Crosby表示。 Xen计划本身只进行虚拟化技术这个部分,但Xen的开发者表示,它广泛的可利用性可以为这些策略伙伴提供广泛的机会,让他们可以推出与虚拟技术十分密切 的产品,来处理更复杂的管理与授权问题。

  XenSource本身也只是其中一员,它所提出的Xen Enterprise可以说是VMware的ESX Server的同级产品,可以直接在服务器上执行。在四月,Virtual Iron推出了第3版的虚拟化平台,使用了Xen技术,而不是自家的虚拟引擎。

  Crosby也声称, Xen的开放式特性是他跟VMware相较时的最大优势。VMWare的动作是希望使用它的平台来占有整个市场,同时对于这个平台的控制代表他可以对任何的竞争者去之而后快。相反地XenSource从来就不打算独占Xen这个技术的生态系。

   而分析家也同意这个卖点。“很多大公司可能会发现他们受到太多VMware的掣肘。他们也会对此感到紧张,”RedMonk的分析师James Governor表示。然而不管这股潮流将来如何,Xen目前的市占率仍是少数--它甚至挤不进Forrester所作的北美大型企业调查名单中。“目前 Xen仍与主流的VMware相去甚远”Governor表示。