XEN 虛擬化html
Xen 虛擬化概述 |
Xen 是業界速度最快、最安全的基礎設施虛擬 化軟件技術,並已獲得 20 多家業界主要供應 商的支持,其中包括 Novell。安全
XEN 是一個基於X86架構、發展最快、性能最穩定、佔用資源最少的開源虛擬化技術。Xen能夠在一套物理硬件上安全的執行多個虛擬機,與 Linux 是一個完美的開源組合,Novell SUSE Linux Enterprise Server 最早採用了XEN虛擬技術。它特別適用於服務器應用整合,可有效節省運營成本,提升設備利用率,最大化利用數據中心的IT基礎架構。服務器
XEN 是英國劍橋大學計算機實驗室開發的一個虛擬化開源項目,XEN 能夠在一套物理硬件上安全的執行多個虛擬機,它和操做平臺結合的極爲密切,佔用的資源最少。目前穩定版本爲XEN3.0。支持萬貫虛擬化和超虛擬化。以高性能、佔用資源少著稱,贏得了IBM、AMD、HP、Red Hat和Novell等衆多世界級軟硬件廠商的高度承認和大力支持,已被國內外衆多企事業用戶用來搭建高性能的虛擬化平臺。 網絡
Novell是第一個採用XEN開源虛擬化技術的廠家,比其餘Linux廠商要早。最早把Xen虛擬化技術集成在Novell Suse Linux平臺上,XEN爲廣大用戶提供了目前Linux 上最佳的免費虛擬化解決方案,現已被大量應用於數據中心服務器應用整合等領域。架構
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 獨特的性能價值來自超虛擬化的使用。超虛擬化使託管虛擬服務器能夠與 超級管理程序共同協做,使企業應用程 序達到最佳的性能。其餘供應商 (例如 Microsoft) 正爭先恐後地實施本身的超 級管理程序,但至少已落後 Xen 項目 3 年。另外,Xen 還利用了 Intel VT 和 AMD 虛擬化處理器的硬件虛擬化能力。dom
XEN 虛擬化技術的主要特性以下所示:ide
◆ 虛擬機的性能更接近真實的硬件平臺;工具
◆ 可實現物理平臺和虛擬平臺間的自由切換;性能
◆ 在每一個客戶虛擬機支持到 32個虛擬CPU,經過VCPU熱插拔;
◆ 支持PAE指令集的x86/32, x86/64平臺;
◆ 能經過硬件輔助虛擬技術進行虛擬原始操做系統,可支持Microsoft Windows虛擬;
◆ 獲得普遍的硬件廠家的大力支持,支持幾乎全部的Linux設備驅動。
Xen憑着獨特的虛擬化性能優點贏得了愈來愈的普遍應用。目前被用戶充分應用在如下領域:
◆ 服務器應用整合:在一臺物理主機上虛擬出多臺服務器, 以安裝多個不一樣的應用,充分利用服務器的物理性能,靈活進行服務器的應用遷移。
◆ 軟件開發測試:用戶可利用Linux的低成本優點很是靈活地搭建多個應用系統開發平臺,由此節省了大量的開發成本,加快了開發進程。
◆ 集羣運算:和單獨的管理每一個物理主機相比較,虛擬機管理更加靈活,同時在負載均衡方面,更易於控制和隔離。
1) 騰訊公司---中國最大的Web服務公司
騰訊公司通過多方測試比較後,最終選擇了Novell SUSE Linux Enterprise Server中的Xen超虛擬化技術。該技術幫助騰訊改善了硬件利用率以及提升系統負載變化時的靈活性。客戶說:「在引入Xen超虛擬化技術後,咱們能夠在每臺物理機器上運行多個虛擬服務器,這意味着咱們能夠潛在的顯著擴大用戶羣,而不用相應地增長硬件成本。」
2) 寶馬集團----馳名世界的高檔汽車生產企業
寶馬集團(BMW Group)利用Novell帶有集成Xen虛擬化軟件的SUSE Linux Enterprise Server來執行其數據中心的虛擬化工做量,從而下降硬件成本、簡化部署流程。採用虛擬化技術使該公司節省了高達70%的硬件成本,同時也節省了大量的電力成本。
XEN 的許可方式是通用公共許可證 (GPL)。用戶可 以經過訂閱 SUSE Linux Enterprise 10 等企業版 Linux 發行版原本得到 Xen 代 碼。SUSE Linux Enterprise 10 包括 Xen 代碼和集成的管理工具。
Xen超虛擬化是目前很是流行、最引人注目的虛擬化技術之一,它使用了一個 hypervisor來實現對底層硬件的共享訪問,還將與虛擬化有關的代碼集成到了操做系統自己中。這種方法再也不須要從新編譯或捕獲特權指令,由於操做系統自己在虛擬化進程中會相互緊密協做。一般經過虛擬化(Virtualization)將同一硬件上的應用程序和系統彼此隔離開來。
Xen 虛擬化背景知識
虛擬化簡述通俗說來,虛擬化就是把物理資源轉變爲邏輯上能夠管理的資源,以打破物理結構間的壁壘。虛擬化技術就其本質而言屬於一種資源管理技術,它將硬件、軟件、網絡、存儲等硬件設備隔離開來,使用戶能更合理更充分的控制與管理各類資源。虛擬化技術自己有不少的方向,網絡級(VLan)、芯片級(Intel VT/AMD-V)、硬件級(存儲設備/服務器)、操做系統級等。虛擬化的主要目的是簡化IT基礎設施的控制管理。 虛擬化技術由來已久,從60年代Unix誕生起,虛擬化技術就出現了,經歷了從硬件分區、虛擬機、準虛擬機、虛擬操做系統的發展歷程。虛擬化技術的最初應用於大型主機,經過將一臺大型服務器分割成若干分區,同時運行多個彼此獨立的操做系統實例,以提升硬件利用率。目前虛擬化主要應用在服務器器虛擬方面。 虛擬化發展階段1)虛擬化初級階段:在虛擬化早期,人們採用模擬軟件技術模擬出計算機硬件和軟件。模擬層與操做系統對話,而操做系統與計算機硬件對話。在模擬層中安裝的操做系統並不知道本身是被安裝在模擬環境下的,你能夠按照常規的方法安裝操做系統。這種虛擬化須要付出很大的性能代價。 2)虛擬化高級階段:隨着虛擬技術發展的不斷深化,虛擬化被帶到了一個更高的級別。在模擬層(負責被虛擬機器的指令翻譯)和硬件之間,不須要任何主機操做系統運行硬件上的虛擬機。虛擬機監控器直接運行在硬件上。由此虛擬化變得更加高效。 虛擬化技術主要類型實現虛擬化的方法有多種,能夠經過不一樣層次的抽象來實現相同的結果。
|
基於徹底虛擬化的虛擬機採用了一個虛擬層,它能協調對硬件資源的訪問,並容許多個操做系統實例(甚至是互不兼容的操做系統)同時在一個服務器上和諧共存。無需修改客戶操做系統。然而,這一中介層要求虛擬機捕獲並模擬全部特權指令,致使性能可能下降 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 虛擬化技術效益
虛擬化的效益包括下列:
◆ 下降硬件成本 — 有了虛擬化技術,您即可減小所要維護的實體服務器數量,進而下降成本。整合服務器能夠下降對於實體空間與電源的需求,同時維持規模彈性以配合其它計劃。
◆ 提升服務器使用率 — 虛擬化技術可以讓多個應用程序在一部實體服務器上共存,所以能以更高效率使用資源、進一步利用每一服務器的容量,並提升服務器使用率。虛擬化技術能以 12:1的整合比率,在每一實體服務器上部署 12 部或更多部的虛擬機器。此外,CPU 使用率最多能增長 30%。
◆ 縮短服務器的配置時間— 虛擬化技術能將服務器的供應時間縮短達 90%,大幅增進組織對於客戶需求的反應能力。即便現場已有合適的實體服務器,傳統的服務器部署工做可能耗時6 小時以上。在現有實體服務器上部署虛擬機器,所需的時間則短得多。若是您將取得實體服務器的時間列入計算 — 採購程序一般耗費 6 至 8 周時間 — 則省下的成本更多。
◆ 遠程管理虛擬機實例— 服務器的疑難排解可在網絡上隨時隨地進行,不須要組織的技術人員親自到機器前操做。所以,IT 可透過中央位置全球支持全球的 VM 執行個體,不須要派遣技術人員到實體服務器的位置。
◆ 加強靈活性和擴展性— 由於能輕易部署新的虛擬機器,IT 團隊將能以更快的速度、更高的彈性響應企業對於新IT 資源的需求。
◆ 升生產效率 — 因爲能在單一計算機上執行多個操做系統,所以組織能進行更多深刻開發與測試,並同時進行更多計劃。
◆ 可用性與不間斷維護 — 虛擬機器與其應用程序能夠輕易從新分配到替代的位置或遠程數據中心。移轉虛擬服務器與代管的應用程序的能力,可以讓系統不須要停用應用程序就能執行事先規劃的硬件與軟件維護工做。
◆ 用程序更安全 — 針對每一個應用程序創建虛擬機器,可將弱點隔離並減至最少。保護範圍可能延伸到應用程序、連接庫、服務與操做系統。
◆ 強對配置更改的管理 — 透過能將服務器復原至已倉儲影像的功能,可免除對執行中生產應用程序進行的未經批准變動。
◆ 按需擴展— 能將虛擬機器映像自動部署到現有硬件上,在顛峯需求時刻增長更多處理能力。在使用量暴增的狀況逐漸消退以後,可將運算資源從新分配至其它活動。