虛擬化技術分類有哪些?虛擬化技術并不是一項新技術。從IBM大型計算機的虛擬化到現在EMC可應用于桌面機的VMware系列,單機虛擬化技術已經經歷了半個世紀的發展。這些計算機虛擬化技術從它們與物理硬件及操作系統的耦合程度來講大致可以分為4類,即全虛擬化、半虛擬化、操作系統級虛擬化,以及CPU虛擬化。
1)全虛擬化全虛擬化(Full Virtualization)通過完全的系統仿真來建立整個虛擬機,不對操作系統做任何修改。該方法中虛擬機管理器(VMM)是整個系統的核心,它運行在硬件平臺之上,用戶操作系統之下,承擔了資源的調度、分配和管理的作用,在客戶操作系統和物理硬件之間進行工作協調,保證多個虛擬機能夠相互隔離的同時能夠運行多個客戶操作系統。
全虛擬化較大的優點是操作系統沒有經過任何修改。它的唯一限制是操作系統必須能夠支持底層硬件(如Intel、AMD)。VMware和微軟的Virtual PC是代表該方法的兩個商用產品。
2)半虛擬化
半虛擬化(Para-virtualization)使用虛擬機管理器(VMM)分享存取底層的硬件,但是它的客戶操作系統集成了虛擬化方面的代碼,使得操作系統自身能夠與虛擬進程進行很好的協作。
半虛擬化提供了與原始系統相近的性能但需要對客戶操作系統做一些修改(配合VMM)。Xen是半虛擬化技術的一個典型例子,而且Xen還有一個較大的優勢就是它是開源的。
3)操作系統級虛擬化
操作系統級虛擬化(Operating System-level Virtualization)在操作系統之上虛擬多個服務器,支持在單個操作系統上簡單隔離每一個虛擬服務器。操作系統級的虛擬化需要修改操作系統內核而無須VMM的存在。SUN的Solaris Container是這方面的一個例子。
4)CPU虛擬化
純軟件虛擬化解決方案存在很多限制。除了會增加系統的復雜性之外,客戶操作系統的支持也受到虛擬機環境的能力限制。而CPU的虛擬化技術是一種硬件方案,支持虛擬技術的CPU帶有特別優化過的指令集來控制虛擬過程,通過這些指令集,VMM可以很容易地提高性能,相比軟件的虛擬實現方式會在很大程度上提高性能。這方面的代表是Intel的Intel Virtualization Technology和AMD的Pacific虛擬化技術。