1. 聚能聊>
  2. 话题详情

AWS将虚拟化技术从XEN切换到KVM ,聊一聊大象转身过程中的技术难点

全球最大公有云厂商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虚拟化技术有哪些优势?

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    阿里云代金券 x 4

  • 奖品二

    云栖定制电脑包 x 2

  • 奖品三

    虾米VIP月卡 x 4

14个回答

2

北方的郎 复制链接去分享

1. 你知道阿里云是何时从XEN切换到KVM?在这之前XEN在阿里云的应用时间有多长吗?
这个应该是2015年吧。因为2016年的时候我专门为这件事问过阿里的技术人员,他说以前是Xen不过最近都转到KVM上了。

2. 作为用户的你,当时是否曾被阿里云底层技术的切换所困扰过?或者,现阶段从底层虚拟化来说,还有哪些需要改进的?
木有啊,从我们开始使用阿里云的时候就已经是KVM了。

3. 说一说你所理解的KVM虚拟化技术有哪些优势?
放在Kernal里面,与Linux深度结合。Xen的代码量几乎是KVM的10倍,可想而知了。
不过我记得以前看过一篇文章专门探讨各种虚拟化技术,把微软的Hyper-V吹的比Xen和KVM都高。具体内容忘了,只记得我当时看完感觉好有道理的样子。楼主如果是这方面的专家,就把现在这些常用的虚拟化技术给我们聊聊呗。

1

妙正灰 复制链接去分享

1. 你知道阿里云是何时从XEN切换到KVM?在这之前XEN在阿里云的应用时间有多长吗?

没记错的话,15年的时候 I/O 优化实例开始使用的 KVM,知道正式推出系列二之前,XEN 应该还是占大头的。 应该是 09 年到 15年 都用的 XEN 吧。

2. 作为用户的你,当时是否曾被阿里云底层技术的切换所困扰过?或者,现阶段从底层虚拟化来说,还有哪些需要改进的?

我能说没有么。。。。 如果有的话估计就是一些强 IP 依赖的用户在升级到 I/O 优化的时候改 IP吧。

3. 说一说你所理解的KVM虚拟化技术有哪些优势?

以前一直都有这么种说法,还是我12年开始接触 VPS 的时候流行的说法。

OpenVZ 虚拟化不彻底,但是性能好,不过容易超售收到同机房租户影响。
XEN 分 PV 和 HVM,PV 只能虚拟 Linux,HVM 虚拟化程度高但是性能差

KVM 虚拟化最充分,同样的会导致性能不好。

不过就目前大家都换成 KVM 的情况下,我觉得可能是不靠谱的,难得活捉虚拟化团队,也不要奖励了,就想听大佬解释一下三个虚拟化方案的对比

0

淡而无味 复制链接去分享

  1. 你知道阿里云是何时从XEN切换到KVM?在这之前XEN在阿里云的应用时间有多长吗?
    这个应该是2015年吧。因为2016年的时候我专门为这件事问过阿里的技术人员,他说以前是Xen不过最近都转到KVM上了。
  2. 作为用户的你,当时是否曾被阿里云底层技术的切换所困扰过?或者,现阶段从底层虚拟化来说,还有哪些需要改进的?
    木有啊,从我们开始使用阿里云的时候就已经是KVM了。
  3. 说一说你所理解的KVM虚拟化技术有哪些优势?
    放在Kernal里面,与Linux深度结合。Xen的代码量几乎是KVM的10倍,可想而知了。

不过我记得以前看过一篇文章专门探讨各种虚拟化技术,把微软的Hyper-V吹的比Xen和KVM都高。具体内容忘了,只记得我当时看完感觉好有道理的样子。楼主如果是这方面的专家,就把现在这些常用的虚拟化技术给我们聊聊呗。

0

wangccsy 复制链接去分享

  1. 你知道阿里云是何时从XEN切换到KVM?在这之前XEN在阿里云的应用时间有多长吗?
    阿里云应该是在2015年从XEN切换到KVM,在之前XEN在阿里去应用应该有近6年之久吧。
  2. 作为用户的你,当时是否曾被阿里云底层技术的切换所困扰过?或者,现阶段从底层虚拟化来说,还有哪些需要改进的?
    现在还没有使用阿里云,不过在考虑会使用阿里云(国内),国外可能会考虑AWS。
  3. 说一说你所理解的KVM虚拟化技术有哪些优势?
    (1)支持半虚拟化I/O及对称多处理;

(2)支持 PCI 设备直接分配和 单根I/O 虚拟化 ;
(3)支持x86 (32 and 64 位), s390, Powerpc等CPU类型;
(4)从Linux2.6.20 起就作为一模块被包含在 Linux 内核中;
(5)KVM构架是解决虚拟化问题的最佳方案,也是第一个进入内核的虚拟化解决方案。
(6)KVM构架是内核本身的一部分,因此可以利用内核的优化和改进,稳定性能非常好。

0

天字号猪 复制链接去分享

从市场占有率的角度来看,就是Xen的最后一个大体量的用户对Xen说,以后我不再需要你了。

如果说以前还有业界传言说AWS在Xen上投入太过巨大、依赖太重,所以AWS将一直支持Xen的话,那么现在这个传言已经宣告终结。毕竟,如果连AWS都以实际行动表示切换到KVM的收益大于成本了,那么那些体量更小的Xen用户还能对Xen有什么更多的期待呢?

所以对于未来的市场而言,这次改变也许象征着Xen的使命已经结束了。对于过去的市场而言,Xen的使命就是让那些仍然跑在Xen上的业务们能够继续平稳运行。不过这里面还有一个变数就是Unikernel,那就是另一个话题了。

从上游社区的角度,影响可能不大,因为Amazon一直不是个活跃的开源社区参与者。即使作为最大的Xen用户那么多年,Amazon对Xen上游社区的代码贡献数量却是屈指可数。所以对于KVM项目,可能我们未来也不大会看到很多来自Amazon的代码贡献。

从技术发展的角度,这是个大趋势下技术更新换代的必然——也许从KVM被合并到Linux内核代码的那时起就已经种下了种子吧。

0

keller.zhou 复制链接去分享

KVM相比Xen有着更好的可管理性以及更高的性能。性能这一点需要基准测试来说话,不过不同的基准测试会给出不同的结果,所以性能方面孰优孰劣很难一概而论;可管理性方面,红帽在大规模服务器自动化管理方面倒是一直很有一些心得,而且相关的工具大多是免费开源的,这点很不错。

0

xixi_2015 复制链接去分享

AWS免费的怎么注册

0

麦老师 复制链接去分享

16年双11的时候买的服务器还是XEN的,17年双11买的就是KVM的了,至于到底什么时候从XEN切换到KVM的,还真不清楚

0

一刀天啸 复制链接去分享

不错不错,性能不错的,值得

0

浮生递归 复制链接去分享

  1. 你知道阿里云是何时从XEN切换到KVM?在这之前XEN在阿里云的应用时间有多长吗?
    没看到相关报道,是不是在2015年?推算的。应用时间我猜在10年左右吧。
  2. 作为用户的你,当时是否曾被阿里云底层技术的切换所困扰过?或者,现阶段从底层虚拟化来说,还有哪些需要改进的?
    底层技术的切换,肯定会带来很大的影响。不过毕竟这是往好的切,虽然是阵痛,好过温水煮青蛙啊。对于有利的变革,是越早越有利,眼光还是要长远。所以对于这种技术切换,我还是非常支持的。
  3. 说一说你所理解的KVM虚拟化技术有哪些优势?
    主要就是话题里说的这些吧。不过我个人感觉最大的优势,还是以后的发展。kvm的发展速度快于xen,那么更新换代是迟早的事情,所以晚换不如早换。这个就像三体里的黑暗森林法则一样,那么牛x的外星人,二向箔都发明出来了,却因为担心地球人的发展速度,而出手毁灭了地球。
0

仁太 复制链接去分享

技术升级得有前瞻性啊

0

1360465075298673 复制链接去分享

不错不错

0

hikingx 复制链接去分享

  1. 你知道阿里云是何时从XEN切换到KVM?在这之前XEN在阿里云的应用时间有多长吗?
    2015年云栖大会,阿里云宣布已经将虚拟化技术从Xen切换到KVM ,成为世界上极少数同时大规模支持Xen与KVM的厂商。

从时间上推断应该是2014年阿里云服务器虚拟化技术从Xen切换至KVM。这样算起来至少用了6-7年时间。

  1. 作为用户的你,当时是否曾被阿里云底层技术的切换所困扰过?或者,现阶段从底层虚拟化来说,还有哪些需要改进的?
    这个肯定是有的担心的,但是只要切换过程不影响用户业务,无感知也无所谓。
  2. 说一说你所理解的KVM虚拟化技术有哪些优势?
    KVM的虚拟化实现原理是基于进程的,Xen的虚拟化实现原理是基于物理硬件资源,这是两种架构最核心的区别。

KVM架构对虚拟机的管理控制能力强,KVM架构继承了Linux内核更新迭代带来的系统优化;KVM架构与Openstack云平台架构衔接地好。

话说云栖定制电脑包挺好的。。。。。。

0

xxx+yyy+zzz 复制链接去分享

kvm 性能性能性能性能性能杠杠得