X86虚拟化之Citrix XenServer

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

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

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

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

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

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

3、Citrix系统公司发布的Citrix XenServer

4、Virtual Iron/Oracle发布的Oracle VM

5、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之间实现虚拟机迁移。
 

#p#

Citrix Xen Server 5.5

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

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

1、设备穿透增强,特别是对客户端设备的支持(更多支持包含在XCI项目中);

2、RAS功能:CPU和内存脱机;

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

4、支持Hyper-V启发接口。

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

许可

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

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

 

*以上价格来自Citrix/VMware网站2009年7月23日的报价,以美元作为单元。

#p#

Citrix XenServer版本

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

 

#p#

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带来了许多增强:

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

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

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

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

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

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

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

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

1、RDMA实时迁移支持;

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

3、Marvell 6480硬盘Dom0支持;

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

5、故障容错 – Remus和Kemari项目;

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

7、国际化/Unicode支持;

8、象真实交换机那样配置虚拟桥(如控制VLAN,端口状态);

9、每NIC接口VLAN标记;

10、虚拟以太网交换机;

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

12、限制VM的I/O;

13、动态内存管理;

14、PCI CGA穿透;

15、完整的AMD IOMMU支持;

16、在线调整DomU磁盘的大小;

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

#p#

Citrix XenServer 5.5需求

Citrix XenServer 5.5对宿主主机有以下要求,但对于开源版本,超出这些限制的配置可能也是可以支持的。

 

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

图 1 安装Linux Pack的确认界面

 

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

下表列出了Citrix XenServer支持的操作系统清单,其实很多未列出的操作系统也可以作为客户机运行。

支持的客户机操作系统

 

#p#

XenCenter

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

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

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

1、基于x86的系统;

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

3、.Net Framework 2.0或更高版本;

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

5、内存:最低512MB;

6、磁盘空间:最低100MB;

7、网卡。

图 2 XenCenter主界面

 

 

 

 

 

 

责任编辑:王勇 来源: it168
相关推荐

2010-03-20 11:03:13

VMControl虚拟化管理

2010-05-14 14:47:46

x86虚拟机

2009-08-27 11:07:50

2010-03-18 16:15:17

Citrix思杰Xen

2012-01-04 09:59:50

2011-07-08 10:17:09

VMwareX86

2012-07-03 10:16:52

VMwarex86服务器虚拟化

2013-01-31 10:04:20

x86服务器虚拟化

2009-07-03 14:10:47

刀片服务器IBM虚拟化

2014-07-18 10:14:13

VMware服务器虚拟化

2013-08-22 10:13:47

x86服务器虚拟化

2011-02-20 11:21:26

2010-12-17 10:29:27

虚拟化数据中心惠普

2011-04-11 09:36:40

2009-09-16 11:06:00

虚拟化高性能x86服务器

2011-12-01 11:09:48

AMDx86服务器英特尔

2009-10-14 10:56:00

主流x86虚拟机技术

2018-12-11 10:22:55

虚拟化服务器系统

2013-12-16 10:58:40

2011-05-24 09:56:50

点赞
收藏

51CTO技术栈公众号