与去年相比,在服务器虚拟化技术方面,今年最大的不同就是参与者的队伍大大扩充了——从处理器层面的AMD和Intel到操作系统层面的微软的加入,从数量众多的第三方软件厂商的涌现到服务器系统厂商的高调,我们看到一个趋于完整的服务器虚拟化技术生态系统在逐渐形成。
“虚拟化正在从一个小市场向主流市场转变,尤其是在Microsoft进入该市场之后”,当微软宣布了其Virtual Server 2005计划之后,业内有这样的评价。
在介绍微软的这个虚拟化项目的时候,几乎所有的媒体都做了这样的描述—与其他服务器虚拟化技术一样,Virtual Server 2005允许用户对服务器进行分区,以使这些服务器能够支持多个操作系统和应用。
在大多数人看来,虚拟化就是分区。实际上,我们认为这是对虚拟化技术的一种误解,所以有必要对这两者的关系进行进一步阐述。
虚拟化等于分区吗?
实际上,虚拟化技术可以通过两个方向来帮助服务器更加合理地分配资源,一种方向就是把一个物理的服务器虚拟成若干个独立的逻辑服务器,这个方向的典型代表就是分区;另一个方向,就是把若干个分散的物理服务器虚拟为一个大的逻辑服务器,这个方向的典型代表就是网格。
关于服务器虚拟化的概念,各个厂商有自己不同的定义,然而其核心思想是一致的,即它是一种方法,能够通过区分资源的优先次序并随时随地能将服务器资源分配给最需要它们的工作负载来简化管理和提高效率,从而减少为单个工作负载峰值而储备的资源。
根据我们目前看到的资料,所谓的这种方法,看上去就是分区。所以,很多人就理所当然地认为虚拟化技术就是分区技术。
实际上,分区与虚拟化技术是互补的,当它们结合使用时能发挥出最高的效率,但是两者之间的确是有区别的。分区能够将物理系统资源划分成多个不同、单独的部分,各部分彼此独立操作。通常,在物理资源与逻辑分区之间存在一一对应关系,以便创建“盒中盒”对等关系。如果没有进行分区,则所有物理部件都精确地各司其职。
“虚拟化把这种概念又向前推进了一步,它允许对数量不足或根本不存在的硬件进行可用性模拟。虚拟化将可用的物理资源用作共享池以模拟缺失的物理资源。在特定虚拟机器或服务器使用哪些以及如何使用物理资源方面,虚拟化能很好地进行控制”,IBM战略成长部大中华区网格计算部总经理朱明说。
用更加直白的语言表达了同样的意思,即所谓虚拟化技术应该有两个方向来帮助服务器更加合理地分配资源,一种方向就是把一个物理的服务器虚拟成若干个独立的逻辑服务器,使用户可以在这些看似独立的虚拟服务器上运行不同的操作系统和应用,这个方向典型代表就是分区;虚拟技术的另一个方向,就是把若干个分散的物理服务器虚拟为一个大的逻辑服务器,使用户可以像使用同一台服务器的资源一样支配这些物理上独立的服务器,从而达到最大化利用资源的目的,这个方向的典型应用就是网格。
虚拟化的生态系统
为什么目前的舆论环境中,会认为虚拟技术就是分区技术呢?这跟网格仍然停留在试验阶段,远未进入企业的应用视线紧密相关,而另外一个重要原因,就是从处理器厂商到操作系统厂商、服务器厂商、第三方软件厂商,积极力推的虚拟化技术基本上集中在分区这一块。
尤其是今年以来,服务器虚拟化技术的队伍大大扩充了—从处理器层面的AMD和Intel到操作系统层面的微软的加入,从数量众多的第三方软件厂商的涌现到服务器系统厂商的高调,我们看到一个趋于完整的服务器虚拟化技术生态系统正在逐渐形成。它们在虚拟化技术方面不断推出的新技术、新产品,对虚拟化技术在用户端的应用,将起到很大的推动作用。
AMD和Intel的积极参与,第一次将虚拟化技术推向了x86架构的处理器层面,这个改变之所以具有历史性的意义,是因为此前处理器层面的虚拟技术似乎是 RISC处理器的“专利”,而一旦Intel和AMD的承诺兑现,操作系统层面的虚拟化技术得到处理器的配合和支持后,相信才会使更多用户真正享受到虚拟化技术带来的服务器资源利用率的提升。
另一方面,微软高调推出Virtual Server 2005,意味着这个x86架构服务器操作系统领域的巨人也意识到了虚拟化技术的重要性,这也是市场需求逐渐高涨的一个反射。同时,一大批专注于服务器虚拟化管理技术和应用技术的“小厂商”的崛起,使虚拟化市场在看上去更加繁荣的同时,也带来了更多的选择和工具。
最底层的力量
年初,英特尔宣布了其初步完成的Vanderpool技术外部架构规范(EAS),并称该技术可帮助改进未来虚拟化解决方案。英特尔表示,将在今年把Vanderpool应用于安腾架构平台,同时还计划在台式机处理器和芯片组产品中采用该技术。
相比之下,AMD在虚拟化技术方面下手更早。Pacifica技术规范是AMD计划用于其64位产品中的虚拟化技术,该技术将用于基于x86架构的服务器、台式机和笔记本电脑等系列产品,“我们将进一步加快虚拟技术的开发步伐,增强虚拟化技术实力”,在去年底宣布Pacifica技术规范的时候,AMD副总裁兼计算产品部微处理器业务总经理Marty Seyer就曾经这样表态。
AMD表示,通过将Pacifica技术预先展示给虚拟化ISV和分析师团队,并通过持续的协作,最终可以在托管基于系统管理程序(hypervisor)的虚拟解决方案方面,向Pacifica用户提供更丰富的功能集和更高性能模型。“这将成为开发高级虚拟解决方案的基石”,Marty Seyer说。
从技术角度看,不论是Vanderpool技术外部架构规范还是Pacifica技术规范,它们强调的核心功能都是RISC处理器早就实现了分区功能,即基于该技术平台实现在独立分区中高效运行多个操作系统和应用程序,使一个计算机系统象多个“虚拟”系统一样运行。
微软的虚拟手笔
微软于去年下半年宣布了其Virtual Server 2005计划。与其他服务器虚拟化技术一样,Virtual Server 2005允许用户对服务器进行分区,以使这些服务器能够支持多个操作系统和应用。计划于今年面市的Virtual Server建立在去年年初时通过购买Connectix而获得的技术基础之上,该软件可以在Windows、Linux和Mac OS服务器及工作站上运行。
微软Windows部门副总裁Rob Short表示:“微软正与AMD和 Intel等合作伙伴密切协作,以确保Windows平台的软件虚拟化解决方案能充分利用硬件技术提供的新功能。处理器虚拟化扩展是未来Windows平台上虚拟机解决方案的重要建筑模块。”
大家都知道,x86服务器可以通过VMWare软件来将一台服务器划分成若干个虚拟机。那么微软Virtual Server 2005与VMWare的虚拟化技术相比,有什么异同呢?很明确的一点是,Virtual Server 2005是基于Windows操作系统的,而VMWare则是一款准操作系统产品,与操作系统是完全独立的,这样带来的一个直接影响就是用户在使用Virtual Server 2005创建虚拟机时,必然会或多或少地占用CPU资源,可能在性能上与使用VMWare会有一些差异。
另外,因为VMWare是独立于操作系统的,所以如果操作系统出现问题虚拟机应该不会受到影响,而使用Virtual Server 2005时,保证操作系统的稳定性则成为了保证虚拟机连续可用的一个重要因素。
先行者的新脚步
在服务器虚拟化技术方面走得比较靠前的应该是IBM和HP等服务器厂商。今年以来,这两家公司在虚拟化领域也非常积极,在最新的RISC架构服务器及最新版的操作系统中,都嵌入了虚拟化技术。
IBM的服务器虚拟套件
早在p690服务器和AIX 5L操作系统首次公布的时候,IBM就宣布在其动态逻辑分区(LPAR)技术的支持下,一个系统内可独立的运行多个分区,每个分区运行独立的操作系统。这时候的分区,是以CPU为“颗粒”的。
到去年发布p5服务器时,IBM大张旗鼓地扯出了虚拟技术的大旗。不过,与以前相比,在虚拟化技术的帮助下,IBM最新的微分区技术打破了分区上以CPU为“颗粒”的限制,可以将单个CPU划分为10个微分区,从而创建和运行比物理处理器数量更多的分区。IBM同时宣布,新版操作系统AIX 5.3可以支持1/10 CPU颗粒的微分区。
今年,IBM进一步拓展了其服务器虚拟技术的范畴,推出了由操作系统、系统技术和系统服务三部分组成的服务器 虚拟引擎。其中,操作系统涉及AIX、i5/OS、z/OS和Linux,其技术宗旨是单台服务器内运行多种操作系统、在异构IT基础架构中以统一的方式实现资源的共享和管理以及管理非IBM操作系统平台;系统技术包括微分区、vLan、虚拟I/O、Hypervisor等;而系统服务则包括一个服务器系统服务套件和一个存储系统服务套间。在服务器系统服务套间中,包括硬件监督模块VE console虚拟引擎控制台,可以利用两个主要的功能模块Launchpad和Health Center,监控资源的健康状态、进行问题诊断和系统管理;另外还包括硬件管理模块IBM Direction Multiplatform(DCM)整合系统管理。
同时,IBM还推出了应用虚拟工具套件,包括应用监督模块Enterprise Workload Management企业负载管理器(EWLM),可以在异构环境下自动管理分布式企业级系统,根据业务优先级将IT服务分类,并设立相应的性能目标,并根据这些性能目标,提供端到端的性能分析和评估,通过分析,EWLM自动按照应用拓扑调整网络路由。与EWLM相配合的是一个应用管理模块Tivoli Provisioning Manger(TPM),该模块与EWLM配合,可以实现系统部署和配置步骤的自动化,为IT系统的自动部署、资源分配和启用提供解决方案。
HP的三层虚拟化
HP提供三个层次的虚拟化解决方案。其中,部件虚拟化可以优化不同类型IT资源的利用,如服务器、存储和网络资源,包括分区、集群、工作负载管理和应用虚拟化;集成虚拟化可以把优化多个部件的虚拟化方法结合在一起,自动调度资源满足服务水平协议(SLO),包括虚拟服务器环境、连续访问存储专用服务器等;而完全虚拟化可以优化所有异构资源、使得资源供应能够实时满足业务需求。
HP-UX 下的分区连续技术能够把服务器划分成物理或逻辑独立的分区,为优化资源利用、提高服务器的可用性提供坚实的基础。
■ 硬件分区 (nPars) ——HP nPars 是单个服务器中的硬件分区。nPars 根据服务器类型最多提供 16 个硬件分区、完全的硬件和软件隔离能力以及在一个服务器上运行多个OS实例。
■ 虚拟分区 (vPars)——HP vPars 具有在一个系统或硬件分区内实现执行多个OS实例的独特特性。每个 vPar 能够拥有规定的内存量、一个或多个物理内存区域、一个规定的CPU池、服务器内一个或多个I/O 卡。vPars 能够使用软件命令动态地创立和修改。因此,每个应用能够在性能最大、OS配置要求得到满足的环境中运行。
■ 资源分区—— 进程资源管理软件 (PRM) 能够动态地以多种方式把系统资源 (CPU, 内存和磁盘 I/O) 分配给客户的应用,分配的方式可以是根据份额、百分比和处理器组 (pSets)。 pSets 允许在服务器上创立处理器组,而应用或用户可以被分配到在规定的pSet 上运行。
新势力崛起
在服务器虚拟化技术领域涌现了许多“新手”,我们在这里对其技术特征做一个简要介绍。
■Leostream成立于2001年,是VMware的合作伙伴。该公司推出的产品是Virtual Machine Controller (VMC)。该软件旨在管理出自VMware和Microsoft的服务器虚拟化产品,它可以在基于Web的页面上显示每一个虚拟服务器。该公司的最新产品VMC SAN版本主要用于管理与SAN连接的虚拟服务器。
■PlateSpin最近推出的软件允许自动地把Windows和Linux服务器在物理服务器与虚拟服务器之间来回切换。
■SWsoft在实现服务器虚拟化上采取了不同的方法。它虚拟化操作系统,这样用户从一个安装的操作系统版本中可以创建操作系统的多个实例。有评价说,每一种实现虚拟化服务器的方式都存在自己的优缺点,像SWsoft那样的虚拟化,虽然不能在服务器上运行一个以上的操作系统,不过SWsoft可以利用一个主机操作系统创建很多不同的虚拟服务器,因此节省的费用更多,因为在每台服务器上只需购买一个操作系统的许可证,而不必为每台服务器购买多个操作系统的许可证。
虽然这些企业目前离中国用户还比较遥远,但是从他们的技术特征中,我们可以感受到虚拟化技术正方兴未艾,在我们明天的虚拟化实战演练中,也许就会用到这些技术。
编看编想:谁在用虚拟化?
“您怎么理解虚拟化的?”
问过很多人,十个人里面至少有八个人告诉我:“怎么说呢,虚拟化这个概念其实很虚的。”
这八个人里,不乏几分钟前刚刚给我大力推销其虚拟化产品和技术的厂商技术人员。这让我很感触,在讲了两三年之后,就连虚拟化的始作俑者们,好象也很糊涂,那么用户又如何能充分理解呢?这样的解释—“所谓的虚拟化,就是通过恰当的基础设施建设,从管理层面将资源的功能从资源的实体上分离出来,从而达到更加灵活、专业、低成本地使用资源的目的”,有几个人能听得懂呢?
不过,对我来说更加关心的一个问题是,谁在用虚拟化技术?IBM战略成长部大中华区网格计算部总经理朱明告诉记者,不论是分区还是网格,目前国内用户采用虚拟化技术的的确不多。他说:“因为有一个关键的问题还没有解决,那就是用户的采购习惯和使用习惯。”对于国内用户来说,买一台服务器回来划分成若干个不同分区来跑不同的操作系统、不同的数据库、不同应用,心里可能不塌实——如果这台服务器出问题了,不是所有的系统都坍塌了吗?这样的责任,谁能负得起?
这的确是个很关键的因素。但是我并不认为这是虚拟化技术遇到的最大问题,我反而觉得没有人清楚地跟用户讲明白虚拟化技术到底是什么、有什么用、能带来什么好处等这些基本的问题,是目前虚拟化从概念走向用户机房去实战演练的一个根本问题。 VMWare算是x86服务器领域做虚拟化的“权威”了,可是当记者向他们表达了采访意向时,得到的回答是“没有合适的资料可以提供”,试想,连号称“权威”的厂商都没有合适的资料,用户能到哪里去透彻、清楚地了解虚拟化呢?
虚拟化范畴中的几个关键问题
■ 能否通过一个单一的处理器来分配部门的工作量?
■ 能否将你的全部数据资源视为一个单一的实体?
■ 能否在维持所需的容量的同时减少运行和系统管理的成本?
■ 能否通过组织的高效率来利用信息和资源?
■ 能否对你的客户的需要做出快速的反应?
■ 能否通过企业快速地收集信息?
■ 能否在生产和测试环节中通过检测来减少紧急响应次数?
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1524333