虛擬化技術
由於採用技術的不同,系統虛擬化不僅僅包括全虛擬化、半虛擬化和硬體輔助虛擬化。
完整來看,可以將系統虛擬化分為五大類:
硬體模擬(Emulation)
簡介:屬於Hosted模式,在物理機的作業系統上建立一個模擬硬體的程式(Hardware VM)來模擬所想要的硬體,並在此程式上跑虛擬機器,而且虛擬機器內部的客戶作業系統(Guest OS)無需修改。知名的產品有Bochs,QEMU和微軟的Virtual PC(它還使用少量的全虛擬化技術)
· 優點:Guest OS無需修改,而且非常適合用於作業系統開發,也利於進行韌體和硬體的協作開發。韌體開發人員可以使用目標硬體 VM 在模擬環境中對自己的實際程式碼進行驗證,而不需要等到硬體實際可用的時候。
· 缺點:速度非常慢,有時速度比物理情況慢100倍以上。
· 未來:因為速度的問題,漸趨頹勢,但是還應該有一席之地。
全虛擬化(Full Virtulization)
簡介:主要是在客戶作業系統和硬體之間捕捉和處理那些對敏感的特權指令,使客戶作業系統無需修改就能執行,速度會根據不同的實現而不同,但大致能滿足使用者的需求。這種方式是業界現今最成熟和最常見的,而且屬於 Hosted 模式和 Hypervisor 模式的都有,知名的產品有CP/CMS,VirtualBox,KVM,VMware Workstation和VMware ESX(它在其4.0版,被改名為VMware vSphere)。
· 優點: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歸屬於半虛擬化。
· 優點:這種模式和全虛擬化相比,架構更精簡,而且在整體速度上有一定的優勢。
· 缺點:需要對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等。
· 優點:因為它是對作業系統進行直接的修改,所以實現成本低而且效能不錯。
· 缺點:在資源隔離方面表現不佳,而且對Guest OS的型號和版本有限定。
· 未來:不明朗,我覺得除非有革命性技術誕生,否則還應該屬於小眾,比如VPS。
五大類之間比較
根據個人的經驗,我在效能,使用者體驗和使用場景這三方面對這五大類進行了比較,具體請看下圖:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18796236/viewspace-1840153/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 虛擬化四、KVM虛擬化技術
- 虛擬化技術(-)
- KVM 虛擬化技術
- Docker技術( 容器虛擬化技術 )Docker
- 什麼是虛擬化技術,為什麼要虛擬化技術?薦
- 虛擬化技術概述(一)
- 初識虛擬化技術
- 淺談GPU虛擬化技術(四)-GPU分片虛擬化GPU
- 淺談GPU虛擬化技術(四)- GPU分片虛擬化GPU
- 網路虛擬化技術棧
- 淺談GPU虛擬化技術:GPU圖形渲染虛擬化GPU
- 虛擬化技術之kvm基礎
- 虛擬化技術(=)難點介紹
- 後端技術雜談6:白話虛擬化技術後端
- 伺服器虛擬化技術深度科普伺服器
- 虛擬化技術對比:Xen vs KVM
- 虛擬化中的連結克隆技術
- 虛擬化技術之kvm虛擬機器建立工具qemu-kvm虛擬機
- win10虛擬化技術怎麼開啟_win10系統cpu虛擬化技術如何開啟Win10
- 虛擬現實技術
- 虛擬技術與雲
- 虛擬化技術之kvm虛擬機器建立工具virt-install虛擬機
- NFV關鍵技術:儲存虛擬化概述
- 伺服器虛擬化技術的優點伺服器
- 融合通訊虛擬化技術的優勢
- 在Linux中,什麼是虛擬化?並且列出常見的虛擬化技術。Linux
- 在Centos6.5上部署kvm虛擬化技術CentOS
- 雲端計算與虛擬化結合技術分析
- 虛擬化技術的發展歷程簡述
- 網路虛擬化技術與應用場景
- 虛擬化技術在智慧終端的應用
- 虛擬化不僅僅只是一種技術?薦
- 虛擬化應用才是技術發展的根本
- Red Hat虛擬化技術Xen訊息透露(轉)
- 虛擬蜜罐:從資訊模擬到實現虛擬蜜罐技術
- 虛擬化技術之kvm WEB管理工具kimchiWeb
- 硬核虛擬化技術 SR-IOV的原理及探索
- 桌面虛擬化技術能否為BYOD安全掃清障礙