云資源管理與虛擬化技術(shù) 第10章 虛擬化 主流技術(shù)_第1頁
云資源管理與虛擬化技術(shù) 第10章 虛擬化 主流技術(shù)_第2頁
云資源管理與虛擬化技術(shù) 第10章 虛擬化 主流技術(shù)_第3頁
云資源管理與虛擬化技術(shù) 第10章 虛擬化 主流技術(shù)_第4頁
云資源管理與虛擬化技術(shù) 第10章 虛擬化 主流技術(shù)_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

主流虛擬化技術(shù)主要內(nèi)容1服務(wù)器虛擬化2存儲(chǔ)虛擬化3網(wǎng)絡(luò)虛擬化4主流虛擬化技術(shù)一、服務(wù)器虛擬化(一)服務(wù)器虛擬化基本概念1.基本概念

服務(wù)器虛擬化(ServerVirtualization)就是將虛擬化技術(shù)應(yīng)用于服務(wù)器,將一臺(tái)服務(wù)器虛擬成若干虛擬服務(wù)器,在該服務(wù)器上可以支持多個(gè)操作系統(tǒng)同時(shí)運(yùn)行??梢院唵蔚乩斫鉃閷⑽锢頇C(jī)、操作系統(tǒng)及其應(yīng)用程序“打包”成一個(gè)文件,稱之為虛擬機(jī)。

服務(wù)器虛擬技術(shù)為虛擬化了的服務(wù)器提供能夠支持其運(yùn)行的軟硬件資源抽象,包括虛擬BIOS、虛擬處理器、虛擬內(nèi)存、虛擬設(shè)備與I/O,并可為虛擬機(jī)提供良好的隔離性和安全性。一、服務(wù)器虛擬化(一)服務(wù)器虛擬化基本概念2.舉例如圖所示,在采用服務(wù)器虛擬化之前,三種不同的操作系統(tǒng)及應(yīng)用分別運(yùn)行在三臺(tái)獨(dú)立的物理服務(wù)器上。在采用服務(wù)器虛擬化之后,這三種操作系統(tǒng)及應(yīng)用運(yùn)行在三個(gè)獨(dú)立的虛擬服務(wù)器上,而這三個(gè)虛擬服務(wù)器可以被一臺(tái)物理服務(wù)器托管,服務(wù)器虛擬化實(shí)現(xiàn)了在單一物理服務(wù)器上運(yùn)行多個(gè)虛擬服務(wù)器。一、服務(wù)器虛擬化(一)服務(wù)器虛擬化基本概念3.主流服務(wù)器虛擬化產(chǎn)品(1)VMware公司的VMwareServer、VMwareESX/ESXiServer、VMwareWorkstation和VMwarePlayer。(2)Microsoft公司的Hyper-V、VirtualPC和VirtualServer。(3)IBM公司的PowerVM、zVM。(4)Citrix公司的XenServer。(5)華為公司的FusionSphere。(6)開源虛擬化軟件Docker、KVM、Xen等。一、服務(wù)器虛擬化(二)體系架構(gòu)1.宿主模型(OS-HostedVMM)

在宿主模型中,物理資源由宿主機(jī)操作系統(tǒng)管理。宿主機(jī)操作系統(tǒng)是傳統(tǒng)的操作系統(tǒng),如Windows、Linux等,這些傳統(tǒng)操作系統(tǒng)并不是為虛擬化而設(shè)計(jì)的,因此本身并不具備虛擬化功能,所有的虛擬化功能都由VMM來提供。VMM通常是宿主機(jī)操作系統(tǒng)獨(dú)立的內(nèi)核模塊,有些實(shí)現(xiàn)中還包括用戶態(tài)進(jìn)程,如負(fù)責(zé)I/O虛擬化的用戶態(tài)設(shè)備模型。VMM通過調(diào)用宿主機(jī)操作系統(tǒng)的服務(wù)來獲得資源,實(shí)現(xiàn)處理器、內(nèi)存和I/O設(shè)備的虛擬化。VMM創(chuàng)建出虛擬機(jī)之后,通常將虛擬機(jī)作為宿主機(jī)操作系統(tǒng)的一個(gè)進(jìn)程參與調(diào)度。一、服務(wù)器虛擬化(二)體系架構(gòu)宿主模型架構(gòu)示意圖一、服務(wù)器虛擬化(二)體系架構(gòu)1.宿主模型(OS-HostedVMM)

宿主模型優(yōu)點(diǎn):

宿主模型優(yōu)點(diǎn)是可以充分利用現(xiàn)有操作系統(tǒng)的設(shè)備驅(qū)動(dòng)程序,VMM無須為各類I/O設(shè)備重新實(shí)現(xiàn)驅(qū)動(dòng)程序,可以專注于物理資源的虛擬化??紤]到I/O設(shè)備種類繁多、千變?nèi)f化,I/O設(shè)備驅(qū)動(dòng)程序開發(fā)的工作量很大,因此,這個(gè)功能意義重大。此外,宿主模型也可以利用宿主機(jī)操作系統(tǒng)的其他功能,例如調(diào)度和電源管理等,這些都不需要VMM重新實(shí)現(xiàn)就可以直接使用。一、服務(wù)器虛擬化(二)體系架構(gòu)1.宿主模型(OS-HostedVMM)

宿主模型缺點(diǎn):

由于物理資源由宿主機(jī)操作系統(tǒng)控制,VMM需要調(diào)用宿主機(jī)操作系統(tǒng)的服務(wù)來獲取資源進(jìn)行虛擬化,而那些系統(tǒng)服務(wù)在設(shè)計(jì)開發(fā)之初并沒有考慮虛擬化的支持,因此,VMM虛擬化的效率和功能會(huì)受到一定的影響。此外,在安全方面,由于VMM是宿主機(jī)操作系統(tǒng)內(nèi)核的一部分,因此,如果宿主機(jī)操作系統(tǒng)內(nèi)核是不安全的,那么VMM也是不安全的,相應(yīng)的運(yùn)行在虛擬機(jī)之上的客戶操作系統(tǒng)也是不安全的,相對較容易攻破。換言之,虛擬機(jī)的安全不僅依賴VMM的安全,也依賴宿主機(jī)操作系統(tǒng)的安全,與現(xiàn)有的操作系統(tǒng)架構(gòu)相比,宿主模型在架構(gòu)上并沒有提高安全性。一、服務(wù)器虛擬化(二)體系架構(gòu)2.原生架構(gòu)模型(HypervisorVMM)

在原生架構(gòu)模型(HypervisorVMM)中,VMM首先可以被看作是一個(gè)完備的操作系統(tǒng),與傳統(tǒng)操作系統(tǒng)不同的是,VMM是為虛擬化而設(shè)計(jì)的,因此其本身就具備虛擬化功能。從架構(gòu)上來看,首先所有的物理資源如處理器、內(nèi)存和I/O設(shè)備等都?xì)w于VMM所有,因此,VMM承擔(dān)著管理物理資源的責(zé)任;其次,VMM需要向上提供虛擬機(jī)用于運(yùn)行客戶機(jī)操作系統(tǒng),因此,VMM還負(fù)責(zé)虛擬環(huán)境的創(chuàng)建和管理。一、服務(wù)器虛擬化(二)體系架構(gòu)原生架構(gòu)模型示意圖一、服務(wù)器虛擬化(二)體系架構(gòu)2.原生架構(gòu)模型

原生架構(gòu)模型優(yōu)點(diǎn):

在Hypervisor模型中,由于VMM同時(shí)具備物理資源的管理功能和虛擬化功能,因此,物理資源虛擬化的效率會(huì)更高一些。在安全方面,虛擬機(jī)的安全只依賴于VMM的安全,不像宿主模型,需要同時(shí)依賴于VMM和宿主機(jī)操作系統(tǒng)的安全。一、服務(wù)器虛擬化(二)體系架構(gòu)2.原生架構(gòu)模型

原生架構(gòu)模型缺點(diǎn):

由于VMM完全擁有物理資源,因此,VMM需要進(jìn)行物理資源的管理,包括設(shè)備的驅(qū)動(dòng)。而設(shè)備驅(qū)動(dòng)的開發(fā)工作量是巨大的,因此,這對于Hypervisor模型來說是個(gè)很大的挑戰(zhàn)。一、服務(wù)器虛擬化(二)體系架構(gòu)3.混合模型(HybridVMM)

混合模型(HybridVMM)是上述兩種模式的混合體。VMM依然位于最底層,擁有所有的物理資源,包括處理器、內(nèi)存和I/O設(shè)備等。與Hypervisor模型不同的是,VMM會(huì)騰讓出大部分I/O設(shè)備的控制權(quán),將它們交由一個(gè)運(yùn)行在特權(quán)虛擬機(jī)中的特權(quán)操作系統(tǒng)來控制,相應(yīng)的,VMM虛擬化的職責(zé)也會(huì)被分擔(dān)。處理器、內(nèi)存虛擬化依然由VMM來完成,I/O設(shè)備虛擬化則由VMM和特權(quán)操作系統(tǒng)共同來完成。一、服務(wù)器虛擬化(二)體系架構(gòu)混合模型架構(gòu)示意圖一、服務(wù)器虛擬化(二)體系架構(gòu)3.混合模型(HybridVMM)

混合模型優(yōu)點(diǎn):

混合模型集中了上述兩種模型的優(yōu)點(diǎn),VMM可以利用現(xiàn)有操作系統(tǒng)的I/O設(shè)備驅(qū)動(dòng)程序,不需要另外開發(fā)。VMM直接控制處理器、內(nèi)存等物理資源。虛擬化的效率也比較高。在安全方面,如果對特權(quán)操作系統(tǒng)的權(quán)限控制得當(dāng),虛擬機(jī)的安全性只依賴于VMM。一、服務(wù)器虛擬化(二)體系架構(gòu)3.混合模型(HybridVMM)

混合模型缺點(diǎn):

由于特權(quán)操作系統(tǒng)運(yùn)行在虛擬機(jī)上,當(dāng)特權(quán)操作系統(tǒng)提供服務(wù)時(shí),VMM需要切換到特權(quán)操作系統(tǒng),這就造成切換的開銷。當(dāng)切換比較頻繁時(shí),切換的開銷將使得系統(tǒng)性能明顯下降。處于性能方面的考慮,很多功能還是要在VMM中實(shí)現(xiàn),無法借助特權(quán)操作系統(tǒng),如調(diào)度程序和電源管理等。一、服務(wù)器虛擬化(三)關(guān)鍵特性1.多實(shí)例

通過服務(wù)器虛擬化,在一臺(tái)物理服務(wù)器上運(yùn)行多個(gè)虛擬服務(wù)器,即可以支持多個(gè)客戶操作系統(tǒng)。服務(wù)器虛擬化將服務(wù)器的邏輯整合到虛擬機(jī)中,而物理系統(tǒng)的資源,如處理器、內(nèi)存、硬盤和網(wǎng)絡(luò)等,是以可控方式分配給虛擬機(jī)的。一、服務(wù)器虛擬化(三)關(guān)鍵特性2.隔離性

雖然虛擬機(jī)可以共享一臺(tái)物理服務(wù)器的物理資源,但它們彼此之間仍然是完全隔離的,就像它們是不同的物理服務(wù)器一樣。例如,在一臺(tái)物理服務(wù)器上有四個(gè)虛擬機(jī),如果其中一個(gè)虛擬機(jī)宕機(jī),不會(huì)影響到其他三個(gè)虛擬機(jī),其余虛擬機(jī)仍然正常運(yùn)行。正是由于這種隔離性,虛擬環(huán)境中運(yùn)行的應(yīng)用程序的可用性和安全性遠(yuǎn)優(yōu)于在傳統(tǒng)的非虛擬化系統(tǒng)中運(yùn)行的應(yīng)用程序。一、服務(wù)器虛擬化(三)關(guān)鍵特性3.封裝性

虛擬機(jī)實(shí)質(zhì)上是一個(gè)軟件容器,它將一整套虛擬硬件資源與操作系統(tǒng)及其所有應(yīng)用程序捆綁或“封裝”在一個(gè)軟件包內(nèi)。這樣的軟件包非常便于在不同的硬件間備份、移動(dòng)和復(fù)制等,就像移動(dòng)和復(fù)制任何其他軟件文件一樣。同時(shí),服務(wù)器虛擬化將物理機(jī)的硬件封裝為標(biāo)準(zhǔn)的虛擬硬件設(shè)備,提供給虛擬機(jī)內(nèi)的操作系統(tǒng)和應(yīng)用程序,保證了虛擬機(jī)的兼容性。一、服務(wù)器虛擬化(三)關(guān)鍵特性4.高性能

與直接在物理機(jī)上運(yùn)行的系統(tǒng)比,虛擬機(jī)與硬件之間多了一層虛擬化抽象層。虛擬化抽象層通過虛擬機(jī)監(jiān)視器或者虛擬化平臺(tái)來實(shí)現(xiàn),就會(huì)產(chǎn)生一定的開銷,這些開銷即為服務(wù)器性能開銷。服務(wù)器虛擬化的高性能是指虛擬機(jī)監(jiān)視器的開銷要被控制在可承受的范圍之內(nèi)。一、服務(wù)器虛擬化(三)關(guān)鍵特性5.獨(dú)立于硬件

虛擬機(jī)完全獨(dú)立于其底層物理硬件。例如,用戶可以為虛擬機(jī)配置與底層存在的物理硬件完全不同的虛擬組件(例如CPU、網(wǎng)卡、SCSI控制器等)。同一物理服務(wù)器上的不同虛擬機(jī)可以運(yùn)行不同類型的操作系統(tǒng)(例如Windows、Linux等)和應(yīng)用程序。由于虛擬機(jī)獨(dú)立于硬件,再加上它具備封裝特性,因此可以在不同類型的x86計(jì)算機(jī)之間自由地移動(dòng)它,而無需對設(shè)備驅(qū)動(dòng)程序、操作系統(tǒng)或應(yīng)用程序進(jìn)行任何更改。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化CPU虛擬化是指將單個(gè)物理CPU虛擬成多個(gè)虛擬CPU供虛擬機(jī)使用,由VMM為虛擬CPU分配時(shí)間片,并同時(shí)對虛擬CPU的狀態(tài)進(jìn)行管理。在x86體系CPU指令集中,CPU有4個(gè)特權(quán)級(ring0—ring3)。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化

其中,第0級具有最高的特權(quán),用于運(yùn)行操作系統(tǒng);第3級具有最低的特權(quán),用于運(yùn)行用戶程序;第1級和第2級很少使用。在對x86服務(wù)器實(shí)施虛擬化時(shí),VMM通常需要最高的特權(quán)級,從而占據(jù)第0級;而虛擬機(jī)中安裝的客戶操作系統(tǒng)(GuestOS)只能運(yùn)行在更低的特權(quán)級中,因此不能執(zhí)行那些只能在第0級執(zhí)行的特權(quán)指令。

為了解決這一問題,在實(shí)施服務(wù)器虛擬化時(shí),必須要對相關(guān)CPU特權(quán)指令的執(zhí)行進(jìn)行虛擬化處理,消除虛擬化對客戶操作系統(tǒng)運(yùn)行造成的影響。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化CPU特權(quán)指令的虛擬化有模擬執(zhí)行和操作系統(tǒng)輔助兩種方法,而隨著CPU硬件對虛擬化技術(shù)的支持,基于硬件輔助的虛擬化技術(shù)已經(jīng)成為當(dāng)前CPU虛擬化技術(shù)的主流。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(1)基于模擬執(zhí)行的CPU虛擬化技術(shù)

基于模擬執(zhí)行的CPU虛擬化技術(shù),在客戶操作系統(tǒng)的運(yùn)行過程中,當(dāng)它需要執(zhí)行在第0級的特權(quán)指令時(shí),會(huì)陷入運(yùn)行在第0級的VMM中。VMM捕捉到這一指令后,會(huì)將相應(yīng)的指令的執(zhí)行過程用本地物理CPU指令集中的指令進(jìn)行模擬,并將執(zhí)行結(jié)果返回給客戶操作系統(tǒng),從而實(shí)現(xiàn)客戶操作系統(tǒng)在非第0級環(huán)境下對特權(quán)指令的執(zhí)行。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(1)基于模擬執(zhí)行的CPU虛擬化技術(shù)基于模擬執(zhí)行的CPU指令集一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(1)基于模擬執(zhí)行的CPU虛擬化技術(shù)CPU特權(quán)執(zhí)行的模擬執(zhí)行方法有許多種,不同的方法具有不同的資源開銷、實(shí)現(xiàn)性能及可移植性,典型的方法就是解釋執(zhí)行和二進(jìn)制翻譯。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(1)基于模擬執(zhí)行的CPU虛擬化技術(shù)解釋執(zhí)行的過程,首先獲得一條源指令,并對其所需的各個(gè)操作內(nèi)容進(jìn)行分析,然后執(zhí)行相應(yīng)的操作,待執(zhí)行完成后,再取得下一條源指令,并按照前面的過程執(zhí)行,這些步驟完全由軟件完成。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(1)基于模擬執(zhí)行的CPU虛擬化技術(shù)二進(jìn)制翻譯執(zhí)行,是將一段源指令直接翻譯成被執(zhí)行的目標(biāo)指令并保存,供計(jì)算機(jī)重復(fù)使用,而不需要在執(zhí)行過程中反復(fù)讀取指令和分析指令等過程。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(1)基于模擬執(zhí)行的CPU虛擬化技術(shù)解釋執(zhí)行與二進(jìn)制翻譯執(zhí)行兩種方法比較,二進(jìn)制翻譯在初始指令翻譯時(shí)需要較高的資源開銷,但是在執(zhí)行過程中開銷較小。具體這兩種方法哪種更好,則要根據(jù)實(shí)際指令的執(zhí)行情況來分析,如果一個(gè)程序某一指令段被多次執(zhí)行,那么二進(jìn)制翻譯將具有更高的性能。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(2)基于操作系統(tǒng)輔助的CPU虛擬化技術(shù)基于操作系統(tǒng)輔助的CPU虛擬化,不需要在程序運(yùn)行過程中陷入VMM進(jìn)行相關(guān)的處理和操作,它直接對客戶操作系統(tǒng)進(jìn)行修改,將其與特權(quán)指令執(zhí)行相關(guān)的操作調(diào)用以Hypercall(超級調(diào)用)的形式改寫。Hypercall類似于系統(tǒng)調(diào)用,但它不是針對操作系統(tǒng)進(jìn)行操作的,而是直接和VMM通信,并在管理下執(zhí)行特權(quán)指令。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(2)基于操作系統(tǒng)輔助的CPU虛擬化技術(shù)基于操作系統(tǒng)輔助的CPU指令集一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(2)基于操作系統(tǒng)輔助的CPU虛擬化技術(shù)

基于模擬執(zhí)行的CPU虛擬化為客戶操作系統(tǒng)的運(yùn)行提供了與物理CPU完全一致的硬件環(huán)境,是完全虛擬化。而操作系統(tǒng)輔助的CPU虛擬化則不同,它提供了與真實(shí)的物理設(shè)備有一定差異的CPU指令集接口,然后通過改寫客戶操作系統(tǒng)調(diào)用該接口,使客戶操作系統(tǒng)的相關(guān)操作都可以在底層硬件上直接實(shí)現(xiàn),而無須額外的VMM模擬執(zhí)行。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(2)基于操作系統(tǒng)輔助的CPU虛擬化技術(shù)基于操作系統(tǒng)輔助的CPU虛擬化技術(shù),最大優(yōu)勢是能夠有效地使客戶操作系統(tǒng)的運(yùn)行獲得與其在本地物理CPU上直接執(zhí)行相近的性能。但是,基于操作系統(tǒng)輔助的CPU虛擬化存在的最大問題在于它需要對客戶操作系統(tǒng)進(jìn)行改動(dòng),這使它只能對開源的操作系統(tǒng)提供支持,而無法支持非開源的操作系統(tǒng)。另外,修改開源的客戶操作系統(tǒng),將是一項(xiàng)耗費(fèi)人力、物力并且存在一定安全性和可靠性風(fēng)險(xiǎn)的事情,而且修改后的操作系統(tǒng)將只能與特定的VMM綁定,兼容性和可移植性差。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(3)基于硬件輔助的CPU虛擬化技術(shù)Intel/AMD等硬件廠商通過對部分虛擬化使用到的軟件技術(shù)進(jìn)行硬件化來提高系統(tǒng)性能。第一代的虛擬化增強(qiáng)包括IntelVirtualizationTechnology(VT-x)和AMD的AMD-V,這兩種技術(shù)都為CPU增加了一種新的執(zhí)行模式:root模式,可以讓VMM運(yùn)行在root模式下,而root模式位于Ring0的下面。一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(3)基于硬件輔助的CPU虛擬化技術(shù)基于硬件輔助的CPU指令集一、服務(wù)器虛擬化(四)核心技術(shù)1.CPU虛擬化(3)基于硬件輔助的CPU虛擬化技術(shù)特權(quán)和敏感指令自動(dòng)在VMM上執(zhí)行,無須特權(quán)指令翻譯或操作系統(tǒng)輔助技術(shù)??蛻舨僮飨到y(tǒng)的狀態(tài)保存在VT-x(VirtualMachineControlStructure,虛擬機(jī)控制結(jié)構(gòu))中或AMD-v(VirtualMachineControlBlock,虛擬機(jī)控制塊)中。支持IntelVT和AMD-V的CPU從2006年開始推向市場,因此只有新的系統(tǒng)包含了這些硬件輔助的虛擬化功能。一、服務(wù)器虛擬化(四)核心技術(shù)2.內(nèi)存虛擬化內(nèi)存虛擬化技術(shù)把物理機(jī)的真實(shí)物理內(nèi)存統(tǒng)一管理,包裝成多個(gè)虛擬的物理內(nèi)存分別供若干個(gè)虛擬機(jī)使用,使得每個(gè)虛擬機(jī)擁有各自獨(dú)立的內(nèi)存空間。在服務(wù)器虛擬化技術(shù)中,因?yàn)閮?nèi)存是虛擬機(jī)最頻繁訪問的設(shè)備,因此內(nèi)存虛擬化與CPU虛擬化具有同等重要的地位。一、服務(wù)器虛擬化(四)核心技術(shù)2.內(nèi)存虛擬化內(nèi)存虛擬化類似于操作系統(tǒng)提供的虛擬內(nèi)存支持。在傳統(tǒng)的執(zhí)行環(huán)境中,操作系統(tǒng)使用頁表維護(hù)從虛擬內(nèi)存到機(jī)器內(nèi)存的映射,這時(shí),從虛擬內(nèi)存到機(jī)器內(nèi)存只需經(jīng)過一次映射即可。所有現(xiàn)代x86處理器中都包括內(nèi)存管理單元(MemoryManagementUnit,MMU)和轉(zhuǎn)換后備緩沖器(TranslationLookasideBuffer,TLB)來優(yōu)化虛擬內(nèi)存系統(tǒng)的性能。然而,在虛擬執(zhí)行環(huán)境中,虛擬內(nèi)存的虛擬化包括共享RAM中的物理內(nèi)存并需要給虛擬機(jī)動(dòng)態(tài)分配內(nèi)存。一、服務(wù)器虛擬化(四)核心技術(shù)2.內(nèi)存虛擬化這意味著需要客戶操作系統(tǒng)和VMM分別維護(hù)從虛擬內(nèi)存到物理內(nèi)存的映射和從物理內(nèi)存到機(jī)器內(nèi)存的映射,共兩級映射??蛻舨僮飨到y(tǒng)負(fù)責(zé)從虛擬地址到虛擬機(jī)的物理內(nèi)存地址的映射,但是客戶操作系統(tǒng)并不能直接訪問實(shí)際硬件內(nèi)存,VMM負(fù)責(zé)將客戶物理內(nèi)存映射到實(shí)際的機(jī)器內(nèi)存上。一、服務(wù)器虛擬化(四)核心技術(shù)2.內(nèi)存虛擬化兩級內(nèi)存映射機(jī)制一、服務(wù)器虛擬化(四)核心技術(shù)2.內(nèi)存虛擬化由于客戶操作系統(tǒng)的每個(gè)頁表在VMM中都有一個(gè)獨(dú)立頁表與之對應(yīng),其中VMM中的頁表稱為影子頁表。嵌套的頁表在虛擬內(nèi)存系統(tǒng)中額外增加了一層映射。MMU負(fù)責(zé)由操作系統(tǒng)定義的從虛擬地址到物理地址的轉(zhuǎn)換。然后,使用由VMM定義的其他頁表將物理內(nèi)存地址轉(zhuǎn)換為機(jī)器地址。由于現(xiàn)代操作系統(tǒng)會(huì)為每個(gè)進(jìn)程維護(hù)一組頁表,影子頁表會(huì)極度膨脹。因此,性能開銷和內(nèi)存開銷也會(huì)很高。一、服務(wù)器虛擬化(四)核心技術(shù)2.內(nèi)存虛擬化由于軟件影子頁表技術(shù)的效率太低,Intel開發(fā)了基于硬件的擴(kuò)展頁表(ExtendedPageTable,EPT)技術(shù)來對之加以改進(jìn)。除此之外,Intel還提供了虛擬機(jī)ID(VirtualProcessorID,VPID)技術(shù)來改進(jìn)TLB的性能。因此,內(nèi)存虛擬化的性能得到了大幅改進(jìn),客戶操作系統(tǒng)的頁表和EPT都是四級。一、服務(wù)器虛擬化(四)核心技術(shù)2.內(nèi)存虛擬化基于硬件的擴(kuò)展頁表一、服務(wù)器虛擬化(四)核心技術(shù)2.內(nèi)存虛擬化當(dāng)一個(gè)虛擬地址需要轉(zhuǎn)換時(shí),CPU會(huì)首先查找由客戶CR3所指向的L4頁表。由于客戶CR3中的地址是客戶操作系統(tǒng)的物理地址,CPU需要使用EPT將客戶物理地址(GuestPhysicalAddress,GPA)轉(zhuǎn)換為主機(jī)物理地址(HostPhysicalAddress,HPA),在這個(gè)過程中,CPU會(huì)檢查EPT的TLB,來查看是否已有這種轉(zhuǎn)換。如果EPT的TLB中沒有所需的轉(zhuǎn)換,則CPU將會(huì)在EPT中進(jìn)行查找。如果CPU在EPT中找不到相應(yīng)的轉(zhuǎn)換項(xiàng),則會(huì)發(fā)生一個(gè)EPT違例。一、服務(wù)器虛擬化(四)核心技術(shù)2.內(nèi)存虛擬化獲得L4頁表的GPA后,CPU會(huì)使用客戶虛擬地址(GuestVirtualAddress,GVA)和L4頁表的內(nèi)容來計(jì)算L3頁表的GPA。如果L4頁表中對應(yīng)的GVA項(xiàng)是缺頁,則CPU會(huì)產(chǎn)生一個(gè)缺頁中斷并由客戶操作系統(tǒng)來處理該中斷。當(dāng)獲得L3頁表的PGA后,CPU將會(huì)查找EPT來獲得L3頁表的HPA,如前所述,為了獲得GVA對應(yīng)的HPA,CPU需要EPT5次,并且每次都需要4次訪問內(nèi)存。因此,最壞情況下會(huì)有20次內(nèi)存訪問,速度仍舊很慢。為了克服該問題,Intel擴(kuò)充了EPT的TLB容量來降低內(nèi)存的訪問次數(shù)。一、服務(wù)器虛擬化(四)核心技術(shù)3.設(shè)備與I/O虛擬化除了處理器和內(nèi)存外,服務(wù)器其他需要虛擬化的關(guān)鍵部件還包括設(shè)備與I/O。設(shè)備與I/O虛擬化技術(shù)把物理機(jī)的真實(shí)設(shè)備統(tǒng)一管理,包裝成多個(gè)虛擬設(shè)備給若干個(gè)虛擬機(jī)使用,響應(yīng)每個(gè)虛擬機(jī)的設(shè)備訪問請求和I/O請求。目前,主流的設(shè)備和I/O虛擬化實(shí)現(xiàn)方式有三種:全設(shè)備模擬、半虛擬化和直接I/O虛擬化。一、服務(wù)器虛擬化(四)核心技術(shù)3.設(shè)備與I/O虛擬化(1)全設(shè)備模擬全設(shè)備模擬是實(shí)現(xiàn)I/O虛擬化的第一種方式,通常來講,該方法可以模擬一些知名的真實(shí)設(shè)備。一個(gè)設(shè)備的所有功能或總線結(jié)構(gòu)(如設(shè)備枚舉、識(shí)別、中斷和DMA)都可以在軟件中復(fù)制。該軟件作為虛擬設(shè)備處于VMM中,客戶操作系統(tǒng)的I/O訪問請求會(huì)陷入VMM中,與I/O設(shè)備交互。一、服務(wù)器虛擬化(四)核心技術(shù)3.設(shè)備與I/O虛擬化(1)全設(shè)備模擬全設(shè)備模擬一、服務(wù)器虛擬化(四)核心技術(shù)3.設(shè)備與I/O虛擬化(2)半虛擬化單一的硬件設(shè)備可以由多個(gè)同時(shí)運(yùn)行的虛擬機(jī)共享,然而,軟件模擬的運(yùn)行速度會(huì)顯著慢于其所模擬的硬件。I/O虛擬化的半虛擬化方法是Xen所采用的方法,它也就是廣為熟知的分離式驅(qū)動(dòng)模型,由前端驅(qū)動(dòng)和后端驅(qū)動(dòng)兩部分構(gòu)成。前端驅(qū)動(dòng)運(yùn)行在DomainU中,而后端驅(qū)動(dòng)運(yùn)行在Domain0中,它們通過一塊共享內(nèi)存交互。前端驅(qū)動(dòng)管理客戶操作系統(tǒng)的I/O請求,后端驅(qū)動(dòng)負(fù)責(zé)管理真實(shí)的I/O設(shè)備并復(fù)用不同虛擬機(jī)的I/O數(shù)據(jù)。盡管與全設(shè)備模擬相比,半I/O虛擬化的方法可以獲得更好的設(shè)備性能,但其也會(huì)有更高的CPU開銷。一、服務(wù)器虛擬化(四)核心技術(shù)3.設(shè)備與I/O虛擬化(3)硬件輔助虛擬化直接I/O虛擬化讓虛擬機(jī)直接訪問設(shè)備硬件,它能獲得近乎本地的性能,并且CPU開銷不高。然而,當(dāng)前所實(shí)現(xiàn)的直接I/O虛擬化主要集中在大規(guī)模主機(jī)的網(wǎng)絡(luò)方面,對商業(yè)硬件設(shè)備仍有許多挑戰(zhàn)。例如,當(dāng)一個(gè)物理設(shè)備被回收以備后續(xù)再用時(shí),它可能被設(shè)置到了一個(gè)未知狀態(tài),可能會(huì)引起工作不正常,甚至讓整個(gè)系統(tǒng)崩潰。由于基于軟件的I/O虛擬化要求非常高的設(shè)備模擬開銷,硬件輔助的I/O虛擬化很關(guān)鍵。二、存儲(chǔ)虛擬化1.存儲(chǔ)虛擬化基本概念所謂存儲(chǔ)虛擬化是將實(shí)際物理存儲(chǔ)實(shí)體與存儲(chǔ)的邏輯表示分離開來,應(yīng)用服務(wù)器只與分配給它們的邏輯卷打交道,而不關(guān)心數(shù)據(jù)是存儲(chǔ)于哪個(gè)物理存儲(chǔ)實(shí)體上。虛擬存儲(chǔ)是介于物理存儲(chǔ)與用戶間的一個(gè)中間層,這個(gè)中間層屏蔽了實(shí)體物理存儲(chǔ)設(shè)備的物理特性,呈現(xiàn)給用戶的是邏輯存儲(chǔ)設(shè)備。用戶所看到的和所管理的存儲(chǔ)空間不是實(shí)體的物理存儲(chǔ)設(shè)備,而是通過虛擬存儲(chǔ)層映射來實(shí)現(xiàn)對實(shí)體物理存儲(chǔ)設(shè)備進(jìn)行管理和使用的。對用戶來說,虛擬化的存儲(chǔ)資源就像是一個(gè)巨大的“存儲(chǔ)池”,用戶不會(huì)看到具體的磁盤、磁帶,也不必關(guān)心自己的數(shù)據(jù)經(jīng)過哪一條路徑通往哪一個(gè)具體的存儲(chǔ)設(shè)備。二、存儲(chǔ)虛擬化2.存儲(chǔ)虛擬化的特性(1)異構(gòu)存儲(chǔ)設(shè)備整合

不同廠商、不同品牌及不同等級的存儲(chǔ)設(shè)備整合,是存儲(chǔ)虛擬化的重要特性。通過虛擬層介接不同廠商、不同品牌及不同等級的磁盤陣列,將這些異構(gòu)存儲(chǔ)設(shè)備整合在一個(gè)存儲(chǔ)池內(nèi)。存儲(chǔ)虛擬化產(chǎn)品還可以有效解決不同存儲(chǔ)協(xié)議的支持問題,使得所有存儲(chǔ)資源都可以在虛擬層介接下統(tǒng)一管理與運(yùn)行,有效提高存儲(chǔ)利用率、解決存儲(chǔ)孤島問題。二、存儲(chǔ)虛擬化2.存儲(chǔ)虛擬化的特性(2)簡化存儲(chǔ)管理

存儲(chǔ)虛擬化構(gòu)建了一體化的存儲(chǔ)管理,減少了系統(tǒng)的復(fù)雜性,降低了管理成本,易于建立多層次的存儲(chǔ)系統(tǒng),統(tǒng)一規(guī)劃存儲(chǔ)需求,節(jié)省硬件投資。二、存儲(chǔ)虛擬化2.存儲(chǔ)虛擬化的特性(3)高可靠性

存儲(chǔ)虛擬化整合了整個(gè)存儲(chǔ)資源,所有的存儲(chǔ)服務(wù)都經(jīng)由虛擬層的介接,虛擬層就成為整個(gè)存儲(chǔ)系統(tǒng)的核心,一旦虛擬層失效,整個(gè)存儲(chǔ)服務(wù)也就中斷。為避免這種情形發(fā)生,幾乎所有存儲(chǔ)虛擬化產(chǎn)品都附有高可用性機(jī)制,如以兩臺(tái)提供虛擬服務(wù)的服務(wù)器互為備援,確保虛擬服務(wù)的高可靠性與持續(xù)性。存儲(chǔ)虛擬化高可靠性還體現(xiàn)在在線數(shù)據(jù)遷移、數(shù)據(jù)鏡像管理、異構(gòu)平臺(tái)數(shù)據(jù)復(fù)制等方面。二、存儲(chǔ)虛擬化2.存儲(chǔ)虛擬化的特性(4)提高資源利用率、綠色存儲(chǔ)

由于將異構(gòu)存儲(chǔ)設(shè)備整合在一個(gè)存儲(chǔ)池內(nèi),可以有效提高現(xiàn)有存儲(chǔ)設(shè)備的使用生命周期及利用率,達(dá)到綠色存儲(chǔ)的目的。三、網(wǎng)絡(luò)虛擬化目前由于IP協(xié)議是網(wǎng)絡(luò)規(guī)劃和建設(shè)的事實(shí)標(biāo)準(zhǔn),因此,目前網(wǎng)絡(luò)虛擬化技術(shù)的研究與應(yīng)用主要集中在IP網(wǎng)絡(luò)虛擬化領(lǐng)域。IP網(wǎng)絡(luò)虛擬化的范圍從VLAN、VPN、虛擬路由器到邏輯路由器等。從技術(shù)角度,IP網(wǎng)絡(luò)虛擬化可分為網(wǎng)元虛擬化、鏈路虛擬化和互聯(lián)虛擬化等;從應(yīng)用角度,IP網(wǎng)絡(luò)虛擬化又可分為資源提供虛擬化、資源管理虛擬化和運(yùn)營維護(hù)虛擬化等。三、網(wǎng)絡(luò)虛擬化盡管IP網(wǎng)絡(luò)虛擬化的一個(gè)重要特征是軟件相對于硬件的獨(dú)立性,但該技術(shù)的迅速興起仍舊得益于硬件技術(shù)的發(fā)展,尤其是ASIC/FPGA/NP等芯片的發(fā)展。目前,網(wǎng)絡(luò)虛擬化技術(shù)已從物理隔離虛擬化方式逐步發(fā)展至共享式虛擬化,在提升網(wǎng)絡(luò)彈性、管理性和資源利用率的同時(shí),提供各種網(wǎng)絡(luò)通道服務(wù)。四、主流虛擬化技術(shù)維基百科列舉的虛擬化技術(shù)有超過60種,基于x86(CISC)體系的有50余種,也有基于RISC體系的。下面簡要介紹幾種當(dāng)前較為成熟而且應(yīng)用較為廣泛的,分別是:VMware的vSphere、Citrix的XenServer、Microsoft的Hyper-V、開源的KVM和Docker。四、主流虛擬化技術(shù)1.VMwarevSphereVMware作為業(yè)內(nèi)虛擬化領(lǐng)先的廠商,其產(chǎn)品以易用性和管理性得到了廣泛認(rèn)同。由于其架構(gòu)的影響限制,VMware還主要是在x86平臺(tái)服務(wù)器上有較大優(yōu)勢,而非真正的IT信息虛擬化。vSphere是VMware公司推出的一套服務(wù)器虛擬化解決方案,目前較新的版本為6.0,而其5.5版本是應(yīng)用較為成熟的一個(gè)版本。四、主流虛擬化技術(shù)1.VMwarevSpherevSphere5.5中的核心組件為VMwareESXi5.5(取代原ESX),ESXi與Citrix的XenServer相似,它是一款可以獨(dú)立安裝和運(yùn)行在祼機(jī)上的系統(tǒng),因此與其他以往見過的VMwareWorkstation軟件不同的是它不再依存于宿主操作系統(tǒng)之上。在ESXi安裝好以后,可以通過vSphereClient遠(yuǎn)程連接控制,在ESXi服務(wù)器上創(chuàng)建多個(gè)虛擬機(jī)(VM),再為這些虛擬機(jī)安裝好Linux/WindowsServer系統(tǒng),使之成為能提供各種網(wǎng)絡(luò)應(yīng)用服務(wù)的虛擬服務(wù)器。ESXi可以從內(nèi)核級支持硬件虛擬化,運(yùn)行于其中的虛擬服務(wù)器在性能與穩(wěn)定性上不亞于普通的硬件服務(wù)器,而且更易于管理與維護(hù)。四、主流虛擬化技術(shù)1.VMwarevSphereVMwareESXi體系結(jié)構(gòu)圖四、主流虛擬化技術(shù)2.CitrixXenXen是一個(gè)開放源代碼的虛擬機(jī)監(jiān)視器,由劍橋大學(xué)開發(fā)。它可以在單臺(tái)服務(wù)器上運(yùn)行多達(dá)100個(gè)滿特征的操作系統(tǒng)。操作系統(tǒng)必須進(jìn)行顯式地修改(“移植”)以在Xen上運(yùn)行(但是提供對用戶應(yīng)用的兼容性)。這使得Xen無需特殊硬件支持,就能達(dá)到高性能的虛擬化。四、主流虛擬化技術(shù)2.CitrixXenXen通過一種叫作準(zhǔn)虛擬化的技術(shù)獲得高性能,甚至在某些與傳統(tǒng)虛擬技術(shù)極度不友好的架構(gòu)上(例如x86),Xen也有上佳的表現(xiàn)。與那些通過軟件模擬實(shí)現(xiàn)硬件的傳統(tǒng)虛擬機(jī)不同,在IntelVT-X支持下3.0版本之前的Xen需要系統(tǒng)的來賓權(quán)限,用來和XenAPI進(jìn)行連接。到目前為止,這種技術(shù)已經(jīng)可以運(yùn)用在NetBSD,GNU/Linux,FreeBSD和Plan9系統(tǒng)上。四、主流虛擬化技術(shù)2.CitrixXenXen的體系結(jié)構(gòu)圖四、主流虛擬化技術(shù)3.MicrosoftHyper-VHyper-V是微軟的一款虛擬化產(chǎn)品,必須在64位硬件平臺(tái)運(yùn)行,同時(shí)要求處理器必須支持IntelVT技術(shù)或AMD虛擬化(AMD-V),即處理器必須具備硬件輔助虛擬化技術(shù)。四、主流虛擬化技術(shù)3.MicrosoftHyper-VHyper-V體系結(jié)構(gòu)圖四、主流虛擬化技術(shù)3.MicrosoftHyper-VHyper-V是微軟提出的一種系統(tǒng)管理程序虛擬化技術(shù),采用微內(nèi)核的架構(gòu),兼顧了安全性和性能的要求。Hyper-V底層的Hypervisor運(yùn)行在最高的特權(quán)級別下,微軟將其稱為ring-1(而Intel則將其稱為rootmode),而虛機(jī)的OS內(nèi)核和驅(qū)動(dòng)運(yùn)行在ring0,應(yīng)用程序運(yùn)行在ring3下,這種架構(gòu)就不需要采用復(fù)雜的BT(二進(jìn)制特權(quán)指令翻譯)技術(shù),可以進(jìn)一步提高安全性。從架構(gòu)上講Hyper-V只有“硬件-Hyper-V-虛擬機(jī)”三層,本身非常小巧

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論