Talk is cheap, show me the code 硬件层面较为复杂的局面意味着在系统层面需要一个极为精简的设计从而确保x86的硬件虚拟化特性能够在Linux内核层面有较好的可维护性,良好的性能,同时保持一定程度的可扩展性以便为未来新的特性(补丁)的加入留有余地,另外,在那个时候,Xen和Vmware依靠自己独有的技术分别在不同领域如日中天,尤其值得一提的是,Xen在开源领域几乎成为了虚拟化的事实标准,而且开源领域一向奉行Don’t reinvent the wheel这一金科玉律,这一切无疑都为提出新的虚拟化实现增加了巨大的不确定性,但是当时Linux内核中还没有任何虚拟化实现,这一现状又使得提出新的设计成为可能,唯一的问题就是谁能够在足够短的时间内另辟蹊径提出新的方案并且获得多数人的支持,这一点难度之大,恐怕只有深入了解开源社区的人才会感受到,要知道Linux社区恐怕是这个星球上最为“独裁”的组织,没有之一,而且语言“暴力”与人身“攻击”司空见惯(Alan Cox就是无法容忍这一点才选择退出Linux社区),要想在其中被认可并取得一席之地,除了超强的技术实力之外,更要有谦逊的品格,非凡的耐心和绝佳的沟通技巧。 Do one thing and do it well Avi Kivity提出的方案非常清晰而且巧妙,充分遵循Linux源自Unix的设计思想,把方案的关注点聚焦于Linux内核部分,User space部分交给了稳定可靠的Qemu,采用Qemu作为其用户空间的入口,而且KVM仅仅实现HVM功能。遵循惯例,Linux内核中的KVM模块通过设备文件暴露系统呼叫给User space的Qemu。这一切现在看起来似乎平淡无奇,但是,Avi Kivity方案的背后是要在极短时间内通过代码实现来证实并获得社区认可这一几乎不可能实现的任务,这有赖于Avi Kivity对于计算机体系架构的深入理解,不单单是x86架构的Intel VT-x和AMD-V,还有后续陆续支持的其它架构,并且深入了解Linux内核,精通汇编和C。
KVM的出现震撼了整个了Linux社区和业界,人们惊异于其出众的性能,更加折服于其精简的设计和良好实现(在SPEC virt2013 Benchmark中基于同样的处理器、内存和存储,KVM单在VM Density指标上以37%的优势超越对手),以至于,在极短的时间内,这个世界上最重要的科技公司纷纷宣称他们将把KVM作为他们x86虚拟化的解决方案,要知道,这极为不同寻常,在这之前以蓝色巨人IBM为代表的科技巨头已经在Xen上投入了大量的财力物力和人力,如果没有决定性的因素,科技巨头的Strategic dicision是不可能轻易改变的,时至今日,IBM在准备推出Power KVM,打算把KVM移植到Power Linux上。就连以Google Glass、无人驾驶汽车和Project Loon著称的跟现代科技格格不入的前沿科技巨头Google也在其Google Compute Engine中采用KVM技术作为x86的虚拟化方案来和Amazon对抗。这一切只能说明KVM凭借其优异的性能和精简架构当仁不让成为了一项无法忽视的虚拟化技术屹立于云计算之巅。 云计算的新征程OSv 在KVM合并进入Linux主干之后不久Avi Kivity很快成为内核KVM子模块的Maintainer,2012年11月21日一封标题为“KVM: Retire as maintainer”的简短邮件出现在Linux社区邮件列表中,在以KVM模块Maintainer身份贡献Linux社区6年零6个月之后,Avi Kivity选择开启了新的征程,发起并担任云计算创业公司Cloudius的CTO,这是一个不同寻常的选择,要知道在这个世界上,在虚拟化和云计算领域恐怕没有多少人能够比Avi Kivity更有发言权,这一次,Avi Kivity敏锐的意识到除了x86家族的处理器架构之外,已经成为云计算基石的Linux同样天生不是为云计算设计的,因此具有极大的性能提升空间,大胆提出并设计了专为云计算设计的操作系统OSv,当然,其依然是建立在Linux基础上,但是其无需Context switch,真正的Zero Copy以及Lock Free等特性使得其Less One second boot相对于众多宣称秒级响应的厂商来说更加具有说服力。尤其重要的是,KVM之父通过OSv项目表达了对以Linux CGroup技术为核心的Containner技术的看法。 Avi Kivity是如此低调,以至于你很难在网上找到太多的关于他的信息,只有寥寥几篇报道和访谈,但是KVM在整个云计算领域中又是如此的炙手可热,虽然今年已经是KVM进入内核的第八个年头,但是KVM依然活跃,我们依然难以估量其在云计算领域的真正价值,而这一切都源自于这个地球上最危险的那个角落中的那名天才程序员Avi Kivity。 注:仅以此文表达对Avi Kivity、Yaniv Kamay、Dor Laor、Uri Lublin还有Anthony Liguori还有其他KVM以及Qemu开发人员的敬意。 |