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架構。性能

相關文章
相關標籤/搜索