2007-3-3 11:33
蓝色虫
2007年常见四种虚拟化技术优劣势对比
[b]【IT168专稿】[/b]虚拟化技术(Virtualiz[url=http://corp.it168.com/corp/730_index.shtml]ati[/url]on)和分区(Partition)技术是紧密结合在一起,从60年代Unix诞生起,虚拟化技术和分区技术就开始了发展,并且经历了从“[url=http://diy.it168.com/]硬件[/url]分区”->“虚拟机”->“准虚拟机”->“虚拟操作系统”的发展历程。最早的分区技术诞生自人们想提升大型主机利用率需求。比如在金融、科学等领域,大型Unix[url=http://publish.it168.com/cword/75.shtml]服务器[/url]通常价值数千万乃至上亿元,但是实际使用中多个部门却不能很好的共享其计算能力,常导致需要计算的部门无法获得计算能力,而不需要大量计算能力的部门占有了过多的资源。这个时候分区技术出现了,它可以将一台大型服务器分割成若干分区,分别提供给生产部门、测试部门、研发部门以及其他部门。
几种常见的虚拟化技术代表产品如下:
[align=center][table][tr][td=1,1,224][align=center][align=center][b][font=Arial][size=9pt]类型[/size][/font][/b][b][font=Arial][size=9pt][/size][/font][/b][/align][/align][/td][td=1,1,255][align=center][align=center][b][font=Arial][size=9pt]代表产品[/size][/font][/b][b][font=Arial][size=9pt][/size][/font][/b][/align][/align][/td][/tr][tr][td=1,1,224][align=center][align=center][font=Arial][size=9pt]硬件分区[/size][/font][font=Arial][size=9pt][/size][/font][/align][/align][/td][td=1,1,255][align=center][align=center][font=Arial][size=9pt][url=http://corp.it168.com/corp/20_index.shtml]IBM[/url]/[url=http://corp.it168.com/corp/13_index.shtml]HP[/url][/size][/font][font=Arial][size=9pt]等大型机硬件分区技术[/size][/font][font=Arial][size=9pt][/size][/font][/align][/align][/td][/tr][tr][td=1,1,224][align=center][align=center][font=Arial][size=9pt]虚拟机[/size][/font][font=Arial][size=9pt]([/size][/font][font=Arial][size=9pt]Virtual Machine Monitor[/size][/font][font=Arial][size=9pt])[/size][/font][font=Arial][size=9pt][/size][/font][/align][/align][/td][td=1,1,255][align=center][align=center][font=Arial][size=9pt]EMC VMware Mircosoft Virtual [url=http://pc.it168.com/]PC[/url]/Server Parallels[/size][/font][/align][/align][/td][/tr][tr][td=1,1,224][align=center][align=center][font=Arial][size=9pt]准虚拟机[/size][/font][font=Arial][size=9pt]([/size][/font][font=Arial][size=9pt]Para-Virtualization[/size][/font][font=Arial][size=9pt])[/size][/font][font=Arial][size=9pt][/size][/font][/align][/align][/td][td=1,1,255][align=center][align=center][font=Arial][size=9pt]Xen Project[/size][/font][/align][/align][/td][/tr][tr][td=1,1,224][align=center][align=center][font=Arial][size=9pt]虚拟操作系统[/size][/font][font=Arial][size=9pt]([/size][/font][font=Arial][size=9pt]OS Virtualization[/size][/font][font=Arial][size=9pt])[/size][/font][font=Arial][size=9pt][/size][/font][/align][/align][/td][td=1,1,255][align=center][align=center][font=Arial][size=9pt]SWsoft Virtuozzo/OpenVZ Project [url=http://product.it168.com/list/b/04020232_1.shtml]Sun[/url] Solaris Container[/size][/font][/align][/align][align=center][align=center][font=Arial][size=9pt][url=http://product.it168.com/list/b/04020112_1.shtml]HP[/url] vSE FreeBSD Jail[/size][/font][/align][/align][align=center][align=center][font=Arial][size=9pt]Linux Vserver[/size][/font][/align][/align][/td][/tr][/table]
[/align][align=left][b]硬件分区技术
[/b][/align][align=left] 硬件分区技术如下图所示:硬件资源被划分成数个分区,每个分区享有独立的[url=http://product.it168.com/list/b/0217_1.shtml]CPU[/url]、[url=http://product.it168.com/list/b/0205_1.shtml]内存[/url],并安装独立的操作系统。在一台服务器上,存在有多个系统实例,同时启动了多个操作系统。这种分区方法的主要缺点是缺乏很好的灵活性,不能对资源做出有效调配。随着技术的进步,现在对于资源划分的颗粒已经远远提升,例如在[url=http://product.it168.com/list/b/04020115_1.shtml]IBM[/url] AIX系统上,对CPU资源的划分颗粒可以达到0.1个CPU。这种分区方式,在目前的金融领域,比如在银行信息中心得到了广泛采用。 [/align][align=left][table][tr][td][img]http://publish.it168.com/2007/0301/images/323184.jpg[/img][/td][/tr][/table][/align]
[b]虚拟机技术[/b]
在虚拟机技术(Virtual Machine Monitor)中,不再对底层的[url=http://diy.it168.com/]硬件[/url]资源进行划分,而是部署一个统一的Host系统。在Host系统上,加装了Virtual Machine Monitor,虚拟层作为应用级别的软件而存在,不涉及操作系统内核。虚拟层会给每个虚拟机模拟一套独立的硬件设备,包含[url=http://product.it168.com/list/b/0217_1.shtml]CPU[/url]、[url=http://product.it168.com/list/b/0205_1.shtml]内存[/url]、[url=http://product.it168.com/list/b/0207_1.shtml]主板[/url]、[url=http://product.it168.com/list/b/0206_1.shtml]显卡[/url]、[url=http://product.it168.com/list/b/0411_1.shtml]网卡[/url]等硬件资源,在其上安装所谓的Guest操作系统。最终用户的应用程序,运行在Guest操作系统中。如下图所示。
[table][tr][td][img]http://publish.it168.com/2007/0301/images/323207.jpg[/img][/td][/tr][/table]
这种虚拟机运行的方式有一定的优点,比如能在一个节点上安装多个不同类型的操作系统;但缺点也非常明显,虚拟硬件设备要消耗资源,大量代码需要被翻译执行,造成了性能的损耗,使其更合适用于实验室等特殊环境。其代表产品有EMC旗下的VMware系列、微软旗下的Virtual [url=http://pc.it168.com/]PC[/url]/Server系列等。
[b]准虚拟机技术[/b]
为了改善虚拟机技术(Virtual Machine Monitor)的性能,一种新的准虚拟化技术(Para-Virtualizion)技术诞生了。这种虚拟技术以Xen为代表,其特点是修改操作系统的内核,加入一个Xen Hypervisor层。它允许安装在同一硬件设备上的多个系统可以同时启动,由Xen Hypervisor来进行资源调配。
[table][tr][td][img]http://publish.it168.com/2007/0301/images/323211.jpg[/img][/td][/tr][/table]
在这种虚拟环境下,依然需要模拟硬件设备,安装Guest操作系统,并且还需要修改操作系统的内核。Xen相对于传统的Virtual Machine Monitor,性能稍有提高,但并不十分显著。为了进一步提高性能,Intel和AMD分别开发了VT和Pacifica虚拟技术,将虚拟指令加入到了CPU中。使用了CPU支持的硬件虚拟技术,将不再需要修改操作系统内核,而是由CPU指令集进行相应的转换操作。
[b]操作系统虚拟化技术 [/b]
[b] [/b]最新的虚拟化技术已经发展到了操作系统虚拟化,以SWsoft的Virtuozzo/OpenVZ和[url=http://product.it168.com/list/b/04020232_1.shtml]Sun[/url]基于Solaris平台的Container技术为代表,其中Virtuozzo是商业解决方案,而OpenVZ是以Virtuozzo为基础的开源项目。他们的特点是一个单一的节点运行着唯一的操作系统实例。通过在这个系统上加装虚拟化平台,可以将系统划分成多个独立隔离的容器,每个容器是一个虚拟的操作系统,被称为虚拟环境(即VE,Virtual Environment),也被称为虚拟专用[url=http://publish.it168.com/cword/75.shtml]服务器[/url](即VPS,Virtual Private Server)。如下图所示:
[table][tr][td][img]http://publish.it168.com/2007/0301/images/323219.jpg[/img][/td][/tr][/table]
在操作系统虚拟化技术中,每个节点上只有唯一的系统内核,不虚拟任何[url=http://diy.it168.com/]硬件[/url]设备。此外,多个虚拟环境以模板的方式共享一个文件系统,性能得以大幅度提升。在生产环境中,一台服务器可根据环境需要,运行一个VE/VPS,或者运行上百个VE/VPS。所以,操作系统虚拟化技术是面向生产环境、商业运行环境的技术。
表:常见虚拟化技术对比
[table][tr][td][url=http://publish.it168.com/server/showBigPic.asp?cDocid=20070301003803&picid=323220.jpg][img]http://publish.it168.com/2007/0301/images/323222.jpg[/img][/url][/td][/tr][/table]
[align=center](点击看大图)[/align] 从最早的硬件分区到现阶段的虚拟机和虚拟操作系统,虚拟化技术已经发展了好几代,不同的技术路线也带来了不同的优劣势。选择什么样的技术和产品,用户还是应该结合自身的预算和应用实践来决策。(本文作者系SWsoft中国首席工程师)
2007-4-17 02:17
gaoxuan511
好文章顶一下,希望能开一个专题专门讨论一下虚拟化技术!
2007-7-6 12:09
蓝色虫
直击2007全球虚拟化技术大会
[align=center][size=6][b]直击2007全球虚拟化技术大会[/b][/size]
[/align]
【IT168 专稿】虽然虚拟化今天在国内的应用还不很广泛(参看IT168调查报告),但这不影响它成为热点——越来越多的人开始关注它、研究它。7月3日,英特尔、AMD、IBM、HP、DELL的代表同时出现在了由Novell举办的2007全球虚拟化技术大会上,这么多重量级厂商同台演讲可是不可多见的一个现象。上下两层的北京长安大戏院也被来自各行各业的用户挤得满满的。
[align=center][img]http://publish.it168.com/2007/0705/images/515299.jpg[/img]
开源XEN虚拟化技术有能成为X86工业标准
[/align]
XEN是一种新的开源hypervisor,“站在Linux和X86的交叉点上”,很快有望形成一种行业标准。Gartner在2006年11月的一份报告中指出,“Xen hypervisor在现有虚拟化技术中有最大的可能性成为X86工业标准,并在未来的生态系统中扮演核心的角色。...要跟上形势,企业应考虑在Xen hypervisor技术上进行战略性投资并考虑在2007年开始部署。”
[align=center][img]http://publish.it168.com/2007/0705/images/515300.jpg[/img][/align]
在此次虚拟化技术大会上,无论是操作系统厂商Novell,系统厂商IBM、HP、DELL,还是芯片厂商英特尔和AMD,都表示或多或少地采用或支持XEN技术。虽然当前Vmware等产品要领先XEN好几年,但二者之间的差距正飞快地缩小。而且XEN及其生态系统已经达到了关键的地位,XEN hypervisor正在被越来越多的人所看好。
[b]Linux与Windows的兼容性影响虚拟化的可用价值[/b]
Novell东亚区总裁张先民博士在“Novell与微软互操作性”的专题介绍中谈到,随着Linux的应用越来越广泛,Linux与Windows共存于用户IT架构中已是既成的事实,这两大操作系统之间的兼容性与互操作性也同样不可回避,因此,Novell与微软在去年10月份达成了合作,以增强双方的兼容性(虚拟化技术、文档格式、多操作系统管理、目录)及知识产权保护。
当前,在虚拟化技术方面,双方服务器主流操作系统下的半虚拟、全虚拟正逐步得以实现。Novell东亚区技术总监李岩介绍说,Novell和微软在虚拟化上的合作可以概括为“互为虚拟化”——在SUSE Linux Enterprise Server 10上,可以以半虚拟化的方式运行微软下一代操作系统Longhorn,以及以全虚拟化方式运行Windows 2000/2003/XP;而在Longhorn上,可以支持SLES10的半虚拟化,在微软Virtual Server R2上可以实现SLES9、10的全虚拟化。
[b]四核比双核更适用于虚拟化[/b]
今天,计算领域正面临一种关键的矛盾:一方面是IT资源使用率偏低的现状,另一方面是多核、刀片、存储等技术带来的效能的大幅提升。如何在资源过多和资源使用率不足之间取得平衡,虚拟化提供了一种思路,并正逐步得到广泛共识。试想一下,在单核时代,我们的服务器资源利用率不过10%,在多核时代,如果不改变传统的“一个应用占用一台服务器”的模式,我们的资源岂不是浪费得更多?
英特尔认为,同样是一台双路服务器,采用四核CPU的机型要比双核机型更适用于虚拟化应用,因为对于某个虚拟机而言,能够分配到的CPU内核数增多了,而且四核系统在售价、体积、功耗方面能够与双核保持一致。在“英特尔四核处理器/XEN虚拟化性能演示”中,我们看到,在Oracle Times Ten数据库应用测试中,每分钟处理事务的数量从280万(分配两个核)增加到了480万(分配5个核),提升幅度达70%;在3维动画制作测试中,渲染一帧的平均时间从11秒(分配一个核)降低到了7秒(分配两个核),性能提升40%。因此,如果你要进行虚拟化部署,四核系统应该是个不错的选择。
[b]不同应用类型要使用不同的整合比率[/b]
当前,虚拟化主要用于服务器整合、研发测试、灾难恢复、动态负载平衡几个方面,但根据业务应用的重要性及特点不同,虚拟化所能整合的幅度也是不同的。
对此,英特尔服务器产品市场经理赵萌给出了建议,对于关键业务如高性能数据库服务,其工作负载较大,可预见性较低,需要占用较多的计算资源,而且故障切换容错能力低,建议采用基于至强7100、7300的多路SMP系统,整合比率为6:1或更低;而对于主流的基础设施,可以采用至强5300,整合比率为8-16:1;对于大规模整合业务,由于受空间、成本限制,应用工作负载很少,且可以预见,则可以在至强7100、7300系统上实现更高比率的整合,20:1或更高。
[b]除了性能,还要关注安全性[/b]
随着英特尔VT和AMD-V等硬件辅助虚拟化技术的实现,当前,英特尔和AMD的主流服务器处理器都加入了支持虚拟化的功能,从而有助于提高虚拟化的性能,减少传统纯软件虚拟化方法难以避免的性能损耗。
但AMD应用工程师柳敬谈到,除了性能,一个以往容易被忽视的问题就是安全性。为了避免一个虚拟机(运行打印服务器)影响到另一台虚拟机(运行数据库服务器),AMD使用了Device Exclusion Vector(DEV)技术,使得Hypervisor可以创建保护域,来根据授权与否决定某个设备能否访关内存页,即某个虚拟机可以完全访问属于自己权限内的内存页,而无法访问其他虚拟机专有的资源。
[b]动态配置和优化IT资源将是虚拟化下一个阶段[/b]
IBM系统科技部System X服务器高端产品经理张振宇谈到,当前,虚拟化的发展还处于初级阶段,比如通过合并IT资源来简化IT架构,以降低成本,通过创建逻辑资源池来提高使用率。
下一步,虚拟化的重点会转向部署与统一协调上来,即通过自动和快速的部署提高灵活性,通过基于策略的运算来更好地实现IT对业务的配合。实地动态配置和优化IT资源将是虚拟化未来的目的所在,数据中心管理员可以动态增加、删除、移动和配置服务器、分区、存储和网络资源,满足变化的业务和负载的需要,实现数据中心的自动化。
虽然各厂商对虚拟化的未来前景充满信心,但在企业级X86领域里实现这一功能还不过是这几年的事情,因此,虚拟化领域要解决的问题还很多,如安全性、异构平台间的互操作性、计算存储I/O等各种资源的动态分配等。不过,面对这样一个趋势,无论你现在是否决定部署虚拟化,多了解和掌握一些这方面的知识还是非常必要的。