CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

服务器

解读开源Xen虚拟服务器

作者: 曹江华,  出处:计世网, 责任编辑: 袁绍龙, 
2007-12-10 15:47
  Xen VMM(virtual machine monitor)是由剑桥大学计算机实验室开发的一个Open Source 项目,目前稳定版本为Xen3.0,主要目的是为了建立更多的虚拟机器……

  一、Xen 起源

  Xen VMM(virtual machine monitor)是由剑桥大学计算机实验室开发的一个Open Source 项目,目前稳定版本为Xen3.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支持的主机操作系统和客户操作系统

  Xen

  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的体系结构。

  

  图1是Xen 和Ring 关系图

共3页。 1 2 3 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

输入E-mail订阅《服务器》电邮
    
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i