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