KVM再次引爆Type 1與Type 2 hypervisor戰爭
據IBM首席虛擬化架構師Michael Day所說,基于內核的虛擬機(KVM)口碑不佳更多是由于人們對它究竟是Type 1還是Type 2虛擬化平臺存在誤解。
爭論由來已久,但是Type 1 與Type 2服務器虛擬化平臺之間的區別仍在不斷討論之中,尤其是提到KVM的時候,因為它不適合歸入任何一個類型中。
Michael Day在上周的Linux基金會合作峰會上就KVM神話做了演講報告,他說:“圍繞KVM的安全和性能,人們已經得出它究竟是Type 1還是Type 2的結論,一些IBM的用戶已經看到并提及如下看法:如果KVM作為Type 2虛擬化平臺運行在操作系統之上,性能將更難達到。他們同時暗示這樣也更加不安全。”
KVM歷史性爭論
KVM是Linux內核中的虛擬化層。與所有的服務器虛擬化實現類似,它包括被稱為虛擬機監視器的元素,該元素對工作負載及物理硬件資源和提供給應用程序的虛擬硬件之間的轉化進行隔離。
Type 1和Type 2虛擬化平臺之間的區別取決于VM監視器和客戶操作系統之間的轉化發生的次數。對Type 1虛擬化平臺也就是裸機虛擬化平臺來說,轉化只發生一次。反過來說,Type 2虛擬化平臺需要兩次過程來游遍主機操作系統和VM監視器。
兩種類型的虛擬化平臺之間的區別可以追溯到一篇名為“可虛擬化的第三代架構在形式上的需求”的論文,這篇論文在1974年發表,作者是Robert Goldberg和Gerald Popek。當今,VMware vSphere、微軟Hyper-V以及Xen虛擬化平臺(提供開源和Citrix XenServer產品)被很多人認為是Type 1虛擬化平臺,而OSX的Parallels、VMware Workstation以及Oracle VM VirtualBox,諸如此類產品通常被認為是Type 2虛擬化平臺。
對KVM是Type 1還是Type 2虛擬化平臺的混淆及爭論的出現,部分是因為它是Linux操作系統的一部分。舉例來說,在2009年,當時分析師Andi Mann就Xen和KVM的對峙寫到:“KVM是Type 1還是Type 2主要取決于語義。”
然而,Andi Mann在那時強調:“Xen在更低的層(ring 0)運行并被管理,即使是創建新虛擬機,用戶之間也不共享內存塊,CPU指令或任何底層的(即使偶爾享有特權)的像KVM這樣的Linux操作系統所共享的資源。這意味著KVM遭受著性能、延遲、安全、可擴展性、隔離性以及其他問題。而這些問題并不會影響真正的裸機虛擬化平臺。”
IBM的Michael Day并不同意上述觀點。在他看來,KVM符合Type 1虛擬化平臺的定義,有兩點原因:第一,它以內核模式在裸機上運行,并且使用硬件虛擬化。第二,KVM用戶幾乎花費他們所有的時間以直接執行模式運行,這是Type 1虛擬化平臺的另一個評判標準,這個標準最初由Robert Goldberg定義。
Michael Day 又說道:“有趣的是Robert Goldberg在他之后的論文中摒棄了Type 1和Type 2虛擬化平臺之間的區別。現在區別再次被提及,有很多博客對Type 1和Type 2虛擬化平臺進行區分。”
現在Type 2虛擬化平臺也不和之前的標準相匹配,因為自他們的論文發表以來,硬件和操作系統都已經改變了很多。
Type 1還是Type 2?非當務之急
虛擬化的贊成者說,當提及產品時,Type 1和Type 2虛擬化平臺之間的區別依舊明顯。
Bob Plankers是大學的一名虛擬化架構師,他說:“重要的是我沒有更多的工作要做。如果是Type 2虛擬化平臺,將給我帶來很多的工作,因為我不得不維護底層的操作系統以及虛擬化平臺。如果是Type 1虛擬化平臺,所有的元素被封裝在一起,能夠一起維護。”
然而,Bob Plankers主要使用的虛擬化產品是VMware vSphere,當提及虛擬化管理和云計算的高級特性時,VMware vSphere在幾年前已經搶在了競爭對手,包括KVM的前面。
Bob Plankers 說:“對我來說,實質上是支持并兼容KVM。每個人都了解VMware,VMware不遺余力地與所有人一同工作。它支持大量的硬件,也有很多軟件支持在VMware虛擬化之下運行……相反,KVM沒有如此成熟,明顯沒有相同數量級的受支持硬件。”
IBM Linux主管Jean Staten的一份聲明中說到:“基于客戶反饋,對Type 1和Type 2的討論不是是否采納KVM的前提。對今天開始關注虛擬化數據中心的用戶來講,采納KVM是一個非常合乎邏輯的選擇。然而,已經鎖定專有虛擬化平臺的用戶可能發現轉換更加具有挑戰性,因此他們可能需要時間把KVM融入到全部的數據中心戰略中。
【編輯推薦】
- 桌面虛擬化挨個兒數:Citrix篇
- 紅帽棄用Xen支持 用戶該何去何從?
- 我為父母幾十次講解桌面虛擬化
- 解析:如何打造完善的桌面虛擬化基礎架構
- 主流桌面虛擬化挨個兒數:紅帽篇
- 紅帽與思科將在虛擬化技術集成領域擴大合作關系