Citrix XenServer和VMware vSphere是市场上两大领先的服务器虚拟化平台。本文对XenServer和vSphere进行了技术性和商用化分析比较,包括产品的安装和维护、对操作系统的支持、高可用性、灾难恢复能力以及选择虚拟化解决方案时需要注意的其它重要虚拟化功能。

 

概述
本文对市场领先的两大服务器虚拟化产品——Citrix® XenServer™和VMware® vSphere™进行了技术性和商用化分析比较。对这两大产品的比较表明,XenServer是除VMware vSphere外的另一种服务器虚拟化平台选择,其功能强大、丰富,具有卓越的开放性架构、性能、存储集成和总拥有成本。
● Citrix XenServer是基于开源Xen® hypervisor的免费虚拟化平台,该平台引进了多服务器管理控制台XenCenter™,具有关键的管理能力,包括多服务器管理、虚拟机(VM)模板、快照、共享存储支持、资源池和XenMotion™实时迁移。随着Citrix XenServer精华版™产品线的发布,思杰提供了更多先进的管理功能。Citrix XenServer精华版目前有两个版本可供选择:企业版和铂金版。
● VMware vSphere服务器虚拟化平台采用了VMware ESX™ hypervisor及其相关的管理工具。vSphere提供了三个版本:标准版、高级版和企业增强版。VMware还限时提供vSphere企业版。vSphere服务器的管理主要依靠VMware的多服务器管理控制台vCenter Server,但客户必须单独购买vCenter Server。
 

比较
系统架构
Citrix XenServer和VMware vSphere产品都采用的是裸机或Type 1 hypervisor技术,直接安装在物理服务器上,不需要主机操作系统(OS)。众所周知,与依赖主机操作系统的解决方案如VMware GSX Server®(GSX)和Microsoft Virtual Server相比,裸机虚拟化技术大幅改善了性能和可管理性。

 

VMware ESX是最早推出的虚拟化技术,其第一代架构出现的时间比虚拟化感知操作系统(包括大多数Linux®发行版和Windows Server® 2008)和处理器(如Intel® VT和AMD-V™)要早。ESX的虚拟化方式其实就是二进制转换:拦截操作系统处理器的每个请求,然后转换成虚拟化友好指令。例如,操作系统发往处理器的停止请求确保只暂停指定的虚拟机(VM),而不是整个系统的运行,以便为其它虚拟机释放资源。利用这种方式,ESX让客户机操作系统感觉是在物理硬件上运行。但由于必须在软件中多次执行此操作,因而极大地增加了ESX系统的复杂度。
由于ESX是与硬件进行互操作的第一层软件,因此,VMware投入了巨资来开发专用设备驱动,以支持商用服务器所使用的各种网络和存储硬件。每当市场推出新的硬件设备时,VMware必须重新编写VMware专用驱动以支持新设备。
XenServer架构与VMware完全不同,因为XenServer是利用虚拟化感知处理器和操作系统进行开发的。XenServer的核心是开源Xen hypervisor,目前,全球有近20种商用虚拟化产品以及全球最大的虚拟化部署环境Amazon™ Elastic Compute Cloud™都采用了Xen hypervisor。与VMware的二进制转换方式不同,XenServer采用了超虚拟化和硬件辅助虚拟化技术。XenServer是市场上第一个采用超虚拟化的解决方案,客户机操作系统清楚地了解他们是基于虚拟硬件运行的。操作系统与虚拟化平台的协作进一步简化了系统管理程序开发,同时改善了性能。Linux发行版是第一批采用Xen进行超虚拟化的操作系统。如今,XenServer为许多Linux发行版提供超虚拟化支持,包括Red Hat® Enterprise Linux®、Novell® SUSE、Debian®、Oracle® Enterprise Linux和CentOS。对于不能完全进行超虚拟化的客户机操作系统如Windows®,XenServer将采用硬件辅助虚拟化技术(如Intel VT和AMD-V处理器)来进行虚拟化。

 

 

虽然此前低估了超虚拟化的价值,但VMware已经意识到超虚拟化的作用,并将其融入了ESX,即VMI技术。VMI性能白皮书的发布进一步凸显了VMware对超虚拟化的重视,以及超虚拟化相对于二进制转换的优越性。但迄今为止,只有少数Linux操作系统(SUSE指定版本和社区支持的Fedora)支持vSphere的VMI。
XenServer的设备驱动方式也与VMware迥异。采用XenServer,所有虚拟机与硬件的互操作行为都通过Domain 0控制域进行管理,而Domain 0控制域本身就是基于hypervisor运行的、具有特定权限的虚拟机。上图左上角显示的就是XenServer Domain 0。Domain 0运行的是安全加固型和优化型Linux操作系统。我们必须认识到,对管理员来说,Domain 0是整个XenServer系统的一部分,不需要任何安装或管理。正因为如此,XenServer可采用任何标准的开源Linux设备驱动,从而实现对各种硬件的广泛支持。得益于这种创新的设计,XenServer甚至可在VMware专用驱动几乎无法运行的笔记本电脑或工作站系统上运行。
更有趣的是,Microsoft® Hyper-V™设计与XenServer出奇地相似。它们最主要的不同之处就是控制域所使用的操作系统。XenServer使用的是安全加固型和优化型Linux操作系统,而Hyper-V使用的是安全加固型和优化型Windows Server 2008版本。
 

安装、配置和管理
XenServer的安装过程简单、直接,10分钟即可完成XenServer部署。利用CD或网络驱动安装程序就可将XenServer直接安装在主机系统上。基于XenCenter GUI的管理控制台随后将安装在任何Windows PC或服务器上。系统配置信息将保存在XenServer控制域的内部数据存储中,然后复制到集中管理之下的所有服务器(这些服务器形成了一个资源池),以确保关键管理服务的高可用性。这种架构的好处就是无需为关键的管理功能单独配置数据库服务器。
与XenServer类似,VMware ESX系统管理程序安装在主服务器上。VMware采用了vCenter Server进行多服务器管理和配置。vCenter Server就像是独立的管理服务器上的Windows服务,需要部署第三方数据库才能对主机系统配置进行存储和管理。为了实现关键管理服务的冗余备份和可用性,VMware建议额外部署群集软件,如vCenter Server Heartbeat附加产品。
此外,许多x86服务器(包括HP和Dell公司的x86服务器)的固件也提供了对XenServer和VMware的支持,因此无需进行预安装。

客户机操作系统支持
VMware和XenServer均支持应用最广泛的Windows和Linux操作系统,包括Windows XP、Windows Vista®、Windows 2000 Server、Windows Server 2003、Windows Server 2008、Red Hat Linux、SUSE Linux和其它操作系统。此外,VMware ESX还支持BSD®、Sun™ Solaris™和Novell Netware®等操作系统。而且,VMware和XenServer均通过了微软服务器虚拟化验证程序(SVVP)认证。


存储集成
存储是部署服务器虚拟化环境必须考虑的重要因素之一。VMware vSphere和Citrix XenServer解决方案都支持本地磁盘虚拟机存储、iSCSI、基于光纤信道的存储区域网络(SAN)或网络附加存储(NAS)。只有使用每种平台的先进功能如实时迁移和高可用性时才有必要使用SAN或NAS。
尽管可使用原始磁盘,但VMware通常还是使用其专用的VMFS文件系统进行存储。VMFS是虚拟机文件的默认存储系统,具备本地和共享(SAN或NAS)存储能力。VMFS作为一个群集文件系统,提供了VMotion和Storage Vmotion等先进功能。与SAN配合使用时,VMFS让VMware可控制某些存储功能,包括供给和快照,不管使用的是哪种阵列。Storage Vmotion功能支持将虚拟机从一个阵列迁移到另一个阵列,而且不会导致虚拟机宕机。
XenServer采用的存储方式则完全不同。XenServer不会将自有的文件系统强加给存储系统,而是充分利用本地存储功能。例如,采用基于文件的共享存储系统如NFS,XenServer虚拟机将使用Microsoft VHD(虚拟硬盘)格式直接存储。采用基于块的存储如iSCSI或Fibre Channel SAN,XenServer将利用开放的LVM(逻辑磁盘卷管理器)标准扩展VHD,以进行磁盘卷管理。采用XenCenter Storage Repository创建向导(见下图),管理员可完全避开底层部署细节。

 

XenServer独特的存储集成功能源自StorageLink™技术。StorageLink让虚拟化管理员可直接利用业界领先的阵列,如HP、NetApp®、Dell EqualLogic和EMC®等阵列产品的领先功能。例如,XenCenter的虚拟机快照请求将通过带SAN供应商API的界面把此任务卸载到SAN。利用这种方式,StorageLink可优化性能,让虚拟化管理员充分使用阵列的先进功能,如快照、克隆和瘦供给。除供应商专用的API外,StorageLink还支持用于存储管理的ANSI标准以及SMI-S(主动存储管理规范),以轻松集成大量存储设备。


虚拟机备份和恢复
XenServer和VMware均支持虚拟机快照功能,以满足基本的备份和恢复需求。这两大产品还支持基于代理的传统备份解决方案,并且,思杰和VMware也与许多备份软件提供商建立了良好的生态系统合作伙伴关系。通过与XenServer专用卷映射拷贝服务(VSS)提供商的合作,XenServer扩展了针对Windows虚拟机的基于代理的备份方式。当备份代理(如Symantec™ Netbackup™)向Windows VSS提供商发出呼叫时,XenServer VSS提供商将拦截呼叫,并对其进行重定向以执行磁盘级快照。磁盘级快照是一种完全不同的拷贝方式(非完全拷贝),只需5秒就能完成。采用这种方式,可优化定期备份,从而实现性能提升,因为快照对XenServer主机产生的影响极其微小。
VMware vSphere提供了灾难恢复(DR)功能,以进行虚拟机备份。DR是vCenter Server的一个插件,可定期对虚拟机实施磁盘快照。一些客户将其视为基于代理的传统备份方案的替代产品;然而,DR不支持应用层感知,客户通常会以此为理由在工作负载如SQL Server、Oracle、Exchange和Active Directory中使用基于代理的备份解决方案。


灾难恢复
灾难恢复(DR)指的是主站点无法访问时,在远程办公室复制虚拟服务器基础架构和数据,以进行数据恢复。虚拟化技术通过多种方式简化了灾难恢复,因为作为虚拟机封装的服务器工作负载的传输以及在远程系统上重启都更加简单。
XenServer和VMware都支持多站点部署,主站点和DR站点都可使用虚拟机。在这两种情况下,虚拟化解决方案都采用了基于SAN的复制技术来保持虚拟机文件和配置数据在备份站点的更新状态。VMware提供了一项附加产品—站点恢复管理器(SRM),用于协调经由ESX虚拟化系统的DR工作流。与此类似,Citrix XenServer精华版的企业版引进了Workflow Studio™,实现了虚拟和物理服务器DR的自动化。

高可用性和容错机制
如果运行虚拟机的原始主机突然发生故障,高可用×××可支持在另一台物理主机上重启虚拟机,从而可大大降低工作负载的停机时间,并避免管理员的介入。VMware和XenServer都提供了高可用×××,可在主机出现故障后提供细粒度策略来管理指定虚拟机的行为。VMware还提供了容错功能,可保持不同主机上运行的虚拟机的镜像实例。主机发生故障时,镜像实例可确保工作负载的连续性。拥有1个vCPU的VMware虚拟机就可支持容错功能。
采用第三方产品,包括Marathon Technologies和Stratus提供的同类最佳产品,XenServer可极大地增强虚拟机容错功能。


虚拟机负载管理
虚拟机负载管理有两个方面值得注意。首先,可确保在最适合虚拟机工作负载的主机上启动虚拟机。其次,确保对主机服务器池运行的虚拟机位置的后续管理。
XenServer提供了工作负载均衡(WLB)功能,可捕获主机和虚拟机的CPU、内存、磁盘I/O和网络I/O等数据,来控制虚拟机的初始和后续托管位置。WLB有两种优化模式:性能优化和密度优化。性能优化确保满足最低的性能界值,密度优化则是最大程度地减少托管虚拟机的主机数量,从而降低能耗。
VMware则提供了DRS功能,可使用分布式资源调度程序(DRS)控制初始虚拟机放置以及半自动或全自动的虚拟机负载管理。DRS不能自定义负载管理算法,完全以CPU和内存利用率为准。


系统维护
XenServer和VMware都需要进行定期维护,以进行软件更新和修补。由于VMware和XenServer都具备实时迁移功能,无需中止虚拟机运行就可修补和更新hypervisor。VMware产品提供了自动修补hypervisor和客户机操作系统的功能。作为一种复杂的软件系统,VMware所需的修补和更新程序比其它软件系统如BIOS或设备驱动要多得多。自2007年12月发布VMware VI 3.5以来,VMware已通过更新站点为该版本发布了数百种补丁程序,同时,VMware还极力吹捧其用于管理更新程序的自动化更新进程。相比之下,自2007年8月发布XenServer 4.0以来,思杰只发布了5个热修复程序,包括在XenCenter中引进用于系统更新的自动化更新功能。XenServer不为客户机提供修补功能,而建议采用其他操作系统供应商(和生态系统合作伙伴)的产品,或XenServer的供给服务功能。

供给服务
XenServer针对虚拟机提供了独特的供给服务功能。利用此功能,用户可设置一个服务器工作负载(包括操作系统镜像、应用和配置)资料库,并采用流技术将其按需交付到数据中心的多个虚拟和物理服务器。供给服务让多个虚拟机可共享单一工作负载镜像,从而简化管理,大幅降低存储成本。供给服务尤为适合XenApp等服务器群、Web服务器和虚拟桌面。
采用动态的工作负载流功能,管理员可在每周、每月、每季度或每年的某个时间将服务器工作负载快速部署到最合适的服务器资源,包括物理和虚拟服务器。此功能尤为适合需要定期在测试和生产环境之间迁移的应用,或者商业周期中需要物理资源来处理用户行为高峰的系统。供给服务是一种非常独特的功能,很容易得到重视,目前市场上还没有出现任何类似功能。