淺析虛擬化的兩種實(shí)施方式 |
發(fā)布時(shí)間: 2012/9/8 18:56:22 |
淺析虛擬化的兩種實(shí)施方式從技術(shù)上看,硬件輔助虛擬化通過(guò)提高客戶虛擬系統(tǒng)的隔離性而增強(qiáng)了虛擬化的性能、靈活性和可靠性。在實(shí)施時(shí)也更加簡(jiǎn)單。 虛擬化技術(shù)最早在大型主機(jī)上采用,隨著技術(shù)的發(fā)展和競(jìng)爭(zhēng)的加劇,IBM、HP、Sun后來(lái)紛紛將其下移,逐漸將其引入到高端RISC服務(wù)器系統(tǒng)中。 隨著X86處理器性能的提高和應(yīng)用的普及,業(yè)界很多公司都看到了虛擬化在X86平臺(tái)上實(shí)施的價(jià)值,因此VMware、Xen、微軟和SWsoft等軟件廠商紛紛推出了支持X86平臺(tái)的虛擬化軟件。 這些軟件虛擬化產(chǎn)品基本的思路是在操作系統(tǒng)與硬件層之間或者操作系統(tǒng)之上建立一層獨(dú)立控制、分配硬件資源的軟件層來(lái)達(dá)到虛擬化系統(tǒng)資源的目的。 不過(guò),不同的虛擬化產(chǎn)品其實(shí)現(xiàn)模式也有很大的不同,通過(guò)介于底層硬件和操作系統(tǒng)之間的軟件層實(shí)現(xiàn)虛擬化功能的代表為VMware和Xen的產(chǎn)品,而SWsoft的產(chǎn)品則是在特定的操作系統(tǒng)之上“虛擬”出多個(gè)系統(tǒng)資源副本(SWsoft有支持Windows和Linux的版本),其好處是沒有對(duì)系統(tǒng)軟件的修改,對(duì)系統(tǒng)性能的影響較小,但由于實(shí)現(xiàn)虛擬化的層級(jí)不夠“低”,靈活性不如前者,如VMware的產(chǎn)品可以在Linux系統(tǒng)基礎(chǔ)上虛擬化出Windows的應(yīng)用環(huán)境。 對(duì)于X86處理器來(lái)說(shuō),其保護(hù)模式下一共有4個(gè)不同優(yōu)先級(jí),稱為Ring,命名從Ring0直到Ring3.這些Ring的優(yōu)先級(jí)隨其所執(zhí)行的功能的不同也有所不同。其中Ring0用于操作系統(tǒng)內(nèi)核,優(yōu)先級(jí)最高,擁有最高的“特權(quán)”,Ring1和Ring2用于操作系統(tǒng)服務(wù),優(yōu)先級(jí)次之,Ring3用于應(yīng)用程序,優(yōu)先級(jí)最低。 軟件虛擬化技術(shù)工作原理位于Ring0特權(quán)空間的操作系統(tǒng)可以優(yōu)先訪問(wèn)各種硬件資源。傳統(tǒng)的軟件虛擬化技術(shù)是在Ring0中運(yùn)行一個(gè)稱為虛擬機(jī)監(jiān)視器(VMM)的軟件中間層,以負(fù)責(zé)控制和排列各個(gè)分區(qū)訪問(wèn)硬件資源的優(yōu)先順序。它要求在軟件堆棧的較高層運(yùn)行操作系統(tǒng)─―通常是在Ring1或者與系統(tǒng)應(yīng)用共用的Ring3.由于操作系統(tǒng)設(shè)計(jì)缺省工作在Ring0特權(quán)級(jí)別,而現(xiàn)在Ring0被虛擬機(jī)監(jiān)視器(VMM)所擁有,所以傳統(tǒng)的純軟件虛擬化技術(shù)需要虛擬機(jī)監(jiān)視器(VMM)通過(guò)復(fù)雜的軟件編程來(lái)解決這個(gè)矛盾。 其中一種方法是通過(guò)打補(bǔ)丁修改操作系統(tǒng)內(nèi)核源代碼讓其認(rèn)知到工作在Guest OS虛擬操作系統(tǒng)模式下,另一種方法是需要對(duì)運(yùn)行期間操作系統(tǒng)的某些硬件調(diào)用指令作二進(jìn)制碼翻譯等。由于上述原因,傳統(tǒng)的純軟件實(shí)現(xiàn)方式在測(cè)試、驗(yàn)證和維護(hù)每款新操作系統(tǒng)和相關(guān)補(bǔ)丁方面,付出了大量的時(shí)間和資金,同時(shí)二進(jìn)制碼翻譯需要消耗處理器的很多計(jì)算資源。 英特爾VT技術(shù)工作原理純軟件虛擬化運(yùn)行時(shí)的開銷會(huì)造成系統(tǒng)運(yùn)行速度較慢,有數(shù)據(jù)表明其引起的系統(tǒng)性能下降可能超過(guò)10%,尤其是在服務(wù)器整合領(lǐng)域,當(dāng)虛擬化系統(tǒng)數(shù)目巨大時(shí),其性能損失更為可觀。另外由于要通過(guò)軟件捕獲分配基本資源的處理器指令,不但過(guò)程復(fù)雜,可靠性不高,對(duì)不同平臺(tái)的兼容性也容易產(chǎn)生問(wèn)題。 這也是硬件輔助虛擬化技術(shù)誕生的重要原因。與軟件方案相比,VT技術(shù)對(duì)如何在不同的情形下分配給GuestOS(虛擬機(jī)上的操作系統(tǒng))想要的Ring特權(quán)級(jí)別做了重要的改進(jìn),在軟件堆棧中為虛擬機(jī)監(jiān)視器(VMM)提供了專用的空間,可以支持未經(jīng)修改的操作系統(tǒng)和應(yīng)用在專門為它們?cè)O(shè)計(jì)的環(huán)境中運(yùn)行,從而簡(jiǎn)化了硬件調(diào)用。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |