纷繁虚拟化

日期: 2008-11-06 作者:陈杰 来源:TechTarget中国 英文

  经过多年的技术沉淀与升级变迁,虚拟化技术已经褪下了神秘的面纱。虽然成本和复杂性等依然是阻碍虚拟化应用推广的瓶颈,不过,但虚拟化市场的广阔前景,特别是今年甚嚣尘上的“绿色IT”,无疑将成为各种虚拟化应用的强大助推器。

  “虚拟现实”一直是好莱坞大导演们非常热衷的话题,无论是风靡一时的“机械公敌”,还是耐人寻味的“黑客帝国”。其实,在IT领域,虚拟化技术已经存在40多年了,经过早期的技术沉淀与升级变迁,今天的虚拟化已经褪下了神秘的面纱,走进了寻常的x86计算世界。

  将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,或者让几台服务器变成一台服务器来使用,我们“虚拟”构建的未来不再受限于物理上的界限,而是让CPU、内存、磁盘、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率、简化系统的管理、实现服务器的整合,并让IT对业务的变化更具适应力。可以说,虚拟化技术确实给我们描绘出了一幅美妙的画卷。

  网络可以是虚拟的,环境可以是虚拟的,内核、存储、操作系统等都可以是虚拟的,但应用是现实的,虚拟的资源是现实的。有调查表明,虽然最近两年,虚拟化得到了广泛的应用,但迄今为止,全球只有不到10%的服务器被虚拟化,不到1%的桌面被虚拟化,而成本和复杂性正是阻碍虚拟化应用推广的最主要障碍。

  同时,有调查显示,到2011年,服务器出货量的年均增长将达到11%,预计到2010年,虚拟化产品年均增长为15%;接受调查的三成大企业计划在一年内尝试虚拟化技术和产品。这些数据表明了虚拟化市场的广阔前景,而今年喧嚣尘上的“绿色IT”也将为虚拟化在中国的应用增加一股强大的助推力。

  从蛰伏到腾飞

  虚拟化技术源于大型机,大型机上的虚拟分区技术最早可以追溯到上世纪六七十年代。早在上世纪60年代,IBM公司就发明了一种操作系统虚拟机技术,允许在一台主机上运行多个操作系统,让用户尽可能充分利用昂贵的大型机资源。随着技术的发展和市场竞争的需要,大型机上的技术开始向小型机或Unix服务器上移植,IBM、HP和Sun等后来都将虚拟化技术引入到了各自的高端RISC服务器系统中。

  随着x86处理器性能的提升和应用的普及,人们开始考虑将这一技术导入到用户面更广泛的x86平台。在1998年,通过运行在Windows NT上的VMware来启动Windows 95的情景让人们叹为观止,许多发烧友和工程测试人员也开始在PC和工作站领域运用虚拟化技术。

  前VMware总裁Diane Greene就曾表示:“其实虚拟化技术已经存在几十年了,一开始是由IBM发明出来的,但是VMware把它引入到了一个通用的体系应用架构中,也就是通过将虚拟化技术应用于x86平台,使更多的用户开始尝试虚拟化技术。”而目前,虚拟基础架构可以使x86服务器的利用率从原来的5%~15%提高到60%~80%,并且在数十秒的时间内就可以完成新应用程序的资源调配,而不再需要几天的时间。

  当人们认识到服务器资源的利用率低下以及服务器整合的必要性越来越强时,虚拟化开始吸引更多厂商的关注。尤其是64位、多核x86处理器的出现,让单台x86服务器的性能越来越强大。英特尔已经推出了内建虚拟技术的处理器,以实现硬件辅助虚拟化,从而改善了原来仅通过软件实现虚拟化时性能和稳定性方面的不足。

  在过去一年的时间里,虚拟化技术正在横扫所有的IT领域,包括CPU、服务器、存储、操作系统、管理软件等。IDC发布的报告显示,2005年,全球虚拟化计算机数量为90万台,而到2010年有望超过140万台,虚拟化技术正在进入爆炸式发展时代。

  VMware大中华区技术总监张振伦认为,虚拟化技术迅速发展主要有两点原因:首先,近几年来,PC服务器在国内的应用急剧增加,国内拥有几千甚至上万台服务器的IDC也开始涌现,数据中心在达到这种规模之后,原来的架构和管理就会面临极大的挑战,所以,今天的大多数用户在服务器达到几十台、上百台以上的规模后,都会考虑如何进行有效的管理,而虚拟化可以有效地解决PC服务器数量的急剧膨胀问题;此外,硬件的发展速度越来越快,双核、四核甚至六核CPU的推动,使得服务器的内存扩展能力越来越强,而虚拟化技术可以帮助用户大大提高服务器资源的利用率,并降低TCO成本。

  不同的技术流派

  在虚拟化领域有着众多的分支,包括虚拟机、存储虚拟化、内存虚拟化、操作系统虚拟化、网络虚拟化、数据中心虚拟化等。每种虚拟化都有着其所对应的方案和技术,而在工业应用的各方面也都存在着虚拟化的应用。可以说,虚拟化产品是多种多样的。

  目前,硬件虚拟化、并行虚拟化和操作系统虚拟化是比较主流的技术。并行虚拟化也被称做泛虚拟化(para-virtualization),而操作系统虚拟化也被称做容器技术(container),它们在近几年都得到了长足的进步。

  硬件虚拟化技术由于不需要修改客户机操作系统,可以支持各种Windows和其他商业操作系统客户机,从而提高了虚拟化技术的应用范围。同时,硬件虚拟化技术简化了虚拟机监控器(Virtual Machine Monitor或hypervisor)实现的复杂度,增加了系统的稳定性。近年来,随着硬件虚拟化技术的飞速发展,尤其是Intel VT技术的发展,各种基于硬件虚拟化技术的虚拟化实现方案迅速出现,如Xen、KVM、Virtual Box等。

  泛虚拟化技术因为需要修改客户机操作系统以绕开传统体系结构中的虚拟化漏洞,因而产生了对现有操作系统的兼容性问题。不过,同时它也因此可以按照需求变动客户机的体系结构,并以此来提高虚拟机的总体性能。因此,泛虚拟化技术比较适合在Linux等开源操作系统上使用。

  对于操作系统虚拟化,虚拟化的对象不是实际的物理资源(如处理器、内存或外设),而是从用户角度出发而抽象的操作系统内部资源,例如独立的根文件系统、独立的权限控制、用户和组管理等。因此,容器虚拟化技术可能有更好的效率,但却无法支持不同操作系统的同时运行,在某些应用场合它可能是一个不错的选择,但在另外一些场合它可能就不一定合适了。

  去年,Gartner发布了一份服务器技术发展的研究报告,其中有一个很有意思的预测:到2010年,共享的操作系统虚拟化将成为主流虚拟化技术。在此之前,虚拟化和虚拟机是同义词,而操作系统虚拟化并不被认为是虚拟化,可以说,Gartner的研究报告首次打破了这一神话。

  SWsoft就是操作系统虚拟化的积极倡导者,其CEO张自力曾表示:“硬件虚拟化的主要优势在于能够实现异构操作系统并存于一台物理硬件之上,从而为比较标准化的资源配备和系统管理提供了服务器整合的机会。并行虚拟化是硬件虚拟化的一种改良,其提高了I/O性能,但却要对Guest OS进行改动,这会影响到它的推广。”

  由于CPU、BIOS等层面都在从指令集等方面提供性能优化的手段,那么原始的并行虚拟化存在的必要性就不大了。操作系统虚拟化的特点是自身损耗比较低,而且与虚拟服务器的数量线性无关,从而能够给虚拟服务器容器内的应用提供更多可用资源。在同等硬件条件和应用负载情况下,操作系统虚拟化的效率是最高的—一般而言,操作系统虚拟化的密度可以做到虚拟机的2~10倍。另外,由于节省了Guest OS层次,就从开通到管理上都节省了操作时间和层次。操作系统虚拟化的缺点是不能实现异构并存,多个虚拟服务器要共享同一个操作系统内核,在一些需要支持老操作系统或旧Patch level的场景下是无法适用的。

  “事实上,虚拟化的主要趋势是要融入到未来整体的IT基础设施管理中,变成一个基础的、无处不在的核心组成部分。”张自力表示。

  不可忽视的开源虚拟化

  如今,开源虚拟化正在成为虚拟化领域中的一个热点,从Intel成立开源技术中心研发Xen开源虚拟化项目,到Linux Kernel 2.6.20内核收录KVM虚拟机,开源虚拟化在虚拟化领域扮演着独特的角色。

  谈到开源虚拟化,不得不提到Xen,Xen是一个基于开源软件的混合模型虚拟机,最早由英国剑桥大学计算机实验室Ian Pratt、Keir Fraser等人领导的Xen开发小组完成。最初的Xen基于32位x86体系结构设计开发,支持多个运行Xen操作系统虚拟机的服务器应用。经过几年的努力,今天的Xen已经可以支持32位x86架构(包括32位PAE即Physical Address Extensions)、64位x86架构、安腾和Power PC架构。同时,还支持SMP、虚拟机保存恢复、虚拟机动态迁移、设备驱动域等功能,并支持Linux、Windows XP以及最新的Windows Vista等。

  而谈到Xen,不能不提的是XenSource公司,它是由原Xen项目组主要成员创立的。可以说,XenSource是一个典型的将学校研究成果转化为生产力的创业型企业,一些著名的风险投资基金也参与到XenSource中。现在,XenSource既领导Xen社区的开发活动,同时也销售基于Xen技术的企业解决方案,如XenEnterprise等。

  2005年3月,Intel公布了Vanderpool硬件虚拟化技术,这一技术让Xen具有了支持所有操作系统的能力。作为一个小巧的、只有5万行代码的程序,Xen简洁的代码和开源的性质使其具有很好的安全性和稳定性,并且,在不同的计算平台上都可以运行。目前,XenSource已经得到了Intel、IBM、HP、AMD以及其他很多厂商的支持,这对于VMware和微软等虚拟化厂商来说,无疑是一个相当大的威胁。

  张自力也曾表示:“我个人是个开源的爱好者。开源虚拟化在虚拟化中所扮演的角色肯定是非常重要的,由于开源本身的特性,使得其能形成很大的推广力量,开源虚拟化也会随着开源操作系统等项目的发展而取得更大的发展。”

  我们不能否认,开源还是有着很强大的生命力的,而其生命力的源泉是来自于开源社区,来自于社区人员无私的贡献。在未来的某一天,可能虚拟化核心也会通过开源全面免费,而厂商的盈利点则集中在产品技术支持以及对管理工具的研发上。

  相关链接:

  半路杀出的微软

  微软说要做操作系统,苹果倒下了;微软说要做互联网,网景倒下了;微软说要做开发工具,Borland倒下了。在1980年,你想要说清楚微软是做什么的,答案是很简单的一句话——BASIC工具;而现在,你想要说清楚微软是做什么的,你也只能把答案简单概括成一句话——信息技术,也就是IT。

  其实,人们害怕微软是有道理的,在历史上,曾有过多次微软将软件竞争对手近乎“灭族”的例子,开发工具提供商Borland、浏览器NetScape、微机操作系统Apple……现在微软开始涉足虚拟化领域了。

  微软已经开始强调他们在虚拟化领域得天独厚的优势:基于Windows的平台,能很好地运行在此平台之上,并且Windows平台已经被用户广泛使用;360度的完整解决方案提供了从数据中心到桌面的虚拟化技术,并且有着灵活的选择,能够构造一个合作共赢的合作伙伴生态圈;整合的管理平台以及更低的整体拥有成本是微软自认为强于其他虚拟化产品的亮点。

  甚至针对开源虚拟化解决方案,微软也认为最初购买的价格虽然较便宜,但是长时间使用下来TCO不降反升。微软相信,对企业来说,自由价值不及管理,Windows单一环境容易管理、维护成本较低、封闭系统也较安全。而且,对很多拥有数百台PC以上的大型企业,透过大量授权来采购,升级起来也很方便,若考虑到人才资源,Windows与.Net的人才更是“物美价廉”。

  事实上,从某种角度说,微软从来就没有缺席过虚拟化市场的竞争。微软在2003年就收购了Connectix公司,后者在当时已经是一个全面的虚拟化解决方案提供商。对于微软涉足虚拟化领域,笔者曾经就此询问过VMware全球市场部副总裁Karthik Rau,他表示:“谈到微软,当然是一个非常好的公司了,但是谈到虚拟化的时候,其却远远落后于VMware。对于VMware来说,我们的虚拟化技术架构对于微软的运行环境和操作系统来说都是非常好的应用,我们也会与微软进行合作,向整个业界提供更具有灵活性、更具有业务持续的虚拟化解决方案。对于微软公司自己研发的虚拟化产品,他们的产品还不能够像我们提供的虚拟化产品那样具备完备的功能。”

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

作者

陈杰
陈杰

相关推荐