kvm與xen虛擬化的比較(轉)

KVM與Xen兩大虛擬化的比較

Linux虛擬化技術的用戶目前有兩種免費的開源管理程序可以選擇:Xen和KVM。

作爲較早出現的虛擬化技術,Xen是“第一類”運行在裸機上的虛擬化管理程序(Hypervisor),也是當前相當一部分商業化運作公司的基礎技術,其中包括Citrix系統公司的XenServer和Oracle的虛擬機。Xen技術的倡導者們聲稱Xen的性能強勁,並且擁有一個廣泛的管理工具和能夠交付卓越性能,以及其它諸多優點。

但是最近有一些Linux廠商——包括Red Hat和Canonical把基於內核的虛擬機(KVM:Kernel-based Virtual Machine)技術內置在RHEL和Ubuntu中。KVM是一個輕量級的虛擬化管理程序模塊,該模塊主要來自於Linux內核。雖然只是後來者,但是由於其性能和實施的簡易性,以及對Linux重量級的持續支持,所以還是有必要認真對待KVM技術的。

在本期中,兩位IT專家將會對Xen和KVM做出比較,並給出各自的理由。

Andi Mann:Xen比KVM優越的六大原因

Sander van Vugt:KVM比Xen能夠帶來更好的Linux集成

  XenKVM優越的六大原因

作爲開源的虛擬化技術,對比Xen和KVM可以看到,Xen以6個無與倫比的優勢領先:更好的可用資源、平臺支持、可管理性、實施、動態遷移和性能基準。

  • 可用資源:Xen的問世要比KVM早4年之久(兩者分別是2003年和2007年)。隨着Citrix、Novell、Oracle、Sun、Ret Hat和Virtual Iron等公司在市場領域的實施,就比較容易找到精通Xen的IT技術人員,更容易讓這些技術人員接受Xen相關的培訓、更容易得到Xen的諮詢幫助以及獲得Xen證書。企業管理協會(EMA:Enterprise Management Associates)2008年這對虛擬化和管理趨勢的研究報告表明,這些關鍵因素佔到那些抱怨缺少必要虛擬化技術資源和技術企業的60%。
  • 平臺支持:Xen在新版本中支持更多的主機和客體工作環境,包括泛虛擬化技術、硬件輔助支持以及修改過或未修改過的客體操作系統;對UNIX、Linux和Microsoft  Windows的特定支持;包括芯片組,如x86、IA64和AMD、Fujitsu、IBM、Sun等公司的ARM,以及x86/64 CPU商家和Intel嵌入式的支持等。
  • 可管理性:EMA在2009年度針對虛擬系統管理的研究結果表明:對於83%的企業來講,在選擇虛擬化技術過程中,管理是一項非常關鍵或者重要的因素。在對比Xen和KVM時,就可以看到Xen具有一個更加寬泛的第三方配給、備份、存儲管理、P2V、容量規劃、性能監控、進程自動化、安全和其它管理規則的社區,比如Citrix、IBM、CA、Novell或者Platespin、Enomaly、Microsoft以及HP等。
  • 實施:無論KVM是“第一類”還是“第二類”,這都是語義上的概念。Xen的運行和管理都是在較低級別的(Ring 0)。甚至對於新虛擬機創建,客體機器並不需要像KVM那樣共享內存塊、CPU指令或者任何底層的Linux操作系統(雖然偶爾也會越權)。
  • KVM不支持動態遷移:過去在證明VMware ESX比Microsoft Hyper-V優越的最重要的一個觀點也同樣適用於Xen和KVM的比較,但是這是一個很大的問題。與KVM不同,Xen支持非中斷的動態遷移,可以允許動態工作負載平衡和例行維護而幾乎沒有任何宕機時間。KVM的固有屬性決定了其肯定有宕機時間。
  • 性能:大多數Xen和KVM性能基準的對比都表明Xen具有更好的處理性能(接近於本地處理),只有在磁盤I/O方面略遜於KVM。進一步來講,獨立測試表明隨着工作負載的增加KVM的性能逐漸下降。通常情況下,在試圖支持四個以上的客體虛擬機時就會崩潰。Xen支持一個客體虛擬機的數量呈線性增長,可以支持30個以上工作負載同時運行。

更加深入廣泛的Xen與 KVM對比也將會表明Xen在虛擬網絡支持、虛擬存儲支持、安全增強、高可用性、容錯處理、電源管理、HPC或者實時支持、虛擬CPU可擴展性、跨平臺兼容性。虛擬機可移植性、虛擬應用設備市場以及已經建立起來的雲服務社區等諸多方面都要比KVM優越。因此KVM只是在技術上比較與衆不同,並且擁有幾個不錯的應用場景。但是作爲企業級的服務器虛擬化技術,和Xen比起來,KVM尚有較大差距。

  Andi Mann是企業管理協會(EMAEnterprise Management AssociatesIT分析部門中研究系統管理和存儲管理的副總裁。Mann在技術和管理領域有20多年的IT經驗,對主機、中型機、服務器和臺式機上企業形態和軟件方面都有深刻理解。MannEMA系統管理研究項目的主要負責人,他主要關注數據中心自動化和虛擬化。訪問EMA的主頁瞭解更多有關Mann的信息。

  KVMLinux整合中優於Xen

 

即使沒有實施廣泛的Xen和KVM性能基準研究,仍然有很多理由足以說明Linux領導者(諸如Red Hat和Ubuntu)對待KVM態度的原因。其中最明顯並且最重要的因素就是KVM是Linux內核的一部分,Xen只是一個安裝在Linux內核下層的一個產品而已。

爲什麼這一點如此重要呢?其之所以重要是因爲在過去Xen工作環境的補丁包不能夠和Linux內核兼容。但是如果實施KVM的話,這個問題就可以很容易地得到解決。另外一個選擇KVM的原因是KVM在Linux內核內部部署,這樣可以很容易控制虛擬化進程。

Xen的擁護者們聲稱KVM不如Xen技術成熟,並且缺少某些關鍵特性,如動態遷移和泛虛擬化支持。確實如此,Xen工作環境中的泛虛擬化技術可以使虛擬機的操作更加高效,因爲泛虛擬化技術直接和硬件進行交互。然而使用泛虛擬化技術需要修改操作系統,默認Windows的安裝並不支持泛虛擬化工作環境。至於動態遷移,KVM也可以做到,只是需要安裝正確的KVM版本而已。KVM過去在動態遷移方面確實存在一個問題,但是現在已經解決了。

從另外一個角度來講,KVM更加靈活。由於操作系統直接和整合到Linux內核中的虛擬化管理程序交互,所以在任何場景下都可以直接和硬件進行交互,而不需要修改虛擬化的操作系統。這一點非常重要,因爲對虛擬機運行來講KVM可以是一個更快的解決方案。KVM需要Pacifica(AMD)或者Vanderpool(Intel)虛擬化CPU這一事實現在已經不能成爲KVM發展的限制條件,因爲當前大多數服務器CPU都有這些處理器。

支持不選擇KVM虛擬化技術的一個可信原因是Xen相對來講歷史更久一點,產品更加成熟些。但是長遠來看,Xen將會使Linux內核的負擔越來越重,因爲Xen缺少很好的整合(並且以後也不會解決這個問題),儘管Xen的開發者們正在積極地解決這個整合問題。

最後一點是KVM是Linux內核的一部分,而Xen做到最好也無非是整合到Linux中。隨着時間的推移,Ret Hat(目前掌握KVM技術),作爲Linux企業市場中份額最大的企業,將會使虛擬化技術的後來者——KVM同Xen一樣功能齊全。

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