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