選擇開源hypervisor之前需要問的幾個問題
在選擇開源hypervisor時,有兩大選擇:Xen或者KVM。Citrix XenServer以及Oracle VM基于Xen,而Red Hat和Ubuntu基于KVM。Xen在Linux平臺下使用情況良好,但是從2011年起Xen不再包含在Linux內核中,而且用戶需要對內核打補丁,并在現有Linux發(fā)行版的基礎上進行一些配置才能使用。相反,自從2007年起,KVM已經被包含在了Linux內核之中。盡管Xen推出時間更長,但是業(yè)界專家認為KVM已經取得了長足的進步。
不確定哪一種hypervisor是數據中心的正確選擇?本文的FAQ將為你提供做出正確決定所需要的相關知識。
Xen和KVM是同一類型的hypervisor嗎?
Xen是x86平臺下的一個開源的虛擬機監(jiān)視器,KVM hypervisor是KVM的虛擬化層。 Xen屬于type-1 hypervisor因為它有自己的內核,而KVM屬于type-2 hypervisor,因為它使用了另一個主機操作系統的內核。Xen使用它自己的內核用于線程以及虛擬機調度,而KVM使用Linux內核進行上述操作。
哪些特性是Xen具備而KVM所沒有的呢,反之亦然?
Xen提供了關鍵應用程序接口,應用二進制接口并支持分布式管理任務組接口。Xen還提供了在線遷移并支持共享存儲,能夠進行服務器整合。KVM并非總是支持在線遷移,但是其最新版本的確提供了該功能。
可能Xen相對于KVM最大的優(yōu)勢就是與生俱來的半虛擬化,不需要進行仿真虛擬機就能夠高效運行。不需要模擬或者虛擬模擬硬件,客戶機能夠感知hypervisor而且能夠高效運行。KVM hypervisor不支持半虛擬化,必須模擬KVM虛擬機所生成的指令。然而為使用半虛擬化,你需要修改操作系統。默認的Windows安裝無法在半虛擬化環(huán)境中使用。
Xen與KVM各自的優(yōu)缺點有哪些?
每種hypervisor都有各自的優(yōu)缺點。通常認為KVM易于配置與維護,你只需要加載Linux內核中的一個模塊。一旦模塊被加載后,就可以創(chuàng)建虛擬機了。KVM的精簡架構同樣對企業(yè)Linux服務器的管理員具有吸引力。
然而,Xen是用于部署、備份、存儲管理、P2V、容量規(guī)劃、性能監(jiān)控、流程自動化以及安全性的第三方生態(tài)系統。使用KVM,客戶機共享內存塊,CPU指令集以及底層的Linux操作系統,這意味著KVM會遇到性能、延遲、安全性、可擴展性以及隔離問題,而像Xen這樣的裸金屬hypervisor并不會遇到上述問題。
大多數Xen vs.KVM的性能基準測試顯示Xen的處理性能更好,但是KVM在磁盤I/O方面要勝過Xen。