当前各虚拟化技术的分析
n VMWare
EXSi
免费,Bare-Metal的虚拟化的产品。
ESX Server是一个单内核的产品,其主要特点是硬件的驱动程序集中在Hypervisor一层,被Hypervisor上的所有的虚机所共同使用。当一个虚机的OS需要访问硬件时,它通过Hypervisor中的driver model来访问,这种单内核的Hypervisor能够提供很好的性能,但是它在安全性和兼容性上存在缺陷。由于驱动程序和一些第三方代码跑在一个很敏感的区域内,这种模式继承式了拥有了一个很大的被攻击面。
vSphere
简单的说,把ESXI当做资源,vSphere实现管理资源。
VMware vSphere号称是业界第一款云操作系统,它利用虚拟化的强大能力将数据中心转变为极为简化的云计算基础架构,使 IT 组织能够利用内部和外部资源,安全和低风险地提供新一代灵活可靠的 IT 服务。
VMware vSphere的关键组件:
基础架构服务组件,它们全面虚拟化服务器、存储设备和网络资源,聚合这些资源,并基于业务优先级将它们准确地按需分配给应用程序。
应用程序服务组件,无论应用程序类型或操作系统是什么,都将为运行于 VMware vSphere上的所有应用程序提供内置的服务级别控制。
VMware vCenter,提供基础架构和应用程序服务管理,实现日常操作任务自动化,并且可以深度监测大型和小型 VMware vSphere环境的每个方面。
vCloud
基于vSphere(并可跨越多个vSphere进行管理),提供用户、计费、客户自服务等管理功能。
提供二次开发API。
提供接口、自动化与管理的功能集,从而让企业和服务提供商以Web服务的形式来提供基于VMware平台的基础设施资源。
最终用户可以自助式的创建,使用和管理虚拟机和虚拟应用,而IT人员只需要管理用户的帐单并适当控制用户的使用。
n Xen
Xen Hypervisor
免费、开源的服务器虚拟化产品。
目前版本3.4.2,对Intel nehalem架构全面的支持。
下一个版本是4.0
XCP
免费的Xen Cloud Platform,基于Xen 3.4.1,采用Linux 2.6.27 Kernel。
目前版本是Version 0.1,1.0还没有发布,预计在2010年的Q1。
提供对虚拟化的基础设置的管理,提供开放的API,提供租赁、SLA保障和按需的细粒度计费模式。
将提供经微软认证的Windows PV Drivers。
XCI(Xen Client Initiative)
Xen Hpervisor for Client Devices
嵌入式的Xen Hypervisor。
主要是为了支持使用Intel或AMD体系机构的Laptop和mobile devices。
Xen.org桌面虚拟化方面的路线。
n Citrix
Xen Desktop
桌面虚拟化的解决方案,提供像windows体验般的桌面系统。
Any device, anytime, anywhere
HDX user experience – high definition experience on any device
On-demand apps
FlexCast delivery
Open architecture
Xen Server
免费,服务器虚拟化产品,基于Xen。
Xen Server和VMware ESXi的特性对比见附录1.
n Microsoft
Hyper-V
微软提出的一种系统管理程序虚拟化技术。它主要作用就是管理、调度虚拟机的创建和运行,并提供硬件资源的虚拟化。
Hyper-V的体系结构见附录2。
虚拟化技术方面的发展重点
n CPU和MEM的热插拔技术:
云计算的基础设施服务无非是提供:计算能力、网络带宽能力、存储能力。计算能力的动态扩展,也就是虚拟CPU和MEM的热插拔技术是其中最难的部分,这不仅涉及到硬件对热插拔的支持,还涉及到虚拟化技术对热插拔的支持,及Guest OS对热插拔的支持。
目前,VMWare vSphere支持(1)Hot add CPU and memory (2)Hot plug virtual storage and network devices (3)Hot extend of virtual disks。
Xen开源团队正在努力实现在PVM和HVM中的CPU和MEM热插拔技术,可能是Hot add。
一旦具备了该功能,相应可以在我们的服务中真正实现虚拟机的动态扩容,实现真正的弹性,能在不停客户服务的情况下变更计算能力。
n 软交换技术:
VMWare有自己的软交换技术,用来提供虚拟机之间的虚拟网络数据通信。目前Xen也在开发自己的软交换程序,但他目前是二层交换。
这些运行于Domain0中的软交换设备通过上联到一个真实交换机上实现一个级联的交换网络,可以提供VLan划分,限速,流量控制等功能。
n 动态迁移与异地动态迁移技术:
动态迁移是提供HA的基础,而目前实现动态迁移的基本条件是底层的共享存储;正像VMware那样共享存储是标配的,在次基础上才能支持VMotion等其它高级特性。
Xen Summit 2009上,Xen的主席Ian Pratt(Ian Pratt is the chief architect of the Xen project, and chairman of Xen.org)演示了一次跨数据中心的Live Migration。
该特性对异地容灾很有意义。
n 备份与容灾技术:
数据安全性是云计算需要解决的最关键的任务。
n IaaS API:
目前,虚拟化技术的两个主要发展方向是服务器虚拟化和桌面虚拟化,而桌面虚拟化是将整个IT带入云计算时代的关键,这意味这可以通过各种便携式设备访问云端的服务。
而这些服务必须具备统一的访问协议、API。
IaaS需要为上层服务、第三方开发者提供统一的访问协议。
n 与分布式计算的结合:
虚拟化技术是将计算能力进行“分”,使得每一个虚拟计算单元的能力小于支撑它的物理硬件。而目前稍微具备规模的应用其对计算能力的需求往往大于一个单独的物理硬件,这就需要分布式计算的支持,也就是“合”。“分”能带来很多好处,例如资源复用、方便的管理、HA等,但如果我们一味的只是“分”而不对“分”以后的资源有效的“合”,那么我们就只能满足小客户的应用,不能满足大客户的应用。
现阶段,分布式计算比较主流的就是Apache Hadoop,国内阿里巴巴正在做这方面的努力,我想我们的产品也应该关注这方面的趋势。
附录:
1、XenServer和VMware ESXi的一个对比
2、微软Hyper-V架构