全虛擬化和半虛擬化

2021-06-19 18:41:09 字數 3101 閱讀 8848

由於採用技術的不同,系統

虛擬化不僅僅包括全

虛擬化、半

虛擬化和硬體輔助

虛擬化。完整來看,可以將系統

虛擬化分為五大類:

硬體**(emulation

)簡介:

屬於hosted模式,在物理機的作業系統上建立乙個模擬硬體的程式(hardware vm)來**所想要的硬體,並在此程式上跑虛擬機器,而且虛擬機器內部的客戶作業系統(guest os)無需修改。知名的產品有bochs,qemu和微軟的virtual pc(它還使用少量的全

虛擬化技術)

圖1. 硬體**架構圖

· 優點:

guest os無需修改,而且非常適合用於作業系統開發,也利於進行韌體和硬體的協作開發。韌體開發人員可以使用目標硬體 vm 在**環境中對自己的實際**進行驗證,而不需要等到硬體實際可用的時候。 · 

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

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

虛擬化(full virtulization

)簡介:

主要是在客戶作業系統和硬體之間捕捉和處理那些對

虛擬化敏感的特權指令,使客戶作業系統無需修改就能執行,速度會根據不同的實現而不同,但大致能滿足使用者的需求。這種方式是業界現今最成熟和最常見的,而且屬於 hosted 模式和 hypervisor 模式的都有,知名的產品有

ibm 

cp/cms,virtualbox,kvm,vmware workstation和vmware esx(它在其4.0版,被改名為vmware vsphere)。

圖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歸屬於半

虛擬化。

圖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等。

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

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

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

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

五大類之間比較

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

表1. 系統

虛擬化五大類之間的比較

在我觀察看來,今後x86

虛擬化技術的發展將會以硬體輔助

虛擬化技術為主,同時以全

虛擬化和半

虛擬化技術為輔。

XEN 半虛擬化 全虛擬化

半虛擬化,支援通過 http ftp nfs 方式進行安裝。全虛擬化,支援通過 iso檔案 光碟機 網路pxe 安裝。半虛擬化的意思是需要修改被虛擬系統的核心,以實現系統能被完美的虛擬在xen上面。完全虛擬化則是不需要修改系統核心則可以直接執行在xen上面。pv vs.fv pv para vrit...

半虛擬化和全虛擬化的區別

1.全虛擬化比半虛擬化技術先出來 2.全虛擬化,客戶機認為自己執行在硬體之上,優點 不需對客戶機作業系統進行修改 缺點 消耗資源大 3.半虛擬化,客戶機知道自己是執行在虛擬機器上,缺點 需要對客戶機作業系統進行修改,所以對不能修改的系統 windows系統 不支援 優點 消耗資源小效能好,4.隨著,...

半虛擬化概念簡單介紹

半虛擬化 用軟體介面來代替實際的硬體的功能。比如,半虛擬化提供一組虛擬化呼叫,當在虛擬作業系統中的程序需要使用系統呼叫時,這個時候程序就會向虛擬機器管理程式請求這組虛擬化的呼叫,來達到類似於系統呼叫的效果。半虛擬化的缺點 安裝在半虛擬化的環境中的作業系統需要了解虛擬機器的api,實際執行的時候,需要...