KVM和Xen是兩大虛擬化技術,KVM和Xen又是免費開源的管理程序,新手站長網分享虛擬化技術KVM和Xen的區別優勢對比:
KVM和Xen的區別
- KVM:KVM是輕量級的虛擬化管理程序模塊,該模塊主要來自Linux內核;KVM的虛擬化需要硬件支持,如具有VT功能的Intel CPU和具有AMD-V功能的AMD CPU,KVM只能在具有虛擬化支持的CPU上運行。
- Xen:Xen是Linux下的虛擬化解決方案,Xen的實現是基於支持Xen功能的kernel,在Xen控制下的kernel,稱之爲Domain0,使用kernel啓動的機器可以使用qemu軟件,虛擬出多個系統。
Xen和KVM虛擬化架構對比
KVM虛擬化
KVM的內核模塊叫做kvm.ko,實現對Linux的CPU和內存虛擬化,是Linux的一個進程,負責VCPU和內存的分配,而其他設備的虛擬就交給了qemu。qemu運行在用戶空間,KVM運行在內核,兩者通過/dev/kvm進行交互,KVM僅支持全局虛擬化。
Xen虛擬化
Xen是一個直接運行在計算機硬件之上的用以替代操作系統的軟件層,Xen能夠在計算機硬件上併發的運行多個客戶操作系統(Guest OS)。
關於是否寫入Linux內核
KVM已經被Linux核心組織寫入Linux內核。而Xen是一個外部的Hypervisor程序(虛擬機管理程序),它能夠控制虛擬機和給多個客戶機分配資源,在KVM被寫入Linux內核後,估計Xen很難再被寫入內核。而KVM是Linux的一部分, 可使用通常的Linux調度器和內存管理,KVM更小更易使用。
關於版本升級
更新版本方面,Xen需要重新編譯整個內核,稍有不慎,可能導致系統無法啓動;KVM不需要重新編譯內核,也不需要對kernel做任何修改(它只是幾個可以動態加載的.ko模塊)。
KVM和Xen對比來看,KVM結構更加精簡、代碼量更小,出錯率更小;在某些方面,KVM性能要比Xen好一些。
以阿里云爲例,阿里雲虛擬化技術包括Xen和KVM,新的機器都是KVM,老一代是Xen。
關於全虛擬化和準虛擬化
Xen同時支持全虛擬化和準虛擬化,KVM目前不支持準虛擬化。
KVM和Xen區別對比表
對比項 | Xen | KVM |
---|---|---|
問世時間 | 2003年 | 2007年 |
支持企業 | Citrix、Novell、Oracle、Sun、Ret Hat(RHEL5)和Virtual Iron | Redhat、Ubuntu等 |
支持的虛擬化技術 | 全虛擬化、半虛擬化 | 全虛擬化 |
支持架構 | x86、IA64和AMD、Fujitsu、IBM、Sun等公司的ARM,以及x86/64 CPU商家和Intel嵌入式的支持 | 支持虛擬化的CPU |
支持操作系統 | UNIX、Linux和Microsoft Windows | UNIX、Linux和Microsoft Windows |
動態遷移 | 支持 | 支持(以前不支持) |
內核支持 | 需要對內核打補丁 | 內置在內核中 |
以上爲新手站長網分享的關於KVM和Xen虛擬化技術的區別及優缺點對比。