详解Citrix思杰XenServer虚拟化

博主注:网上看到的一篇不错的博文。转载给大家。因文章写得早,其中一些技术已更新,目前XenServer最新版本是6.0。 所以我用红色做了标记。自己动手体验XenServer之后的感觉是VMware的虚拟化技术仍然领先,但差距也越来越少。不过XenServer性价比更高。XenServer价格由服务器数量定,没有处理器限制。在云计算大趋势下,多路多核的高密度服务器将成为主流,Citrix许可模式与云计算趋势更吻合。

另XenServer 6.0 最新功能列表见附件。

===================================================================

Xen管理程序(hypervisor)是一款出色的开源程序,由XenSource带头,与Xen社区协作开发,IBM是最活跃的贡献者。最初它是剑桥大学计算机实验室的一个x86虚拟化研究项目,但Xen很快就超出了研究范畴,并成立了一个独立的公司XenSource,由其进行协调开发,在创立了开源项目的同时还发布了Xen商业版本。

Citrix系统公司在2007年10月22日收购了XenSource,现在XenSource每年的收入超过了1千万美元,Xen的发展速度实在是太快了,Citrix每年发布两个新版本,现在最新的版本是XenServer 5.6。

网址:http://www.citrix.com/English/ps2/products/product.asp?contentID=683148

虽然Xen现在是属于XenSource的,由于它本身是开源软件,因此存在相当多的分支版本,有些是由其它厂商发布的,最常见的版本有:

1、Xen(由XenSource发布的开源版本)

2、由以下公司发布的商业版本:

Citrix系统公司发布的Citrix XenServer

Virtual Iron/Oracle发布的Oracle VM

Sun公司发布的Sun xVM

Xen强大的功能征服了许多Linux厂商,许多Linux发行版默认采用的hypervisor就是Xen,但有些厂商(最著名的就是Red Hat)最近转移到了KVM hypervisor,KVM也是一个非常优秀的开源hypervisor。

自从2006年XenSource与微软建立了密切关系后,它们联合推动虚拟化行业标准,本次合作扩大了微软和Xen客户机的互操作性。

在编写本文时,XenServer 5.5是使用得最多的版本,预计2010年将会发布V6。

技术特性

Xen是一个开源的裸机或本地hypervisor,由XenSource基于GPL2协议发布,在它的早期版本中,Xen hypervisor引入了半虚拟化的概念(针对x86平台),这个功能最初出现在上世纪70年代IBM的System/360-67上,半虚拟化需修改客户机操作系统,要让它知道hypervisor在它的底层。

自Xen Server 3.0发布后,硬件厂商开始在硬件级支持虚拟化,如英特尔的VTx和AMD的AMD-V,这些技术主要是集成到现代x86/x64处理器中了,但是在指令集方面有很大的差异,因此靠Xen实现了对硬件的抽象,这样就不用修改主机了,硬件虚拟化技术简化了宿主主机的部署,如果没有这种技术,要修改操作系统 (如Windows)内核支持半虚拟化可能是个大问题。

微软Hyper-V和Xen Server的架构设计非常类似,最大的不同是,在Xen中,Dom0(运行虚拟机监视器和管理I/O的特权域)是一个经过优化的Linux内核,而微软使用的是Windows Server 2008作为其父分区(Parent Partition)(与Xen中的Dom0类似),正是由于有这些相似点,Citrix Essentials包才可以在Hyper-V和Citrix Xen Server之间实现虚拟机迁移。

Citrix Xen Server 5.5

按照每年发布2次的节奏,Citrix在2009年6月发布了Xen Server v5.5,本次发布带来了大量的优化和改进,最值得注意的是管理和存储架构的更新,Citrix收购XenSource后,通过加快发布速度赢得了不少市场认可,同时Citrix也将来自开源社区的最新技术研究成果加入到上游Xen内核中(未来版本),这是一个快速占领市场的有效做法。

Citrix Xen Server提供了一个极具竞争力的虚拟化解决方案,Xen Server 5.5最显著的一个疏忽是过量分配内存资源的能力(XenServer 5.6开始已具备),内存过量分配(内存膨胀)可以使整合度更高,特别是虚拟桌面方面,如果没有过量分配内存资源的能力,Citrix XenServer就不能达到其它类似产品的整合率,如VMware的vSphere,Red Hat的KVM,Citrix将会在下一个版本中增加内存过量分配功能。并入到目前开源Xen hypervisor的Xen内核3.4具有下列新特性(希望所有新特性都能在下一个版本中见到):

设备穿透增强(目前passthrough HCL兼容列表越来越长,特别是新增multi-GPU passthrough,3D图形设计也可以在虚拟桌面内实现了),特别是对客户端设备的支持(更多支持包含在XCI项目中);

RAS功能:CPU和内存脱机;(想说CPU 和内存热添加?不过我只见过敢热插拔硬盘的。

电源管理:增强的频率/电力控制,支持深度睡眠,调度程序和计时器经过优化,峰值时消耗的电力更少; (已具备)

支持Hyper-V启发接口。

另外,VM故障容错功能允许在两台物理主机上运行一个虚拟机实例,其中一个处于隐藏状态,两者步调保持一致,如果主主机发生故障,辅助主机上的虚拟机实例就开始接管,虚拟机完全不用停机,因此对最终用户是没有任何影响的,这个技术首先是在VMware的vSphere中引入的。(还没有,不过目前VMware也仅在一个vCPU的情况下,能稳定使用Fault Tolerence功能)

许可

Citrix XenServer许可计划简单有吸引力,核心hypervisor和管理控制台都是免费的,可以从Citrix网站下载,如果需要更高级的功能,可以购买一两个“Essentials”包,这些扩展包大大增强了XenServer的功能。

“Essentials”包是按每服务器进行授权的,而不是按处理器或处理器核心,因此在向上扩展方面有很大的吸引力,如IBM的eX4和即将发布的eX5系统。

Citrix XenServer版本

Citrix已经发布了三个不同版本的XenServer,核心组件都是免费的,附加功能包括两个Essentials包,组织可以调整它们的许可,随时增加想要的包。

Citrix Xen产品堆栈

Xen hypervisor

Xen hypervisor是XenServer的核心,它运行在最低特权层,它位于操作系统下方,直接与硬件打交道,因此算是硬件抽象层,它负责为运行在物理主机上的各个虚拟机调度CPU和内存分区,hypervisor不仅抽象了虚拟机硬件,还控制着虚拟机的执行,因为虚拟机之间要共享相同的处理环境。

在hypervisor上面运行一个或多个客户机操作系统,在安装时就创建了第一个客户机VM,也就是著名的Dom0,这个VM有特权管理访问hypervisor,并且可以直接访问物理硬件,它的主要作用是保护hypervisor的管理接口。

最近的变化大大地改进了Xen hypervisor,包括本地运行半虚拟化Windows Server 2008作为一个XenServer客户机的能力,正如本章前面所提到的,Hyper-V和XenServer的架构类似,微软和Citrix之间的合作让一个开启Xen的Linux客户机运行在Hyper-V上成为可能,需要用到本地Xen hypercall访问虚拟功能,微软提供的软件组件调用hypercall适配器将XenServer hypercall转换成Hyper-V hypercall,因此Linux客户机可以运行在全内核半虚拟化支持下,在Citrix Essentials的Hyper-V版本中支持XenMotion,可以在XenServer和Hyper-V之间实现实时迁移。

Citrix XenServer v5.5使用的是Xen 3.3内核,它为Xen Hypervisor带来了许多增强:

Hypervisor中的电源管理(P&C状态);

硬件辅助分页增强:2MB页面支持,具有更好的TLB局域性;

CPUID功能级:允许跨不同CPU类型的系统安全域迁移;

PVSCSI驱动,直接访问半虚拟化客户机;

完整的x86实址方式仿真英特尔VT上的HVM客户机:支持更多的传统客户机操作系统。

当Citrix发布下一个XenServer版本时,希望采用新的3.4版Xen内核。

正如前面提到的,更多增强已经在Xen内核的未来版本中存在的。

在计划的Xen 4.0内核中包括以下特性:

RDMA实时迁移支持;

Linux 2.6.30或更高版本的Dom0内核;

Marvell 6480硬盘Dom0支持;

为PV客户机穿透USB控制器/设备;

故障容错 – Remus和Kemari项目;

DomUs级的监控,限制和网络通信控制;

国际化/Unicode支持;

(XenServer 现已自带Open vSwitch, 支持ACL,提供简易防火墙机制)

象真实交换机那样配置虚拟桥(如控制VLAN,端口状态); 每NIC接口VLAN标记;

虚拟以太网交换机;

通过UEFI(pUEFI)和虚拟UEFI支持物理Xen启动/安装;

限制VM的I/O;

动态内存管理; (已具备)

PCI CGA穿透;

完整的AMD IOMMU支持;

在线调整DomU磁盘的大小;

交叉编译Xen和模块化构建。

Citrix XenServer 5.5需求

Citrix XenServer 5.5对宿主主机要求最低1.5GHZ的64位x86 CPU,最低1GB内存,最低16GB磁盘空间,但对于开源版本,超出这些限制的配置可能也是可以支持的。

Citrix XenServer 5.5支持当前核心x86操作系统,但它绝大部分是Windows市场,如果需要支持半虚拟化Linux客户机操作系统,必须安装Linux支持包,它支持Linux运行在dom0,如果不安装这个包,所有操作系统都必须运行在硬件辅助模式下,在安装时,安装程序会提示你是否要安装可选的Linux包。

如果在这一步你选择不安装Linux包,也可以在以后需要时安装,只需要运行Linux Pack安装CD中的install.sh即可。

Citrix XenServer支持大部分的Linux操作系统和几乎所有的Windows系统,其实很多未列出的操作系统也可以作为客户机运行。

XenCenter

XenCenter是为Citrix XenServer设计的多服务器管理控制台,它可以管理所有XenServer资源池、宿主主机和虚拟机,并集成了存储管理功能,与其它虚拟管理服务器不一样,XenCenter是一个轻量级的Windows应用程序,它可以运行在任何桌面,所有被管理服务器的配置和性能数据被复制到一个资源池中,消除了潜在的单点故障,如果管理资源池的服务器出了故障,其它服务器可以立即接管,免费版本的XenServer需要手工操作,而购买了Essentials 包的XenServer则是自动的,XenCenter可以以图表格式显示性能信息,非常简单直观。

Citrix XenServer的最低系统要求如下:

基于x86的系统;

Windows 2000,Windows XP,Windows Server 2003,Windows Server 2008或Windows Vista;

.Net Framework 2.0或更高版本;

CPU速度:最低750MHz,推荐1GHz或更快的处理器;

内存:最低512MB;

磁盘空间:最低100MB;

网卡。

使用XenMotion可以在资源池成员之间实时在线迁移虚拟机,因此IT维护人员可以在不中断用户访问虚拟机的情况下更新和管理服务器,也就没有所谓的计划内停机时间了,虚拟机存储在共享存储上,可以随时迁移,最令人羡慕的是这个功能是免费的。

你可能感兴趣的:(详解Citrix思杰XenServer虚拟化)