Xen

Xen是一个 开放源代码 虚拟机监视器,由 剑桥大学开发。它打算在单个计算机上运行多达128个有彻底功能的 操做系统

在旧(无虚拟硬件)的处理器上执行Xen,操做系统必须进行显式地修改(“移植”)以在Xen上运行(可是提供对用户应用的兼容性)。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。php

2013年4月,Linux基金会宣布Xen成为Linux基金会合做项目。[2]安全

使用

IBM常常在其主机和服务器上使用虚拟机来尽量发挥其性能,并相似chroot监禁那样将程序置于隔离的虚拟OS中以加强安全性。除此以外,它还能使不一样和不兼容的OS运行在同一台计算机上。Xen支持在运行时进行迁移,保证正常运行而且避免宕机。服务器

Xen的半虚拟化

Xen经过一种叫作半虚拟化的技术得到高效能的表现(较少的效能损失,典型的状况下大约损失2%,在最糟的状况下会有8%的效能耗损;与其它使用彻底的虚拟化却形成最高到20%损耗的其余解决方案造成一个明显的对比),甚至在某些与传统虚拟技术不友好的架构上(如x86),Xen也有极佳的表现。可是这要求虚拟机使用通过修改的客户端操做系统,早期能有限的支持Linux,后来支持将BSD等部分类Unix系统做为客户端操做系统。与那些传统透过软件模拟实现硬件的虚拟机不一样,在3.0版本及在Intel VT-X支援前的Xen须要让客户端操做系统(guest operating systems)与Xen API进行链接。到目前为止,这样连结已经能够运用在NetBSDGNU/LinuxFreeBSD贝尔实验室Plan 9系统上。在Brainshare 2005会议上,Novell展现了NetWare与Xen的连通。与Windows XP连通的技术曾在Xen开发初期进行,但微软的协议未能容许它发布。Sun微系统公司也正积极研究Solaris与Xen的连结,使其能在Xen平台上运做。架构

Xen的彻底虚拟化

Intel为Xen贡献了补丁以支持其VT-X架构扩展,而AMD则进行修改以支持其AMD-V架构扩展。若是系统处理器支持虚拟硬件扩展(Intel和AMD对本地支持虚拟化的扩展),这项技术将容许未经修改的操做系统运行在Xen虚拟机中。事实上,这意味着性能的提高,用户也能够在不违背任何修改限制协议的状况下对Windows进行虚拟。也就是说,Xen的彻底虚拟化模式容许Xen虚拟机运行未经修改的Windows等操做系统。可是在x86平台上,只有支持x86虚拟化的电脑才支持Xen的全虚拟化模式。负载均衡

虚拟机的迁移

Xen 虚拟机能够在不中止的状况下在多个物理主机之间即时迁移(live migration)。在操做过程当中,虚拟机在没有中止工做的状况下内存被反复的复制到目标机器。虚拟机在最终目的地开始执行以前,会有一次60-300 毫秒的很是短暂的暂停以执行最终的同步化,给人无缝迁移的感受。相似的技术被用来暂停一台正在运行的虚拟机到磁盘,并切换到另一台,第一台虚拟机在之后 能够恢复。dom

系统平台支援

Xen目前能够运行在x86x86-64系统上,并正在向IA64PPC移植。移植到其余平台从技术上是可行的,将来有可能会实现。工具

Unix-like系统中的Xen

参见

Xen 是一个 开放源代码 虚拟机监视器,由 剑桥大学开发。它打算在单个计算机上运行多达100个满特征的 操做系统操做系统必须进行显式地修改(“移植”)以在Xen上运行(可是提供对用户应用的兼容性)。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。
中文名
 Xen
采    用
ICA协议 
技    术
作准虚拟化 
实    质
开源 虚拟化技术 

定义

编辑
Xen采用ICA协议 [1]   ,经过一种叫作准虚拟化的技术得到高性能,甚至在某些与传统虚拟技术极度不友好的架构上(x86),Xen也有上佳的表现。与那些传统经过软件模拟实现硬件的虚拟机不一样,在Intel VT-X支持下3.0版本以前的Xen须要系统的来宾权限,用来和Xen API进行链接。到目前为止,这种技术已经能够运用在NetBSD, GNU/Linux, FreeBSD和Plan 9系统上。Sun微系统公司也正在积极地将 Solaris移植到Xen平台之上。
Xen虚拟机能够在不中止的状况下在多个物理主机之间实时迁移。在操做过程当中,虚拟机在没有中止工做的状况下内存被反复的复制到目标机器。虚拟机在最终目的地开始执行以前,会有一次60-300毫秒的很是短暂的暂停以执行最终的同步化,给人无缝迁移的感受。相似的技术被用来暂停一台正在运行的虚拟机到磁盘,并切换到另一台,第一台虚拟机在之后能够恢复。
XEN 是一个基于X86架构、发展最快、性能最稳定、占用资源最少的开源 虚拟化技术。Xen能够在一套物理硬件上安全的执行多个 虚拟机,与 Linux 是一个完美的开源组合,Novell SUSE Linux Enterprise Server 最早采用了XEN 虚拟技术。它特别适用于服务器应用整合,可有效节省运营成本,提升设备利用率,最大化利用数据中心的IT基础架构。
XEN 是英国 剑桥大学计算机实验室开发的一个虚拟化开源项目,XEN 能够在一套物理硬件上安全的执行多个 虚拟机,它和操做平台结合的极为密切,占用的资源最少。编写文档时稳定版本为XEN3.0。支持万贯虚拟化和超虚拟化。以高性能、占用资源少著称,赢得了IBM、AMD、HP、Red Hat和Novell等众多世界级软硬件厂商的高度承认和大力支持,已被国内外众多企事业用户用来搭建高性能的虚拟化平台。
IBM常常在其主机和服务器上使用 虚拟机来尽量发挥其性能,并相似 chroot监禁那样将程序置于隔离的虚拟OS中以加强安全性。除此以外,它还能使不一样和不兼容的OS运行在同一台计算机上。Xen对 虚拟机活跃迁移的支持容许工荷平衡和避免停时。

工做原理

编辑
在Xen使用的方法中,没有指令翻译。这是经过两种方法之一实现的。第一,使用一个能理解和翻译虚拟操做系统发出的未修改指令的CPU(此方法称做彻底虚拟化或full virtualization)。另外一种,修改操做系统,从而使它发出的指令最优化,便于在虚拟化环境中执行(此方法称做准虚拟化或paravirtualization)。  
在Xen环境中,主要有两个组成部分。一个是虚拟机监控器(VMM),也叫hypervisor。Hypervisor层在硬件与虚拟机之间,是必须最早载入到硬件的第一层。Hypervisor载入后,就能够部署虚拟机了。在Xen中,虚拟机叫作“domain”。在这些虚拟机中,其中一个扮演着很重要的角色,就是domain0,具备很高的特权。一般,在任何虚拟机以前安装的操做系统才有这种特权。
Domain0要负责一些专门的工做。因为hypervisor中不包含任何与硬件对话的驱动,也没有与管理员对话的接口,这些驱动就由domain0来提供了。经过domain0,管理员能够利用一些Xen工具来建立其它虚拟机(Xen术语叫domainU)。这些domainU也叫无特权domain。这是由于在基于i386的CPU架构中,它们毫不会享有最高优先级,只有domain0才能够。
在domain0中,还会载入一个xend进程。这个进程会管理全部其它虚拟机,并提供这些虚拟机控制台的访问。在建立虚拟机时,管理员使用配置程序与domain0直接对话。  [2]   

性能比较

编辑
与其它VMM的比较
Denali使用准 虚拟化技术来提升x86电脑上 虚拟机的性能。Denali的 虚拟机为因特网服务专门支持了最小化的 操做系统。系统能够运行上千 虚拟机。Xen与Denali不一样,由于它试图运行适当数量的完整 操做系统,而非大量轻量级操做系统。
VMware为x86提供 虚拟机,这些虚拟机能够运行未修改的PC 操做系统。所涉及的技术极为复杂,也致使了性能的(有时至关显著)降低。Xen牺牲了彻底的二进制兼容,换取相对的简易性和改善的性能。
KVM在全虚拟化状况下性能优于Xen,但Xen在运行修改过的操做系统时效率更高。

半虚拟化

编辑
Xen经过一种叫作半虚拟化的技术得到高效能的表现(较少的效能损失, 典型的状况下大约损失 2%, 在最糟的状况下会有 8% 的效能耗损; 与其它使用彻底的虚拟化却形成最高到 20% 损耗的其余解决方案造成一个明显的对比),甚至在某些与传统 虚拟技术极度不友好的 架构上(x86),Xen也有极佳的表现。与那些传统经过 软件模拟实现硬件的虚拟机不一样,在3.0版本及在Intel VT-X支援前的Xen须要让客户 操做系统(guest operating systems)与Xen API进行链接。到目前为止,这样连结已经能够运用在NetBSD, GNU/Linux, FreeBSD和贝尔实验室的Plan 9系统上。在Brainshare 2005会议上, Novell展现了NetWare与 Xen的连通。与Windows XP连通的技术曾在Xen开发初期进行,但 微软的协议未能容许它发布。Sun微系统公司也正积极研究Solaris与Xen的连结,使其能在Xen平台上运做。

全虚拟化

编辑
Intel对Xen贡献修改以支持其VT-X Vanderpool架构扩展。若是主系统支持Vanderpool或者Pacifica扩展(Intel和AMD对本地支持虚拟化的扩展),这项技术将容许未修改的客做业系统运行在Xen 虚拟机中。事实上,那意味著性能的提高,而且你能够在没有进行任何协议不容许的修改的状况下对Windows进行虚拟。

平台支持

编辑
Xen能够运行在x86,x86_64和ARM系统上,并正在向IA6四、 PPC移植。移植到其余平台从技术上是可行的,将来有可能会实现。

应用领域

编辑
Xen凭着独特的虚拟化性能优点赢得了愈来愈的普遍应用。被用户充分应用在如下领域:
◆ 服务器应用整合:在虚拟机范围内,在一台物理主机上虚拟出多台服务器, 以安装多个不一样的应用,充分利用服务器的物理性能,灵活进行服务器的应用迁移。
软件开发测试:用户可利用Linux的低成本优点很是灵活地搭建多个应用系统开发平台,由此节省了大量的开发成本,加快了开发进程。
◆ 集群运算:和单独的管理每一个物理主机相比较, 虚拟机管理更加灵活,同时在负载均衡方面,更易于控制和隔离。
◆ 多操做系统配置:以开发和测试为目的,同时运行多个操做系统;
◆ 内核开发:在虚拟机的沙盒中,作内核的测试和调试,无需为了测试而单独架设一台独立的机器;
◆ 为客户操做系统提供硬件技术支持:能够开发新的操做系统, 以得益于现存操做系统的普遍硬件支持,好比Linux;

应用案例

编辑
1) 腾讯公司---中国最大的Web服务公司
腾讯公司通过多方测试比较后,最终选择了Novell SUSE Linux Enterprise Server中的Xen超 虚拟化技术。该技术帮助腾讯改善了硬件利用率以及提升系统负载变化时的灵活性。客户说:“在引入Xen超 虚拟化技术后,咱们能够在每台物理机器上运行多个虚拟服务器,这意味着咱们能够潜在的显著扩大用户群,而不用相应地增长硬件成本。”
2) 宝马集团----驰名世界的高档汽车生产企业
宝马集团(BMW Group)利用Novell带有集成Xen虚拟化 软件的SUSE Linux Enterprise Server来执行其数据中心的虚拟化工做量,从而下降硬件成本、简化部署流程。采用 虚拟化技术使该公司节省了高达70%的硬件成本,同时也节省了大量的电力成本。
3) 云谷科技---基于Xen的VPS管理平台研发公司
XenSystem,是基于Xen的虚拟技术开发的一款VPS管理系统。这一款功能VPS智能管理平台,运用IT业界最新的“云计算”和“云储存”的设计理念,支持自动化的VPS云主机和服务器的实时管理功能,具有良好的兼容性和稳定性,从而简单高效地管理 VPS主机的运做,与Hyper-V基于Xen的虚拟化技术后使VPS更趋稳定,运做更为高效。这也意味着IDC的运做成本会大大地下降,利润得以增长。

Xen与其它开源项目

编辑
使用Xen时,开源项目与其它项目的一些差别有时会让人感到迷惑。Xen 起源于英国的剑桥大学计算机实验室,该实验室开发了Xen开源项目。这个项目包括虚拟机监控器,即Xen环境的核心组成部分。除了剑桥大学的科学家之外, 不少其它IT领域集团也都参与了Xen开源项目,其中包括IBM、AMD、HP、Red Hat和Novell。
因为Xen方法使虚拟化领域迈出了一大步,所以Xen的创始人成立了他们 本身的公司XenSource(已被Citrix收购)。他们成立XenSource的目的是为了基于Xen hypervisor而提供一个完善的虚拟化解决方案,与其它虚拟化产品(如VMware ESX)竞争。其它企业也在它们本身的产品中综合应用了Xen hypervisor。例如,Linux厂商Red Hat和Novell公司都在本身的操做系统中包含了各自版本的Xen。因为Xen的大多数部分都是开源的,因此这些解决方案都很是类似。

版本发布

编辑
2010年04月08日,开源虚拟机 Xen 发布了4.0.0 正式版。
主要的新特性包括:
改进性能和可扩展性,客户机支持64个虚拟CPU,主机支持1 TB RAM和128个物理CPU;支持blktap2 for VHD image,包括快照和克隆;HVM客户机支持虚拟内存页共享和页到内存;支持Citrix WHQL认证的Windows PV驱动等等。
2011年04月10日,Xen 4.1 发布,开源虚拟机,变化:这个版本添加了一个架构XL toolstack,它在功能上几乎至关于XM / XEND原型credit2调度程序设计为对延迟敏感的工做负载和很是大的系统中,CPU池为先进的分区,支持大型系统(> 255处理器和1 gb / 2 mb超级页面支持),支持x86先进向量扩展(AVX),和一个新的内存访问API启用集成第三方安全解决方案到Xen虚拟化环境。
2013年04月16日,开源虚拟机 Xen成为 Linux 基金会项目。

2014年03月11日,Xen发布4.4版本,更好地支持ARM架构。性能

相关文章
相关标签/搜索