
在相同的硬體上,Xen 或 KVM 哪個比較快?
我正在嘗試選擇一種可以提供最佳效能的虛擬化技術。
我在這裡找到了一些關於這個主題的基準: http://virt.kernelnewbies.org/XenVsKVM
他們將KVM 視為獲勝者,在性能上具有顯著差異- 這違背了KVM 是2 類虛擬機管理程序的觀點,並且根據定義,它應該比1 類虛擬機管理程序(如Xen)慢- 或者至少是這樣網路上的文章說。
對這個主題有什麼想法嗎?
答案1
此基準僅比較本機作業系統與單一來賓作業系統的速度。這幾乎不是一個現實世界的測試。我認為我不會太重視它。大多數 KVM 陣營認為 Xen 需要在內核和用戶空間之間進行太多中斷和跳躍,但從我見過的大多數更真實的基準測試來看,這還沒有真正實現,而且 Xen 似乎更快一點比KVM。
抱歉,我沒有方便的備份連結。但我要說的是,KVM 正在快速改進,並且似乎在功能集和穩定性方面正在迅速趕上。
至於哪種方法比較好。 Xen 陣營認為,真正的輕量級虛擬機器管理程式需要虛擬化才能安全且快速。一些供應商的韌體也開始支援 Xen,這也很好。 KVM 陣營會認為 KVM 更簡單,並且 Linux 能夠成為一個很好的虛擬機器管理程式。
最終哪個方向最終勝出還不得而知。 Xen 無疑佔據了先機,並且已經擁有了不錯的市場份額。但它還沒有出現在主線核心中。希望這種情況很快就會改變,在過去的幾個月裡,核心清單上確實有很多關於這一點的討論。紅帽現在已加入 KVM 陣營,並將推動其成為首選虛擬化平台。即將發布的 Red Hat Linux 5.4 將是第一個包含它的版本。因此,這可能會吸引尚未推出或致力於虛擬化平台的商店。
就工具而言,Xen 和 KVM 都使用 libvirt 和 QEMU 以及與其相關的工具。因此他們共享許多相同的工具,例如 virt-manager。
我們在工作中使用 Xen,它對我們來說效果很好。但由於 Xen 無法解決一些 USB 轉送和 PCI 直通問題,我一直在研究 KVM。我不確定 KVM 在這方面是否更好,但我想一旦嘗試就會知道。在研究 USB 問題時我注意到的一件事是,與 Xen 的文檔相比,KVM 的文檔更易於評估和組織。但不存在完美的虛擬化平台,因此您需要弄清楚什麼對您有意義。
答案2
我個人會根據您所使用的虛擬機器的可用性、支援、可靠性和適用性來選擇虛擬化。
Xen 網路資料傳輸速率似乎與真實硬體一樣好,但我也與 Xen 和 vLans 以及多個乙太網路卡進行了一些鬥爭。我沒有 KVM 經驗,但我也建議您也考慮 VMware ESX(i)。
答案3
您將在以下演示中找到有關該主題的非常有趣的資訊:Xen和KVM的量化比較
這樣做的人是 Xen 專家,但比較似乎相當公平。
答案4
FWIW:答案完全取決於您現在和未來的需求。
是的,我知道這是一個沒有幫助的答案。不幸的是,這是真的。您對虛擬化的選擇將影響您之後所做的幾乎所有事情,因此您需要問自己幾個問題。
(1) 97% 的本機性能和 96% 的本機性能(憑空捏造的數字)之間的差異對您來說真的那麼重要嗎?
(1a) 如果一個在HD 存取方面做得更好(這實際上意味著您要么使用一個非常棒的資料庫,要么您買不起額外的RAM),而另一個在網路方面做得更好,這對您來說更重要?
(2) 您對使用任一解決方案提供的工具有信心嗎?
(3) 一個(某種程度上)是最新的 Linux 核心本機的,而另一個不是,這一事實是否有區別?
(3a) 您現在或曾經…呃…您是否需要在虛擬化下執行不同的作業系統?它不一定是 Windows。它可能是 FreeBSD,甚至是 Haiku,或是其他什麼。 (Xen 可能在這裡獲勝,但我建議您檢查一下。)
綜觀全局,我認為 KVM 是 Linux 對 Solaris 區域的回應。 (我寧願有Solaris 區域,但我看到了相似之處。)我認為Xen 是一種成熟的虛擬機器管理程式技術,支援多個作業系統,但如果您不需要多個作業系統,那就沒那麼重要了。
老實說,無論哪種方式都不會出錯(考慮到上面的警告)。我比較喜歡Xen,因為我去了劍橋;但是,如果我在 RH 工作,我可能會更喜歡 KVM。