云计算与融合
近几年来,“云计算”与“融合”等概念炒得沸沸扬扬,其相关技术非常值得我们去进行关注。
就我的理解而言,数据中心要实现云计算,虚拟化无疑是一个重要的基础,但虚拟化本身并不是云计算,而只是走向云计算的途径之一;
至于“融合”,则主要是为了解决目前运营商和企业的IT基础设施无序化建设所提出的一种解决思路,虚拟化则是一个重要的手段,具体方法是将众多服务器硬件资源,通过虚拟化技术将它们形成一系列虚拟的“资源池”,再重新利用起来。
目前虚拟化软件有很多厂商都在做,成功商用的也有很多家,下面我就自己的一些了解,和周围一些前辈的经验分享,来简单的总结一下。
虚拟化技术
在x86服务器上的虚拟化技术上可分为:
硬件协助虚拟化与操作系统虚拟化,而操作系统虚拟化又可分为全虚拟化与半虚拟化。
硬件协助虚拟化(Hardware-Assisted-Virtualization)
两大CPU厂商的 Intel VT-x 与 AMD-V 技术。
应用:在BIOS设置中打开该功能选项,可以使Xen等半虚拟化软件支持全虚拟化。
全虚拟化(Full Virtualization)
中央处理器与其他的硬设备都虚拟化。
优点:操作系统只要有支持虚拟化系统提供的硬设备 ,就可以不修改操作系统而直接在虚拟机上安装该操作系统。
缺点:因为所有的硬设备都由虚拟产生,所以当虚拟机上的操作系统要读取某一个硬设备时,都需要通过虚拟化系统才能读取真实的硬设备,因而效能往往比较差。
代表:Vmware ESX Server
半虚拟化(Paravirtualization)
虚拟化系统仅提供中央处理器的虚拟化能力。
优点:硬件设备则与真实机器共享同一个硬件设备,因此使用硬件设备的效率较佳。
缺点:操作系统必须修改内核才能安装在半虚拟化系统中的虚拟机器中,这样就无法直接支持像Windows这样的非开放源代码操作系统。
代表:Citrix XenServer
商业虚拟化软件
VMware ESX Server
VMware的企业级应用软件,直接运行在服务器裸机上,是基于硬件之上的架构。用同一台服务器底层硬件,划分出若干虚机,集中管理,能够很方便的实现集群,负载均衡,热迁移等功能。通过 VMware vSphere 可集中管理多台VMware ESX Server主机。
通过我对四川省公司电信云计算平台相关技术负责人的调研了解,目前中国电信已经开始采用VMware的全套技术构建其云计算平台了,并且已经开始了广泛的试点应用,所有新上线的IT系统均需要审核并考虑部署到该平台当中,其中不包括 核心IT系统(如营帐、计费系统)以及配置与IO需求很高的系统。
Microsoft Hyper-V
微软Hyper-V虚拟化平台,以Xen的虚拟化技术为基础开发而成的,目前已整合到64位的Windows Server 2008。
Citrix XenServer
VMware的企业级应用软件,直接运行在服务器裸机上,是基于硬件之上的架构。以Xen的虚拟化技术为基础开发而成的,其白金版与企业版支持高可用性(High availability,HA)备援,以及Xen-Motion虚拟机在线转移等功能,精简版可以免费下载与使用,但对免费授权有所限制,需要每年申请license。Citrix XenCenter 可集中管理多台 Citrix XenServer。
Parallels Virtuozzo Containers
Parallels的企业级应用软件,声称其与VMware系列产品相比能够提供更高的性能。
IBM与HP基于自身硬件的虚拟化解决方案
开源及免费虚拟化软件
VMware Server
VMware的免费虚拟化软件,支持Windows与Linux平台,通过VMware Server Console工具可进行图形化管理。
Xen
Xen是开源虚拟化的一面旗帜。Xen是一专为x86服务器虚拟化准备的开源软件包,是由英国剑桥大学开发,运行在Linux上,支持Windows和Linux等操作系统的虚拟化。
它对商业虚拟化软件公司如微软、VMware等有重大的影响,迫使这些公司将一些工具开源,免费供用户使用。
Red Hat KVM
KVM:Kernel Virtual Module的简写,是从RHEL5.4开始推出的虚拟化技术,目前只支持在64位的RHEL5.4以及后续新版本的操作系统上运行。
VirtualBox
由Sun Microsystems公司出品的虚拟化软件,功能丰富易用,但在网络方面仍需改进。
OpenVZ
OpenVZ是开源虚拟化软件,使用Virutozzo软件的内核,Virutozzo是Parallels公司的企业级虚拟化软件。
经验分享
VMware是目前最领先的虚拟化厂商,其产品与技术也最受认可,在项目中如果需要考虑虚拟化的解决方案,选择VMware将是最容易被接受和认可的,因为目前像电信这样的运营商已经开始利用VMware的产品搭建其云计算平台了;
VMware的售价昂贵,目前官方报价是10万元每CPU;
VMware以外的其它虚拟化软件在严格意义上都不是全虚拟化;
半虚拟化的性能要优于全虚拟化;
部分半虚拟化软件经过改进之后,通过CPU的硬件协助虚拟化就可以支持全虚拟化了,例如在Xen上安装Windows;
如果需要考虑成本,同时兼顾系统的性能与稳定性,推荐在Linux上通过VMware Server 与 Xen来实现;
VMware Server 部署与实现要比Xen方便,但性能上Xen更好;
VMware Server 2.0 相比 1.0 而言,推荐使用更稳定和低资源耗用的1.0;
推荐购买采用Xen技术实现的VPS,而不是OpenVZ;
Xen推荐采用各Linux发行版的二进制版本,不推荐自己编译安装Xen;
……
更多经验分享还需要大家共同探讨。