centos linux google php 程序员 微软 apache nginx linux命令 mysql Python 开源 java Firefox HTML5 shell Ubuntu Windows wordpress Android

Xen虚拟化简介及工作原理

XEN 简介

XEN 是一个基于X86架构、发展最快、性能最稳定、占用资源最少的开源虚拟化技术。Xen可以在一套物理硬件上安全的执行多个虚拟机,与 Linux 是一个完美的开源组合,Novell SUSE Linux Enterprise Server 最先采用了XEN虚拟技术。它特别适用于服务器应用整合,可有效节省运营成本,提高设备利用率,最大化利用数据中心的IT基础架构。

XEN 是英国剑桥大学计算机实验室开发的一个虚拟化开源项目,XEN 可以在一套物理硬件上安全的执行多个虚拟机,它和操作平台结合的极为密切,占用的资源最少。目前稳定版本为XEN3.0。支持万贯虚拟化和超虚拟化。以高性能、占用资源少著称,赢得了IBM、AMD、HP、Red Hat和Novell等众多世界级软硬件厂商的高度认可和大力支持,已被国内外众多企事业用户用来搭建高性能的虚拟化平台。

XEN与SUSE LINUX

Novell是第一个采用XEN开源虚拟化技术的厂家,比其他Linux厂商要早。最先把Xen虚拟化技术集成在Novell Suse Linux平台上,XEN为广大用户提供了目前Linux 上最佳的免费虚拟化解决方案,现已被大量应用于数据中心服务器应用整合等领域。

VMware与XEN比较

XEN和VMware是目前市场上主流的两大虚拟化产品。现将两者进行比较说明如下表:

序号 虚拟化产品 详 细 说 明
1 VMware 建立在直接执行(直接在硬件上上运行用户级的虚拟机编码)和二进制译码(对特权级别编码进行动态编译)的基础上的。把一个完整的X86平台导出到虚拟机上,使大多数能在X86上执行的OS都能在虚拟机上运行,而不需要进行任何修改。
2 XEN Xen的架构中使用了Para虚拟化技术。对虚拟出来的客户操作系统进行修改,使它明白它是在虚拟环境下运行。不过现在Intel和AMD已有支持超虚拟化技术的CPU,不需再做修改。Xen提供了API(Application Programming Interface),这样VMM就不需要进行指令翻译工作。运行Xen的系统开销确实非常小,大约占3%。系统性能可以接近在裸机上的性能,比Vmware快很多。

XEN 虚拟化技术特性

Xen 是目前业界性能最高的超级管理 程序,其开销比同类专有产品低十倍。 Xen 独特的性能价值来自超虚拟化的使 用。超虚拟化使托管虚拟服务器可以与 超级管理程序共同协作,使企业应用程 序达到最佳的性能。其他供应商 (例如 Microsoft) 正争先恐后地实施自己的超 级管理程序,但至少已落后 Xen 项目 3 年。另外,Xen 还利用了 Intel VT 和 AMD 虚拟化处理器的硬件虚拟化能力。

XEN 虚拟化技术的主要特性如下所示:

  • 虚拟机的性能更接近真实的硬件平台;
  • 可实现物理平台和虚拟平台间的自由切换;
  • 在每个客户虚拟机支持到 32个虚拟CPU,通过VCPU热插拔;
  • 支持PAE指令集的x86/32, x86/64平台;
  • 能通过硬件辅助虚拟技术进行虚拟原始操作系统,可支持Microsoft Windows虚拟;
  • 得到广泛的硬件厂家的大力支持,支持几乎所有的Linux设备驱动。

XEN 虚拟化应用领域

Xen凭着独特的虚拟化性能优势赢得了越来越的广泛应用。目前被用户充分应用在以下领域:

  • 服务器应用整合:在一台物理主机上虚拟出多台服务器, 以安装多个不同的应用,充分利用服务器的物理性能,灵活进行服务器的应用迁移。
  • 软件开发测试:用户可利用Linux的低成本优势非常灵活地搭建多个应用系统开发平台,由此节省了大量的开发成本,加快了开发进程。
  • 集群运算:和单独的管理每个物理主机相比较,虚拟机管理更加灵活,同时在负载均衡方面,更易于控制和隔离。

XEN 典型应用案例

腾讯公司---中国最大的Web服务公司

腾讯公司经过多方测试比较后,最终选择了Novell SUSE Linux Enterprise Server中的Xen超虚拟化技术。该技术帮助腾讯改善了硬件利用率以及提高系统负载变化时的灵活性。客户说:“在引入Xen超虚拟化技术后,我们可以在每台物理机器上运行多个虚拟服务器,这意味着我们可以潜在的显著扩大用户群,而不用相应地增加硬件成本。”

宝马集团----驰名世界的高档汽车生产企业

宝马集团(BMW Group)利用Novell带有集成Xen虚拟化软件的SUSE Linux Enterprise Server来执行其数据中心的虚拟化工作量,从而降低硬件成本、简化部署流程。采用虚拟化技术使该公司节省了高达70%的硬件成本,同时也节省了大量的电力成本。

XEN 软件许可

XEN 的许可方式是通用公共许可证 (GPL)。用户可 以通过订阅 SUSE Linux Enterprise 10 等企业版 Linux 发行版本来获得 Xen 代 码。SUSE Linux Enterprise 10 包括 Xen 代码和集成的管理工具。

XEN 虚拟化小结

Xen超虚拟化是目前非常流行、最引人注目的虚拟化技术之一,它使用了一个 hypervisor来实现对底层硬件的共享访问,还将与虚拟化有关的代码集成到了操作系统本身中。这种方法不再需要重新编译或捕获特权指令,因为操作系统本身在虚拟化进程中会相互紧密协作。通常通过虚拟化(Virtualization)将同一硬件上的应用程序和系统彼此隔离开来。

虚拟化简述

通俗说来,虚拟化就是把物理资源转变为逻辑上可以管理的资源,以打破物理结构间的壁垒。虚拟化技术就其本质而言属于一种资源管理技术,它将硬件、软件、网络、存储等硬件设备隔离开来,使用户能更合理更充分的控制与管理各种资源。虚拟化技术本身有很多的方向,网络级(VLan)、芯片级(Intel VT/AMD-V)、硬件级(存储设备/服务器)、操作系统级等。虚拟化的主要目的是简化IT基础设施的控制管理。

虚拟化技术由来已久,从60年代Unix诞生起,虚拟化技术就出现了,经历了从硬件分区、虚拟机、准虚拟机、虚拟操作系统的发展历程。虚拟化技术的最初应用于大型主机,通过将一台大型服务器分割成若干分区,同时运行多个彼此独立的操作系统实例,以提高硬件利用率。目前虚拟化主要应用在服务器器虚拟方面。

虚拟化发展阶段

  • 虚拟化初级阶段:在虚拟化早期,人们采用模拟软件技术模拟出计算机硬件和软件。模拟层与操作系统对话,而操作系统与计算机硬件对话。在模拟层中安装的操作系统并不知道自己是被安装在模拟环境下的,你可以按照常规的方法安装操作系统。这种虚拟化需要付出很大的性能代价。
  • 虚拟化高级阶段:随着虚拟技术发展的不断深化,虚拟化被带到了一个更高的级别。在模拟层(负责被虚拟机器的指令翻译)和硬件之间,不需要任何主机操作系统运行硬件上的虚拟机。虚拟机监控器直接运行在硬件上。由此虚拟化变得更加高效。

虚拟化技术主要类型

实现虚拟化的方法有多种,可以通过不同层次的抽象来实现相同的结果。

序号 虚拟化技术类型 具 体 描 述
1 硬件仿真 Hardware Emulation 在宿主系统上创建一个硬件 VM 来仿真出一套硬件。速度比较慢,不需要作任何修改。可以运行多个虚拟机,每个虚拟器仿真一个不同的处理器。
2 完全虚拟化 Full virtualization 完全虚拟化是将应用程序完全跟硬件抽象出来。虚拟机与虚拟机监控器(VMM)进行通信,而VMM则与硬件平台进行通信。其主要优势在于,它安装了一个未修改的操作系统,以VMware的ESX Server为代表。
1 超虚拟化 Para-virtualization 在宿主系统上创建一个硬件 VM 来仿真出一套硬件。速度比较慢,不需要作任何修改。可以运行多个虚拟机,每个虚拟器仿真一个不同的处理器。

完全虚拟化与超虚拟化架构图

完全虚拟化与超虚拟化两者都有一个叫做虚拟机监控器 (VMM) 的软件层,它包含一个 虚拟机调度程序,能够提供粗粒度的内存管理和 I/O 虚拟化。超虚拟化模式包含 API,用于在某些 实例中协助虚拟机。

完全虚拟化与超虚拟化比较

基于完全虚拟化的虚拟机采用了一个虚拟层,它能协调对硬件资源的访问,并允许多个操作系统实例(甚至是互不兼容的操作系统)同时在一个服务器上和谐共存。无需修改客户操作系统。然而,这一中介层要求虚拟机捕获并模拟所有特权指令,导致性能可能降低 50%。另外,当在同一台机器中同时运行两个虚拟机时,完全虚拟化不支持资源的和谐共享。例如,运行在同一个服务器硬件上的两个 Web 服务器虚拟机不能共享他们当前未使用的网页。因此,他们之间的分区仍是粗粒度的。另外,在完全虚拟化中,运行虚拟机的主机操作系统可能产生单点故障。许可复杂性及扩展性的限制也是无法消除的顾虑。VMware*(Novell 合作伙伴)服务器是最常用的基于完全虚拟化的虚拟机。

基于超虚拟化的虚拟机与完全虚拟化不同之处在于,超虚拟或部分虚拟的操作系统实例将被修改,从而使他们能够识别虚拟化层。因此,超级管理程序可以避免难以虚拟化的处理器指令,方法是使用具备此功能的程序调用来替换这些指令。结果,性能优于完全虚拟化的虚拟机。采用超虚拟化模式的虚拟化可以在现有的芯片上获得更好的性能,而且能在下一代启用了虚拟化的 x86 芯片上提供有力的优势,因此成为了一个新趋势。同时,它还可以在不修改主机操作系统的情况下实现机器间的和谐内存共享。另外,它保留了虚拟机的优点,能与 Linux 主机操作系统完美配合。

数据中心虚拟化技术介绍

目前数据中心有三种发展最快的虚拟化技术。如下所示:

序号 虚拟化技术 虚拟化技术简要说明
1 超级管理程序虚拟机 该技术使多个操作系统实例能够同时部署并运行在单个物理服务器上,不需要使用通用主机操作系统作为访问硬件的主要方法。然而,该技术不支持硬件资源进行分散式分配。到 2008 年,超级管理程序技术将有可能占 Linux 上的虚拟机部署的 90%。
2 聚合虚拟化 该技术能够聚合分散的计算资源(服务器 / 处理器、内存、输入 / 输出处理器),以供一个操作系统的单个实例使用。
3 共享操作系统虚拟化 该技术支持多个应用程序使用单个操作系统实例,并能够向各应用程序动态分配合适的资源,而不会对这些应用程序的操作产生影响。

XEN工作原理

Xen通过hypervisor软件层来访问物理硬件,实现在一台单独的计算机上运行多个各自独立彼此隔离的子操作系统。hypervisor扮演着类似交通警察的角色,指挥硬件访问和协调来自各子操作系统的请求。

在Xen环境中,主要有两个组成部分。 一个是虚拟机监控器(VMM),也叫hypervisor。Hypervisor层硬件与虚拟机之间,最先被载入到硬件的第一层。 Hypervisor载入就可部署虚拟机。在Xen中,虚拟机叫做Domain。在这些虚拟机中,Domain0具有很高的特权,负责一些专门的工作。由于hypervisor中不包含任何与硬件对话的驱动,也没有与管理员对话的接口,这些驱动就由 domain0来提供了。通过domain0,管理员可以利用一些Xen工具来创建其它虚拟机(DomainU)。这些domainU属于无特权domain。

在domain0中,还会载入一个xend进程。这个进程会管理所有其它虚拟机,并提供这些虚拟机控制台的访问。在创建虚拟机时,管理员使用配置程序与domain0直接对话。

XEN 体系架构图

Xen 架构可以使超虚拟化的操作系统直接访问硬件,并且几乎对性能没有任何影响。

XEN 虚拟化的效益

虚拟化的效益包括下列:

降低硬件成本 — 有了虚拟化技术,您便可减少所要维护的实体服务器数量,进而降低成本。整合服务器可以降低对于实体空间与电源的需求,同时维持规模弹性以配合其它计划。

提高服务器使用率 — 虚拟化技术可让多个应用程序在一部实体服务器上共存,因此能以更高效率使用资源、进一步利用每一服务器的容量,并提高服务器使用率。虚拟化技术能以 12:1的整合比率,在每一实体服务器上部署 12 部或更多部的虚拟机器。此外,CPU 使用率最多能增加 30%。

缩短服务器的配置时间— 虚拟化技术能将服务器的供应时间缩短达 90%,大幅增进组织对于客户需求的反应能力。即使现场已有合适的实体服务器,传统的服务器部署工作可能耗时6 小时以上。在现有实体服务器上部署虚拟机器,所需的时间则短得多。如果您将取得实体服务器的时间列入计算 — 采购程序通常耗费 6 至 8 周时间 — 则省下的成本更多。

远程管理虚拟机实例— 服务器的疑难排解可在网络上随时随地进行,不需要组织的技术人员亲自到机器前操作。因此,IT 可透过中央位置全球支持全球的 VM 执行个体,不需要派遣技术人员到实体服务器的位置。

增强灵活性和扩展性— 因为能轻易部署新的虚拟机器,IT 团队将能以更快的速度、更高的弹性响应企业对于新IT 资源的需求。

升生产效率 — 由于能在单一计算机上执行多个操作系统,因此组织能进行更多深入开发与测试,并同时进行更多计划。

可用性与不间断维护 — 虚拟机器与其应用程序可以轻易重新分配到替代的位置或远程数据中心。移转虚拟服务器与代管的应用程序的能力,可让系统不需要停用应用程序就能执行事先规划的硬件与软件维护工作。

用程序更安全 — 针对每个应用程序建立虚拟机器,可将弱点隔离并减至最少。保护范围可能延伸到应用程序、链接库、服务与操作系统。

强对配置更改的管理 — 透过能将服务器复原至已仓储影像的功能,可免除对执行中生产应用程序进行的未经批准变更。

按需扩展— 能将虚拟机器映像自动部署到现有硬件上,在颠峰需求时刻增加更多处理能力。在使用量暴增的情况逐渐消退之后,可将运算资源重新分配至其它活动。

延伸阅读

评论