虛擬化技術

hxw2ljj發表於2015-11-18

由於採用技術的不同,系統虛擬化不僅僅包括全虛擬化、半虛擬化和硬體輔助虛擬化。

完整來看,可以將系統虛擬化分為五大類:

硬體模擬(Emulation)

簡介:屬於Hosted模式,在物理機的作業系統上建立一個模擬硬體的程式(Hardware VM)來模擬所想要的硬體,並在此程式上跑虛擬機器,而且虛擬機器內部的客戶作業系統(Guest OS)無需修改。知名的產品有Bochs,QEMU和微軟的Virtual PC(它還使用少量的全虛擬化技術)

clip_image001 
圖1. 硬體模擬架構圖

· 優點:Guest OS無需修改,而且非常適合用於作業系統開發,也利於進行韌體和硬體的協作開發。韌體開發人員可以使用目標硬體 VM 在模擬環境中對自己的實際程式碼進行驗證,而不需要等到硬體實際可用的時候。

· 缺點:速度非常慢,有時速度比物理情況慢100倍以上。

· 未來:因為速度的問題,漸趨頹勢,但是還應該有一席之地。

虛擬化Full Virtulization)

簡介:主要是在客戶作業系統和硬體之間捕捉和處理那些對敏感的特權指令,使客戶作業系統無需修改就能執行,速度會根據不同的實現而不同,但大致能滿足使用者的需求。這種方式是業界現今最成熟和最常見的,而且屬於 Hosted 模式和 Hypervisor 模式的都有,知名的產品有CP/CMS,VirtualBox,KVM,VMware Workstation和VMware ESX(它在其4.0版,被改名為VMware vSphere)。

clip_image002 
圖2. 全虛擬化架構圖

· 優點:Guest OS無需修改,速度和功能都非常不錯,更重要的是使用非常簡單,不論是 VMware 的產品,還是Sun(Oracle?)的 VirtualBox。

· 缺點:基於Hosted模式的全虛擬產品效能方面不是特別優異,特別是I/O方面。

· 未來:因為使用這種模式,不僅Guest OS免於修改,而且將透過引入硬體輔助虛擬化技術來提高其效能,我個人判斷,在未來全虛擬化還是主流。

虛擬化Parairtulization)

· 簡介:它與完全虛擬化有一些類似,它也利用Hypervisor來實現對底層硬體的共享訪問,但是由於在Hypervisor 上面執行的Guest OS已經整合與半虛擬化有關的程式碼,使得Guest OS能夠非常好地配合Hyperivosr來實現虛擬化。透過這種方法將無需重新編譯或捕獲特權指令,使其效能非常接近物理機,其最經典的產品就是Xen,而且因為微軟的Hyper-V所採用技術和Xen類似,所以也可以把Hyper-V歸屬於半虛擬化。

clip_image003 
圖3. 半虛擬化架構圖

· 優點:這種模式和全虛擬化相比,架構更精簡,而且在整體速度上有一定的優勢。

· 缺點:需要對Guest OS進行修改,所以在使用者體驗方面比較麻煩。

· 未來:我覺得其將來應該和現在的情況比較類似,在公有云(比如Amazon EC2)平臺上應該繼續佔有一席之地,但是很難在其他方面和類似VMware vSphere這樣的全虛擬化產品競爭,同時它也將會利用硬體輔助技術來提高速度,並簡化架構。

硬體輔助虛擬化Hardware Assisted Virtualization)

簡介:Intel/AMD等硬體廠商透過對部分全虛擬化和半虛擬化使用到的軟體技術進行硬體化(具體將在下文詳述)來提高效能。硬體輔助虛擬化技術常用於最佳化全虛擬化和半虛擬化產品,而不是獨創一派,最出名的例子莫過於VMware Workstation,它雖然屬於全虛擬化,但是在它的6.0版本中引入了硬體輔助虛擬化技術,比如Intel的VT-x和AMD的AMD-V。現在市面上的主流全虛擬化和半虛擬化產品都支援硬體輔助虛擬化,包括VirtualBox,KVM,VMware ESX和Xen。

優點:透過引入硬體技術,將使虛擬化技術更接近物理機的速度。

缺點:現有的硬體實現不夠最佳化,還有進一步提高的空間。

未來:因為透過使用硬體技術不僅能提高速度,而且能簡化虛擬化技術的架構,所以預見硬體技術將會被大多數虛擬化產品所採用。

作業系統級虛擬化Operating System Level Virtualization)

簡介:這種技術透過對伺服器作業系統進行簡單地隔離來實現虛擬化,主要用於VPS。主要的技術有Parallels Virtuozzo Containers / OpenVZ,Unix-like系統上的chroot和Solaris上的Zone等。

clip_image005 
圖4. 作業系統級架構圖

· 優點:因為它是對作業系統進行直接的修改,所以實現成本低而且效能不錯。

· 缺點:在資源隔離方面表現不佳,而且對Guest OS的型號和版本有限定。

· 未來:不明朗,我覺得除非有革命性技術誕生,否則還應該屬於小眾,比如VPS。

五大類之間比較

根據個人的經驗,我在效能,使用者體驗和使用場景這三方面對這五大類進行了比較,具體請看下圖:

clip_image007 
表1. 系統虛擬化五大類之間的比較

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18796236/viewspace-1840153/,如需轉載,請註明出處,否則將追究法律責任。

相關文章