本節書摘來自異步社群《linux kvm虛拟化架構實戰指南》一書中的第1章,第1.1節,作者:何坤源著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
kernel-based virtual machine(基于核心的虛拟機)是開源的系統虛拟化子產品,從linux 2.6.20核心之後內建在linux的各個主要發行版本中。它使用linux自身的排程器進行管理,是以相對于xen,其核心源碼很少,kvm目前在開源系統中大規模使用。本書以red hat enterprise virtualization(紅帽企業虛拟化)為主要平台,配合其他版本的kvm進行介紹。
xen虛拟化技術是英國劍橋大學計算機實驗室開發的一個虛拟化開源項目,xen可以在一套實體硬體上安全地執行多個虛拟機,它和操作平台結合得極為密切,占用的資源最少。編寫本書時,穩定版本為xen 4.0。
xen以高性能、占用資源少著稱,赢得了ibm、amd、hp、red hat和novell等衆多世界級軟硬體廠商的高度認可和大力支援,已被國内外衆多企事業使用者用來搭建高性能的虛拟化平台。
1.1.1 xen虛拟化技術簡介
xen采用ica協定,通過一種叫作準虛拟化的技術獲得高性能,甚至在某些與傳統虛拟技術極度不友好的架構上(x86),xen也有上佳的表現。與傳統通過軟體模拟實作硬體的虛拟機不同,在intel vt-x支援下,3.0版本之前的xen需要系統的來賓權限,用來和xen api連接配接。到目前為止,這種技術已經可以運用在netbsd、gnu/linux、freebsd和plan 9系統上。sun微系統公司也正在積極地将solaris移植到xen平台之上。
xen虛拟機可以在不停止的情況下,在多個實體主機之間實時遷移。在操作過程中,虛拟機在沒有停止工作的情況下,記憶體被反複地複制到目标機器。虛拟機在最終目的地開始執行之前,會有一次60~300毫秒的非常短暫的暫停,以執行最終的同步化,給人無縫遷移的感覺。類似的技術被用來暫停一台正在運作的虛拟機到磁盤,并切換到另外一台,第一台虛拟機在以後可以恢複。
xen已經可以運作在x86系統上,并正在向x86_64、ia64、ppc移植。移植到其他平台從技術上是可行的,未來有可能會實作。
xen是一個基于x86架構、發展最快、性能最穩定、占用資源最少的開源虛拟化技術。xen可以在一套實體硬體上安全地執行多個虛拟機,與linux是一個完美的開源組合,novell suse linux enterprise server最先采用了xen虛拟技術。它特别适用于整合伺服器應用,可有效節省營運成本,提高裝置使用率,最大化利用資料中心的it基礎架構。
1.1.2 xen虛拟化技術的應用領域
xen憑着獨特的虛拟化性能優勢赢得了以下一些應用。
1.伺服器應用整合
在一台實體主機上虛拟出多台伺服器, 以安裝多個不同的應用,充分利用伺服器的實體性能,靈活進行伺服器的應用遷移。
2.軟體
開發測試使用者可利用linux的低成本優勢非常靈活地搭建多個應用系統開發平台,由此節省了大量的開發成本,加快了開發程序。
3.群集運算
和單獨管理每個實體主機相比較,虛拟機管理更加靈活,同時在負載均衡方面,更易于控制和隔離。
4.多作業系統配置
以開發和測試為目的,同時運作多個作業系統。
5.核心開發
進行核心的測試和調試,無需為了測試而單獨架設一台獨立的機器。
6.為客戶作業系統提供硬體技術支援
可以開發新的作業系統,以得益于現存作業系統的廣泛硬體支援,如linux。
1.1.3 xen虛拟化技術的優缺點
xen作為一個企業級虛拟化技術,其功能相對完善,了解其基本原理後,下面了解它的優缺點。
1.xen虛拟化技術的優點
xen建構于開源的虛拟機管理程式之上,結合使用半虛拟化和硬體協助的虛拟化。作業系統與虛拟化平台之間的這種協作支援開發一個較簡單的虛拟機管理程式來提供高度優化的性能。
xen提供了複雜的工作負載平衡功能,可捕獲cpu、記憶體、磁盤i/o和網絡i/o資料,它提供了兩種優化模式:一種針對性能,另一種針對密度。
xen利用一種名為citrix storage link的獨特的存儲內建功能。使用citrix storage link,系統管理者可直接利用來自hp、dell equal logic、netapp、emc等公司的存儲産品。
xen包含多核處理器支援、實時遷移、實體伺服器到虛拟機轉換(p2v)和虛拟到虛拟轉換(v2v)工具,集中化的多伺服器管理、實時性能監控,以及windows和linux 的快速性能。
2.xen虛拟化技術的缺點
xen會占用相對較大的空間,且依賴于0号虛拟機中的linux。
xen依靠第三方解決方案來管理硬體裝置驅動程式、存儲、備份和恢複,以及容錯。
任何具有高i/o速率的操作或任何會吞噬資源的操作都會使xen陷入困境,使其他虛拟機缺乏資源。
xen缺少802.1q虛拟區域網路(vlan)中繼,出于安全考慮,它沒有提供目錄服務內建、基于角色的通路控制、安全日志記錄和審計或管理操作。
xen目前最大的困難在于linux核心社群的抵制,導緻xen相關的核心改動一直不能順利進入核心源代碼,進而無法及時得到核心最新開發成果的支援。