Xen虚拟化技术原理

XEN 虚拟化html

Xen 虚拟化概述

Xen 是业界速度最快、最安全的基础设施虚拟 化软件技术,并已获得 20 多家业界主要供应 商的支持,其中包括 Novell。安全

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 虚拟化处理器的硬件虚拟化能力。dom

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

◆  虚拟机的性能更接近真实的硬件平台;工具

◆  可实现物理平台和虚拟平台间的自由切换;性能

◆  在每一个客户虚拟机支持到 32个虚拟CPU,经过VCPU热插拔;

◆  支持PAE指令集的x86/32, x86/64平台;

◆  能经过硬件辅助虚拟技术进行虚拟原始操做系统,可支持Microsoft Windows虚拟;

◆  获得普遍的硬件厂家的大力支持,支持几乎全部的Linux设备驱动。

 

XEN 虚拟化应用领域

Xen凭着独特的虚拟化性能优点赢得了愈来愈的普遍应用。目前被用户充分应用在如下领域:

◆  服务器应用整合:在一台物理主机上虚拟出多台服务器, 以安装多个不一样的应用,充分利用服务器的物理性能,灵活进行服务器的应用迁移。

◆  软件开发测试:用户可利用Linux的低成本优点很是灵活地搭建多个应用系统开发平台,由此节省了大量的开发成本,加快了开发进程。

◆  集群运算:和单独的管理每一个物理主机相比较,虚拟机管理更加灵活,同时在负载均衡方面,更易于控制和隔离。

 

XEN 典型应用案例

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

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

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

宝马集团(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)将同一硬件上的应用程序和系统彼此隔离开来。

 

Xen 虚拟化背景知识

虚拟化简述

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

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

虚拟化发展阶段

1)虚拟化初级阶段:在虚拟化早期,人们采用模拟软件技术模拟出计算机硬件和软件。模拟层与操做系统对话,而操做系统与计算机硬件对话。在模拟层中安装的操做系统并不知道本身是被安装在模拟环境下的,你能够按照常规的方法安装操做系统。这种虚拟化须要付出很大的性能代价。

2)虚拟化高级阶段:随着虚拟技术发展的不断深化,虚拟化被带到了一个更高的级别。在模拟层(负责被虚拟机器的指令翻译)和硬件之间,不须要任何主机操做系统运行硬件上的虚拟机。虚拟机监控器直接运行在硬件上。由此虚拟化变得更加高效。

虚拟化技术主要类型

实现虚拟化的方法有多种,能够经过不一样层次的抽象来实现相同的结果。

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


彻底虚拟化与超虚拟化架构图

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

XEN虚拟化及工做原理

彻底虚拟化与超虚拟化比较

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

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

数据中心虚拟化技术介绍

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

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

 

Xen 工做原理与体系架构

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 虚拟化技术效益

XEN 虚拟化的效益

虚拟化的效益包括下列:

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

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

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

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

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

◆ 升生产效率 — 因为能在单一计算机上执行多个操做系统,所以组织能进行更多深刻开发与测试,并同时进行更多计划。

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

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

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

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

相关文章
相关标签/搜索