热点推荐
ZOL首页 > 服务器 > 知识学堂 > 信息化专家解读开源Xen 虚拟服务器

信息化专家解读开源Xen 虚拟服务器


计世网 责任编辑:王刚 【转载】 2007年12月22日 06:00 评论

一、Xen 起源

    Xen VMM(virtual machine monitor)是由剑桥大学计算机实验室开发的一个Open Source 项目,目前稳定版本为Xen 
3.0,主要目的是为了建立更多的虚拟机器。XenSource 的创始人Ian Pratt表示,Xen 在2002年前诞生于英国的剑桥大学,这家新创公司有意把Xen虚拟功能变成标准的计算机功能。「我们第一部是在Linux系统上普及化。」他说。 Xen 这类能将一台计算机划分为多个不同分割区的方法依赖一种被称为虚拟化(virtualization)的概念,它们使软件能够仿真真实的硬件来作执行。在VMware中,这一基础被称作是虚拟机器(virtual machine)。 VMware和Xen 之间的差异点在于:前者完全仿真计算机,因此理论上操作系统可不需更动就直接在虚拟机器上执行;Xen 则使用了被称为「paravirtualization」的技术,Pratt表示,它的效能更快,但需要对操作系统进行适当的修改。不过较高阶的软件并不需经过修正,VMware 和Xen 之间的差异点在于:VMware 完全仿真计算机,因此理论上操作系统可不需更动就直接在虚拟机器上执行;Xen 则使用了被称为「Paravirtualizatio」的技术,它的效能更快。

    2005年12月Xen开发组发布了Xen 3.0,这是第一款支持芯片辅助技术的免费hypervisor软件。有了VT-x或AMD-V的硬件支持,Xen 3.0能支持任何没修改过的操作系统。XEN 3.0 所采用的虚拟技术为半虚拟化(Paravirtualization),与VMware所采用的完全虚拟化的差异,在于对底层硬件的控制效率接近实机操作,包括中断控制(IRQ)等,以及等同于实体处理器的运作效能,但也因此对硬件的支持度并不高。由于半虚拟化(Paravirtualization)技术需要对操作系统进行适当的修改,所以目前Xen 只能够在一些Linux-based 的系统上运作,也陆续受到一些信息大厂的支持,Xen 并不是第一个提出半虚拟化的软件,但执行Xen 时,消秏系统资源非常少,大约占3%,所以Xen 可算是技术上的突破。半虚拟化必须修改系统的内核,不过如果处理器能支持虚拟化,所就内核就无需异动了,例如Intel 的VT 和AMD 的Pacifica 处理器都将包括这种支持。AMD 的CPU 只有Opteron 支持AMD-V 技术,而INTEL则有Intel Core 2 Duo 及Xeon 系列才支持VT 技术。

二、Xen支持的操作系统

    主机操作系统即(Host Operating System) 在物理计算机(宿主机)上运行的操作系统,在它之上运行虚拟机软件。客户操作系统 (Guest Operating System) 运行在虚拟机中的操作系统。注意,在此它不等于桌面操作系统(Desktop Operating System)和客户端操作系统(Client Operating System),因为虚拟机中的客户操作系统可以是服务器操作系统。表1是 Xen 3.0支持的主机操作系统和客户操作系统。

表1 Xen 3.0支持的主机操作系统和客户操作系统


操作系统名称

Runs as Dom0 (主机操作系统)

Runs as DomU(客户操作系统)

Linux 2.6

可以

可以

NetBSD 3.1

不可以

可以

NetBSD 4.0_BETA2 and -CURRENT

可以

可以

Solaris 10

未知

可以


  Xen Enterprise 3.2明显扩大了支持范围,新增了对Windows 2000的支持。另外,可以使用对称多处理(Symmetric Multiprocessing ,SMP)技术支持Windows Server 2003和Windows XP操作系统,使得Exchange和SQL Server可以运行地更好。客户操作的支持还增加了Red Hat的企业版Linux服务器RHEL 5和Novell的SUSE Linux企业服务器10 SP1。另外Linux的两个最成功的商业版,红帽企业版Linux 5.0和Novell的Suse Linux 10.0企业服务器版都集成了Xen。

三、Xen的原理和体系结构

    虚拟化CPU对guest OS(客户操作系统)提出了几个要求。因为hypervisor插在操作系统的下层违背了惯常的关于操作系统在整个系统中特权最高的假设。为了保护hypervisor不会受到操作系统不正确行为的影响(即domain不受另一个domain的影响),guest OS就必须被改造为能够运行在较低的特权级上。很多处理器体系结构只是提供了两个特权级。在这些情况下,guest OS和应用程序共享较低的特权级。同时,guest OS运行在单独的地址空间中以保护自己不会受到应用程序执行的影响。guest OS通过hypervisor设定虚拟的特权级和改变当前的地址空间来间接地和应用之间进行控制传递。另外,如果处理器的TLB支持地址空间标记,那么也就可以避免TLB刷新带来的高昂代价。在x86架构上有效地实现特权级的虚拟化是可能的,因为x86架构在硬件上支持四个不同的特权级。x86架构的特权级往往用圈(ring)来表示,从ring 0(最高特权)到ring 3(最低特权)。操作系统的代码运行在ring 0这个特权级上,因为再没有其它的ring能够执行那些特权指令。ring 3通常用于执行应用代码。就我们所知,自OS/2起到现在的各个知名的x86 架构上的操作系统都还没有利用ring 1和ring 2这两个特权级的。那么,任何遵循这个通常的安排的操作系统就都可以移植到Xen上来。这个移植过程只需要做一些改动使操作系统改为运行在ring 1特权级上。这就防止了guest OS会直接执行特权指令,也保证了操作系统与运行在ring 3上的应用程序之间相隔离的安全性。图1是Xen 和Ring 关系图。图2 是Xen的体系结构。

信息化专家解读开源Xen 虚拟服务器

图1是Xen 和Ring 关系图

信息化专家解读开源Xen 虚拟服务器

图2 Xen的体系结构

    在完全虚拟化环境下需要仿真现有的硬件设备,而Xen不同于此。Xen给出了一套清楚、简单的设备抽象。这就使得我们能够设计一个接口以有效地满足我们对保护性和隔离性的需求。为了做到这一点,I/O和各个domain之间的数据传递都是要经过Xen的,可以使用的方法有共享内存,异步缓冲区描述符环等。这些方法能够在Xen有效地执行确认检查的同时,为在系统中的竖直方向上传递缓冲区信息提供了一个高性能的通信机制。图3是Xen的网络接口结构。图4 是逻辑网络接口连接dom1和dom0示意图。

信息化专家解读开源Xen 虚拟服务器

图3 Xen的网络接口结构

    讲到Xen,不能不提Xensource公司,它由原Xen项目组主要成员创立,坐落在美国硅谷的Palo Alto市。Xensource是一个典型的将学校研究成果转化为生产力的创业型企业。2006年11月,XenSource对外发布了他的第一个正式产品XenEnterprise。XenEnterprise基于Xen 3.0.3。在此之前,Red Hat在他的Fedora Core 4.0和Fedora Core 5.0中已经集成了Xen,Novell在SUSE Linux 10.1和SLES 10中也已经集成了Xen。同时Redhat他的企业版Linux中即RHEL5.0中也集成Xen。

信息化专家解读开源Xen 虚拟服务器

图4 逻辑网络接口连接dom1和dom0示意图

表-2是xen家族产品参数

性能参数

XenEnterprise XenServer

Multi-OS

 

Windows XenExpress

Virtualization

Virtualization On-Ramp to Xen

物理内存

无限制

 

8GB 最大

 

4GB最大

 

物理CPU

最大32

 

最大2

 

最大2

 

共享存储

ISCSISAN

不支持

不支持

Windows 客户机类型

 

Windows Server 2003 Windows Server 2003 R2Windows XP SP2

Windows 2000 SP4

 

Windows Server 2003 Windows Server 2003 R2Windows XP SP2

Windows 2000 SP4

 

Windows Server 2003 Windows Server 2003 R2Windows XP SP2

Windows 2000 SP4

 

Linux 客户机类型

 

RHEL 3.6–5.0 RHEL 3.6–5.0

SLES 9.2–10.1 SLES 9.2–10.1

Debian Sarge Debian Sarge

其它标准虚HVM

不支持

RHEL 3.6–5.0

SLES 9.2–10.1 SLES 9.2–10.1

Debian Sarge Debian Sarge

其它标准虚HVM

动态移植

支持

不支持

不支持

Qos支持

支持

不支持

不支持

用户定位

OEM用户

Windows IT Pro

 

IT研究人员

Vlan支持

支持

不支持

不支持

64-bit 客户机支持

 

不支持

不支持

不支持

管理特性

一个管理终端可以多个Xen host

一个管理终端可以多个Xen host

一个管理终端可以一个Xen host

费用

每客户端需 \$1,000 USD

 

每客户端需 \$1,00 USD

免费

    另外全球应用程序供应基础架构领导厂商 Citrix Systems完成收购企业级虚拟化基础架构解决方案领导商 XenSource 。透过这项合并, Citrix 成为业界最完整的虚拟化技术供应商,提供业界唯一完整涵盖应用系统、服务器及桌面虚拟化技术的端对端应用供应 基础架构。根据 Citrix 预估,该市场在未来四年将成长至近 50 亿美元的规模。随着 XenSource 的加入, Citrix 推出 Citrix XenServer 及 Citrix XenDesktop 两款全新的虚拟化解决方案,分别专攻服务器及桌面虚拟化市场,也配合 Citrix 原有的应用系统虚拟化产品,打造出业界最完整的端对端虚拟化产品。

  总结:Xen的超虚拟化(paravirtualization)是另外一种流行的虚拟化技术,它与完全虚拟化有一些类似。这种方法使用了一个 hypervisor 来实现对底层硬件的共享访问,还将与虚拟化有关的代码集成到了操作系统本身中。这种方法不再需要重新编译或捕获特权指令,因为操作系统本身在虚拟化进程中会相互紧密协作。通常通过虚拟化(Virtualization)将同一硬件上的应用程序和系统彼此隔离开来。从硬件模拟到完全硬件虚拟化,Linux 支持很多种不同形式的虚拟化。在不断增加的虚拟化技术列表中,Xen 是近来最引人注目的技术之一,它由剑桥大学开发。Xen 值得您关注,因为它具有空前的性能与安全性。

表-3是 xen和Linux 操作系统下其它虚拟技术的对比:

虚拟机名称

开发厂商及其简介

虚拟类型

 执行效率

处理器体系

GuestOS是否可以跨平台

许可证类型

Xen

Virtual Iron

http://www.xensource.com/

超虚拟化

非常高

i686, x86-64, IA64, PPC

可以

GPL

OpenVZ

Swsoft

http://www.openvz.org/ ,一个操作系统级虚拟化解决方案,可以支持检查点和动态迁移。

操作系统级虚拟化

i686, x86-64, IA64, PPC, SPARC

GPL

Vmware

 

Vmware

http://www.vmware.com/ VMware 是一个流行的完全虚拟化的商业解决方案,它可以对未经修改的操作系统进行虚拟化。

完全虚拟化

中等

i686, x86-64

 

可以

私有

QEMU

QEMU

http://www.qemu.com/ QEMU PC 仿真器,它们允许诸如 Windows Linux 之类的操作系统在 Linux 操作系统的用户空间中运行。

仿真

i686, x86-64, IA64, PPC

可以

LGPL/GPL

KVM

http://kvm.sourceforge.net/

第一个集成到主流 Linux 内核中的虚拟化技术。通过一个可加载的内核模块,运行于可虚拟化的硬件上的 Linux 内核可以充当 hypervisor 并可支持未经修改的 Linux Windows 客户操作系统。

完全虚拟化

中等

i686, x86-64

可以

GPL

z/VM

IBM

http://www.vm.ibm.com/ z/VM System z 上的操作系统 hypervisor。其核心是 Control ProgramCP),它为客户操作系统,包括 Linux

完全虚拟化

非常高

s390

 

私有

 
 

给文章打分 5分为满分(共0人参与) 查看排行>>
频道热词:LED照明  工作站  云计算  
视觉焦点
服务器知识学堂热点
排行 文章标题
TOP10周热门服务器排行榜
  • 热门
  • 新品
  • 系列
查看完整榜单>>