Xen虛擬化技術原理

XEN 虛擬化

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是目前市場上主流的兩大虛擬化產品。現將兩者進行比較說明如下表:

序號虛擬化產品詳 細 說 明
1VMware建立在直接執行(直接在硬件上上運行用戶級的虛擬機編碼)和二進制譯碼(對特權級別編碼進行動態編譯)的基礎上的。把一個完整的X86平臺導出到虛擬機上,使大多數能在X86上執行的OS都能在虛擬機上運行,而不需要進行任何修改。
2XENXen的架構中使用了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 典型應用案例

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 資源的需求。

◆ 升生產效率 — 由於能在單一計算機上執行多個操作系統,因此組織能進行更多深入開發與測試,並同時進行更多計劃。

◆ 可用性與不間斷維護 — 虛擬機器與其應用程序可以輕易重新分配到替代的位置或遠程數據中心。移轉虛擬服務器與代管的應用程序的能力,可讓系統不需要停用應用程序就能執行事先規劃的硬件與軟件維護工作。

◆ 用程序更安全 — 針對每個應用程序建立虛擬機器,可將弱點隔離並減至最少。保護範圍可能延伸到應用程序、鏈接庫、服務與操作系統。

◆ 強對配置更改的管理 — 透過能將服務器復原至已倉儲影像的功能,可免除對執行中生產應用程序進行的未經批准變更。

◆ 按需擴展— 能將虛擬機器映像自動部署到現有硬件上,在顛峯需求時刻增加更多處理能力。在使用量暴增的情況逐漸消退之後,可將運算資源重新分配至其它活動。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章