从基于内核的虚拟机(KVM)诞生的那一刻起,话题就不断。作为一款免费的开源管理程序,KVM有何魅力受到众多厂商青睐?KVM的未来又在哪里?
KVM的诞生
一切得从一宗收购讲起,2008年9月,红帽以1.07亿美元的价格收购Qumranet,后者为解决虚拟化桌面RDP的缺点开发了基于内核的虚拟机(KVM),设计目的旨在简化虚拟化实例的管理,它也提供了一个强壮的框架,用于增强底层架构的功能。从此,KVM频繁出现在大众视线中。
KVM的成长期
KVM技术一出现,就受到厂商的大力推广。红帽一直将KVM作为虚拟化战略的一部分,2009年年底发布了红帽企业版Linux 5.4,继续大力推行这种转型,鼓励用户使用KVM为其首选的虚拟化平台。2011年,随着新版操作系统Red Hat Enterprise Linux 6的发布,红帽完全放弃了以开源Xen为虚拟化平台的思路,开始支持KVM作为hypervisor。
KVM作为一个快速成长的Linux虚拟化技术,已经获得了许多厂商的支持,如Canonical、Novell等。Canonical公司的Ubuntu服务器版操作系统是第一个提供全功能的KVM虚拟化栈的主要Linux发行版。
为什么那么多的大公司对KVM感兴趣?其中最明显并且最重要的因素就是KVM是Linux内核的一部分。这个轻量级的虚拟化管理程序模块能直接与硬件交互,不需要修改虚拟化操作系统,因此性能更好,并且补丁包能够和Linux内核兼容,轻松控制虚拟化进程,同时减轻管理负担。
当然,KVM也有成长的烦恼。KVM究竟属于Type 1还是Type 2hypervisor呢?出现这种疑惑的原因在于KVM的基因——它属于操作系统的一部分,类似直接运行于硬件系统之上的裸机管理程序,不需要修改操作系统。这就符合Type 1 hypervisor的定义,也经常被称为硬件虚拟化引擎,更像是个安装在客户端上的操作系统,性能佳,运行稳定,减少了运行管理程序本身所需的花销。而Type 2 hypervisor更像是个应用,运行在基础操作系统上。如果将KVM看作Type 2,那么所强调的高性能难达到,还可能存在安全风险。其实,对Type 1和Type 2的讨论不是是否采纳KVM的前提。无论KVM是“第一类”还是“第二类”,这都是语义上的概念。
此外,就是所有新生技术在发展中都会面临的难题:技术不成熟。KVM的出现不过三四年时间,在可用资源、平台支持、管理工具、实施经验方面当然不能与出现八年之久的Xen相比。虽然目前KVM还缺少某些关键特性,例如存储的动态迁移,但是在后续的版本中都会开发出来。
性能方面,KVM在逐渐显示其威力。不久前的SPECvirt虚拟化对照基准测试中,红帽企业Linux 6.1、其内嵌的KVM hypervisor以及惠普ProLiant DL980 G7服务器三者结合,创造了新的成绩——最佳的虚拟化性能和最多的计算区块数量,并且六台虚拟机能同时运行一个应用程序。
KVM的未来
虽然只是新生技术,但是由于其性能和实施的简易性,加上Linux企业市场中份额最大的红帽不遗余力的推广开发,KVM将会持续成长壮大。
而开放虚拟化联盟(OVA)也在为KVM护航,这个由IBM、红帽、英特尔等重量级厂商组成的联盟才成立不过半年,成员就迅速达到200以上。该联盟的宗旨致力于促进基于内核的虚拟机(KVM)等开放虚拟化技术的应用,鼓励互操作性,为企业在虚拟化方面提供更多的选择、更高的性能和更具吸引力的价格。
对于用户来说,可选择的主流虚拟化产品也越加清晰:红帽KVM、VMware、 Citrix的Xen、和微软的Hyper-V。
#p#
OpenStack与KVM都是目前IT界比较热门的两个词汇。它们都是开源的,都与Linux有着千丝万缕的关系。但这两者还是有很大的差别呢。
OpenStack:开源管理项目
OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它不是一个软件,而是由几个主要的组件组合起来完成一些具体的工作。OpenStack由以下五个相对独立的组件构成:
l OpenStack Compute(Nova)是一套控制器,用于虚拟机计算或使用群组启动虚拟机实例;
l OpenStack镜像服务(Glance)是一套虚拟机镜像查找及检索系统,实现虚拟机镜像管理;
l OpenStack对象存储(Swift)是一套用于在大规模可扩展系统中通过内置冗余及容错机制,以对象为单位的存储系统,类似于Amazon S3;
l OpenStack Keystone,用于用户身份服务与资源管理以及
l OpenStack Horizon,基于Django的仪表板接口,是个图形化管理前端。
这个起初由美国国家航空航天局和Rackspace在2010年末合作研发的开源项目,旨在打造易于部署、功能丰富且易于扩展的云计算平台。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性,企图成为数据中心的操作系统,即云操作系统。
KVM:开放虚拟化技术
KVM(Kernel-based Virtual Machine)是一个开源的系统虚拟化模块,它需要硬件支持,如Intel VT技术或者AMD V技术,是基于硬件的完全虚拟化,完全内置于Linux。
2008年,红帽收购Qumranet获得了KVM技术,并将其作为虚拟化战略的一部分大力推广,在2011年发布RHEL6时支持KVM作为唯一的hypervisor。KVM主打的就是高性能、扩展性、高安全,以及低成本。
与Linux的缘分
一个被某些热心支持者成为云时代的Linux,是公有云与私有云的开源操作系统。一个则是Linux内核的一部分,将Linux转换成一个Type-1 hypervisor,无需任何变更就能享受现有的Linux内核进程调度、内存管理和设备支持。
OpenStack炙手可热,它如同Linux一样,旨在构建一个内核,所有的软件厂商都围绕着它进行工作。OpenStack的许多子项目,对云计算平台中的各种资源(如计算能力、存储、网络)提供敏捷管理。此外,OpenStack也提供对虚拟化技术的支持。
KVM集成在Linux的各个主要发行版本中,使用Linux自身的调度器进行管理。KVM专注于成为最好的虚拟机监控器,是使用Linux企业的不二选择,加上它还支持Windows平台,所以也是异构环境的最佳选择。
OpenStack与KVM都发展迅猛
OpenStack是一个拥有众多支持者的大项目。时至今日,已经有超过180家企业和400多位开发人员对这一项目积极地做着贡献,而其生态系统甚至更为庞大,已经超过了5600人和850家机构。在今年9月,OpenStack基会正式成立。白金会员有红帽、IBM与惠普等,黄金会员包括思科、戴尔与英特尔等。
OpenStack基本上是一个软件项目,有近55万行代码。分解成核心项目、孵化项目,以及支持项目和相关项目。除了以上提及的五大组成,与虚拟网络有关的Quantum首次被列为核心项目。
KVM是一个脱颖而出的开放虚拟化技术。它是由一个大型的、活跃的开放社区共同开发的,红帽、IBM、SUSE等都是其成员。2011年,IBM、红帽、英特尔与惠普等建立开放虚拟化联盟(OVA),帮助构建KVM生态系统,提升KVM采用率。如今,OVA已经拥有超过250名成员公司,其中,IBM有60多位程序员专门工作于KVM开源社区。
OpenStack与KVM的解决方案
在去年9月22日发布Diablo之后,OpenStack社区随即开始着手新版本的设计和开发,新版本开发代号为Essex。此前发布有四个版本:Austin、Bexar、Cactus与Diablo。新版本发布包含云计算控制中心Nova、镜像服务Glance、认证服务Keystone和Dashboard项目Horizon,也包括对象存储项目Swift。
由此可以看出,OpenStack是一个框架,一个可以建立公有云和私有云的基础架构。它并不是一个现成的产品,要想开展基础架构方面的工作,企业需要顾问和开发人员。很多时候还需要第三方的集成工具。
KVM可通过购买Linux版本获得,或作为独立hypervisor单独购买。最近,IBM KVM(北京)卓越中心落户北京,展示IBM及合作伙伴基于KVM的产品,包括IBM SmartCloud Entry、IBM System Director VMControl、Red Hat Enterprise Virtualization及SUSE云。
OpenStack与KVM相互辉映
OpenStack几乎支持所有的虚拟化管理程序,不论是开源的(Xen与KVM)还是厂商的(Hyper-V与VMware)。但在以前,OpenStack是基于KVM开发的,KVM常常成为默认的虚拟机管理程序。两者都使用相同的开放源理念与开发方法。
如今,多数企业用户在IT环境中使用了超过一种的虚拟化软件,有一半的用户选择将开源产品作为性价比更高的虚拟化替代方案。IDC报道中指出,OpenStack是KVM增长的一个巨大机会。OpenStack是一个具有巨大的行业发展动力,并拥有一个充满活力的社区的云计算平台,有95%的OpenStack平台由KVM驱动。因此,随着OpenStack的增长,KVM也会相应增长。
小结
虽然OpenStack与KVM在IT界比较受关注,但是它们都存在一些劣势。比如OpenStack引发了厂商之间的利益冲突,在兼容性方面有待提供,开发成本也较高,服务支持也有点滞后。KVM市场占有率很低,成熟度不够。但是,两者都有强大的发展动力,也有各大IT厂商的持续支持。开源终究还是会胜出呢,这个趋势不可避免。