详解Citrix思杰XenServer虚拟化

云计算 虚拟化
Xen管理程序(hypervisor)是一款出色的开源程序,由XenSource带头,与Xen社区协作开发,IBM是最活跃的贡献者。Citrix每年发布两个Xen版本,现在最新的版本是2009年6月发布的5.5,v6将在2009年11月发布。

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

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

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

#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具有下列新特性(希望所有新特性都能在下一个版本中见到):

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

RAS功能:CPU和内存脱机;

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

支持Hyper-V启发接口。

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

#p#

许可

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

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支持;

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

每NIC接口VLAN标记;

虚拟以太网交换机;

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

限制VM的I/O;

动态内存管理;

PCI CGA穿透;

完整的AMD IOMMU支持;

在线调整DomU磁盘的大小;

交叉编译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可以以图表格式显示性能信息,非常简单直观。

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维护人员可以在不中断用户访问虚拟机的情况下更新和管理服务器,也就没有所谓的计划内停机时间了,虚拟机存储在共享存储上,可以随时迁移,最令人羡慕的是这个功能是免费的。

【编辑推荐】

  1. Citrix虚拟化实战:Xenserver共享NFS
  2. XenServer初体验
  3. 如何在XenServer上创建虚拟桌面模板 
责任编辑:景琦 来源: 转载
相关推荐

2009-02-25 16:17:54

虚拟化思杰云计算

2009-03-25 19:26:05

2011-12-13 14:52:08

思杰

2011-10-20 16:05:23

思杰XenServer服务器

2009-08-27 11:07:50

2011-02-20 22:23:43

X86虚拟化XenServer

2011-12-12 19:44:03

Citrix

2010-12-03 10:17:53

XenDesktop

2010-05-17 09:44:53

思杰桌面虚拟化

2011-12-13 14:16:34

Citrix

2012-02-01 09:31:58

思杰XenApp 6.5虚拟化

2010-06-21 09:45:59

2009-03-03 20:44:06

桌面虚拟化Xendesktop虚拟化

2011-08-10 10:27:47

思杰XenServer 6

2012-10-24 11:07:28

2012-07-17 09:51:12

Citrix

2011-10-27 16:11:13

Citrix Syne云计算CloudPortal

2017-01-11 09:48:53

思杰

2010-11-18 19:57:45

2009-02-24 09:13:46

思杰XenEssentials
点赞
收藏

51CTO技术栈公众号