四个月前几乎没人听过开源虚拟化软件KVM,不过现在已经不同了。
这个由一家名为Qumranet的新创公司暗中支持的项目以其技术与文化特性很快获取许多支持者,包括Red Hat与Linux发明人Linus Torvalds。
这只是KVM在虚拟化市场成功站稳脚步的第一步。但它通过让一台计算机当成多台来用的能力,却彰显出一股导致计算机业界由上而下重新洗牌的强大威力。
但世界真的需要再多一种虚拟化技术吗?EMC子公司可说已是此间王道,微软正全力投入称为Viridian的项目,预计一年后问世。同时间,Xen也正获得开源界人士的密切注意。虽然KVM增加新的选择性与竞争,但也让战情益发风云诡谲。
“短期内KVM将因它引起的市场混局与开发人员的幻灭而造成不安,”Illumnata分析师Gordon Haff说。“但长期而言,更好的技术选择对Linux与开源只有好处没有坏处。”
KVM三个字母代表“核心为基础的虚拟机器(Kernerl-based Virtual Machine)”,它为Linux机器提供一种新的分割机制,使一台计算机当成许多台来用。它用的有别于利用低端软件“hypervisor”执行相同虚拟化功能的方法。
目前整个产业兴起虚拟化旋风,原因有许多,像是可以少数台服务器取代大量效率低落的机器,或是可在无害的切割环境下进行软件测试,最终是能让堆满计算机的数据中心可自由依工作任务调配资源。
Novell与IBM等Linux厂商都表示正在观察KVM的发展。但Linux大厂Red Hat首席技术官Brian Stevens则相信KVM大有可为。
“我想还要一年它才能赶上Xen今天的成绩…但我认为一定会赶得上,”Stevens说。“开源社区对KVM的着迷绝对超过Xen。”
Qumranet金主为Sequoia Capital与Norwest Venture Partners,但该公司首席执行官Benny Schnaider对公司未来计划三缄其口。他只在一次访谈中表示,Qumranet“没有计划出售KVM或提供支持服务来获利。”
KVM专案始于2006年初,时值Xen创办人Moshe Bar离开(将Xen商业化的新创公司)XenSource。目前在Qumranet担任技术长的他拒绝对本新闻发表说法。
Qumranet总部位于Santa Clara,研发中心设于以色列(Qumran是位于发现圣经《死海古卷》洞窟附近的古老聚落)。这家新创公司只有三十多名员工,大部分是工程师, Schnaider说。由于投入在KVM的人力不到12人,因此该公司也同时发展其它技术,Qumranet员工Avi Kivity说。
Kivity于去年10月19日在Linux核心的讨论群中首次将KVM介绍给世人。他开发的Linux修补更新程序让高端软件得以使用到 Intel与AMD最新处理器内建的硬件虚拟化功能。这也让其它操作系统,像是微软Windows可以以“guest”身分执行在较新硬件的Linux操 作系统上。
KVM作法迥异于Xen通过结合轻量“hypervisor”与特定OS-主要是Linux--来控制硬件存取的方式。
KVM技术较近似于VMware使用的两种方法之一-免费VMware Server及Player产品使用的“托管”模式。在此模式下,“guest”虚拟机器是跑在复制的操作系统上。而第二种方法则用于高阶ESX Server产品中,是由较大、全功能的hypervisor控制底层硬件的存取。
和Xen是加在Linux上的方式不同,KVM修补程序几乎是立刻就加入到由Torvalds等人维护的主流核心中。
“我们依照Linux传统来做事,”Kivity在接受访问时谈到。“我在Linux讨论社区中混很久了,因此我知道核心维护成员发生什么了大事,也能在第一时间出手导正。如果我突了槌也会很快就修正。”
他解释“唯有信息的开头是PATCH,核心维护成员才会把你当一回事,”Kivity说。
Torvalds在去年12间首度接受KVM补丁程序,他表示这项技术不破坏程序代码、也不复杂,是Linux把它包入的主要原因。
“从核心角度来看,KVM真的很简单明了,因此我们很容易把它合并进来,”Torvalds补充,KVM开发人员也很容易和Xen的人沟通,“我想中间没有什么利害关系,政策问题也不多。”
人的因素却不可小觑。由于KVM视Linux核心为中心考虑,而Xen则把大部分心思放在个别hypervisor上,也难怪核心工程师对KVM比较感兴趣。
Red Hat的Stevens说,KVM方法比较简单、易懂,而Red Hat首席开发人员Ingo Molnar也很喜欢KVM,并着手改善KVM的效能。
“这是管理社区比较自然的方法。现在我们一直苦于把Xen和最新操作系统整合的负担,实在很贵,开发人员得不断工作好几周,而且进度总是落后。KVM让我们雀跃不已,任何和Linux不合之处会立刻反应或修复。”
而对Qumranet来说,Linux也让他们省了不少事。“作为Linux核心的一部分,KVM可使用现有组件,像是排程器和内存管理员,节省整个开发的资源,也避免开源社区的重复开发工作,”Schnaider说。
Xen开发人员一开始也计划将之与Linux核心整合,但后来改为增加hypervisor的接口,称为paravirt-ops。这方法可让Linux与VMWare等其它人的hypervisor互通。
“Xen永远不会成为核心的一部分,因为它不是核心组件,”XenSource CTO Simon Crosby说。“但paravirt-ops则是。”他补充,第一个组件将在2.6.21版核心问世时推出。
声明:LUPA开源社区刊登此文只为传递信息,并不表示赞同或者反对。



