探寻阿里云服务器迈入2.0时代的技术要点
在10月15日举行的云栖大会上,阿里云宣布云服务器正式进入2.0时代。根据其官方发布的信息来看,本次ECS服务器在以下方面做了升级
- 将Xen切换到KVM,同时支持Xen和KVM两大虚拟化系统;
- 推出了IO优化实例,配合SSD云盘,极大地提升性能;
下面我们就来了解一下Xen和KVM的区别,也许从中就能发现为何阿里云会将虚拟化技术从Xen切换到KVM。
Xen的定义
Xen是一个基于X86架构、发展最快、性能最稳定、占用资源最少的开源虚拟化技术。Xen可以在一套物理硬件上安全的执行多个虚拟机,与 Linux 是一个完美的开源组合,Novell SUSE Linux Enterprise Server 最先采用了XEN虚拟技术。它特别适用于服务器应用整合,可有效节省运营成本,提高设备利用率,最大化利用数据中心的IT基础架构。
KVM的定义
KVM 是 kernel-based Virtual Machine 的简称,是一个全虚拟化的解决方案,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。
Xen和KVM对比
Xen | KVM | |
---|---|---|
问世时间 | 2003年 | 2007年 |
支持企业 | Citrix、Novell、Oracle、Sun、Ret Hat(RHEL5)和Virtual Iron | Redhat、Ubuntu等 |
支持的虚拟化技术 | 全虚拟化、半虚拟化 | 全虚拟化 |
支持架构 |
x86、IA64和AMD、Fujitsu、IBM、Sun等公司的ARM 以及x86/64 CPU商家和Intel嵌入式的支持 |
支持虚拟化的CPU |
支持操作系统 | UNIX、Linux和Microsoft Windows | UNIX、Linux和Microsoft Windows |
动态迁移 | 支持 | 支持(以前不支持) |
内核支持 | 需要对内核打补丁 | 内置在内核中 |
大多数Xen和KVM性能的对比都表明Xen具有更好的处理性能(接近于本地处理)。但是Xen也是有其缺点的,如果你需要更新Xen的版本,你需要重新编译整个内核,而且,稍有设置不慎,系统就无法启动。
相比较而言,KVM就简化的多了。它不需要重新编译内核,也不需要对当前kernel做任何修改,它只是几个可以动态加载的.ko模块。它结构更加精简、代码量更小。所以,出错的可能性更小。并且在某些方面,性能比Xen更胜一筹。 而这里指的就是磁盘I/O方面。
接下来就需要说到本次阿里云升级的第二个特点,经过IO优化的实例,配合SSD云盘的使用。
什么是I/O优化实例?
- 为实例与云盘之间提供更好的网络能力,可保证SSD云盘存储性能的发挥;
- 对于I/O优化的实例,挂载SSD云盘时能够将SSD云盘的存储性能发挥到最大;
I/O优化是将硬盘换成SSD硬盘并且优化了读写,,从10M/S 到 50M/S 100M/S 200M/S 的跨越,容量越大,性能越好 。对于支持I/O优化的实例,挂载SSD云盘时能够获得SSD云盘的全部存储性能。
什么是SSD云盘?
SSD云盘基于全SSD存储介质、利用阿里云飞天分布式存储技术,提供数据可靠性99.9999999%的高性能存储;该产品具备以下特点:
- 高性能:单个SSD云盘最高提供20000随机读写IOPS、256MB/s吞吐量的存储性能;
- 高可靠性:SSD云盘采用分布式三副本机制,提供99.9999999%的数据可靠性;
- 每GB提供30 IOPS:SSD云盘采用每GB空间30个IOPS的策略
- 高容量:单块SSD云盘容量:单块SSD云盘最大提供1024GB存储空间;
下面来看一下SSD云盘性能曲线图:
从图中就可以看出SSD云盘在I/O优化过的实例的IOPS和吞吐量,随着云盘容量越大发挥出的性能更好。
总结:
通过上面的两个技术点的介绍,阿里云本次对ECS服务器的升级,不仅是从技术上还是从产品层面上都是一次非常重要的升级,所以将云服务器称为迈入2.0时代。希望通过阿里云不断地升级底层技术,打造优秀的产品为我们开发者提高更好的服务。最后附上近期阿里云在CCTV投放的“云广告——“为了无法计算的价值”。
参考: