全球最大公有云厂商AWS于近期宣布了全新的C5实例,该实例完全基于新的虚拟机监控程序(Hypervisor):KVM。在之前的11年里,AWS的所有虚拟化实例都是基于XEN技术实现的。也就是说AWS也开始转向了KVM之路而不再坚持使用从其诞生之日起一直使用的XEN技术。
我们知道虚拟化是云计算中最核心的技术(注意,这里没有之一)。而要将这最核心的虚拟化引擎从XEN切换到KVM,无论是在底层技术、还是产品架构、用户体验方面都会面临非常巨大的挑战。
和AWS一样,阿里云当初为了从XEN切换到KVM,也经历了非常剧烈的来自外部和内部的阵痛。当时既没有明显的业界案例可参考,XEN社区的技术进展也依然如火如荼,更重要的是底层核心技术的变更对整个云架构中的几大核心模块如:控制系统、虚拟化存储、虚拟化网络、系统管理与运维都会带来极其猛烈的冲击。不可谓不是牵一发而动全身。
但是期间经历的几件事情,让我们虚拟化技术总监-张献涛下定决心:“现在,是时候该做出自己的选择了!”
1) 随着X86处理器(VT-X, EPT, VT-D)对虚拟化的支持越来越好,XEN半虚拟化的性能优势逐渐没有,反而因为其结构上的复杂度,对于阿里云二次开发和维护都带来了比较大的挑战。
2) KVM项目逐渐开始成熟。KVM因为其简单的架构,大量复用了Linux内核的逻辑,使得代码简单高效, 得到了业界的一致认可。
3) 2014年爆发的xen XSA-108漏洞, AWS、LINODE重启了大量的物理机, 虽然阿里云当时通过一个创新的方案做了在线修复, 但也花费了大量的精力和时间。
"马老师说“因为相信而看见”。这句话用在这里又何尝不贴切呢。我们因为相信一线研发工程师的切身感受与体验;相信一个技术会不断更迭,从不完善走向完善;相信正确的方向才是最重要的,即使为此需要我们趟再多的坑也再所不辞!"
如今,我们已经开始享受越来越多的由于底层架构的优越性所带来的整个研发效率,系统效率/性能方面的优势。有关这些内容,后续会有相应的专稿一一进行介绍。
好的,现在我们的话题也可以出来了。
1. 你知道阿里云是何时从XEN切换到KVM?在这之前XEN在阿里云的应用时间有多长吗?
2. 作为用户的你,当时是否曾被阿里云底层技术的切换所困扰过?或者,现阶段从底层虚拟化来说,还有哪些需要改进的?
3. 说一说你所理解的KVM虚拟化技术有哪些优势?