資源描述:
《virt.tech.essential》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、虛擬化技術(shù)原理精要1虛擬化技術(shù)原理精要CurrentVersion:1.0Date:2011-02-24Author:JackTanAuthor:JackTan虛擬化技術(shù)原理精要2版本歷史版本狀態(tài)作者參與者起止日期備注0.1JackTan090813完成草稿1.0JackTan110224修訂Author:JackTan虛擬化技術(shù)原理精要31.概述1.1虛擬化虛擬化(Vi
2、rtualization)是資源的邏輯表示,其不受物理限制的約束。虛擬化技術(shù)的實(shí)現(xiàn)形式是在系統(tǒng)中加入一個(gè)虛擬化層,將下層的資源抽象成另一形式的資源,提供給上層使用。本質(zhì)上,虛擬化就是由位于下層的軟件模塊,通過(guò)向上一層軟件模塊提供一個(gè)與它原先所期待的運(yùn)行環(huán)境完全一致的接口的方法,抽象出一個(gè)虛擬的軟件或硬件接口,使得上層軟件可以直接運(yùn)行在虛擬環(huán)境上。通過(guò)空間上的分割、時(shí)間上的分時(shí)以及模擬,虛擬化可將一份資源抽象成多份,亦可將多份資源抽象成一份。虛擬化中的兩個(gè)重要的定語(yǔ)名詞:宿主(Host)和客戶(hù)(Gues
3、t)Host用在物理資源前,Guest則用于虛擬出來(lái)的資源前。如將一個(gè)物理機(jī)器虛擬成多個(gè)虛擬機(jī)器,則稱(chēng)物理機(jī)為HostMachine,運(yùn)行其上的OS為HostOS;稱(chēng)多個(gè)虛擬機(jī)為GuestMachine,運(yùn)行其上的OS為GuestOS1.2虛擬機(jī)虛擬機(jī)(VirtualMachine)是由虛擬化層提供的高效、獨(dú)立的虛擬計(jì)算機(jī)系統(tǒng),其皆擁有自己的虛擬硬件(CPU,內(nèi)存,I/O設(shè)備)。通過(guò)虛擬化層的模擬,虛擬機(jī)在上層軟件看來(lái),其就是一個(gè)真實(shí)的機(jī)器。這個(gè)虛擬化層一般稱(chēng)為虛擬機(jī)監(jiān)控器(VirtualMachin
4、eMonitor,VMM)Author:JackTan虛擬化技術(shù)原理精要41974年,Popek和Goldberg在論文"FormalRequirementsforVirtualizableThirdGenerationArchitectures"中將VM定義為物理機(jī)的一種高效、隔離的復(fù)制,且指出VM的三個(gè)特征:I.同質(zhì)(Equivalence)即VM的運(yùn)行環(huán)境和物理機(jī)的環(huán)境在本質(zhì)上是相同的,表現(xiàn)上可以有一些差異。如CPU的ISA必須一致,CPUcore的個(gè)
5、數(shù)可以不同。II.高效(Efficiency)即VM的性能必須接近物理機(jī)。因此,常見(jiàn)的模擬器(boches,simics...)就不能稱(chēng)為VM為達(dá)此目的,軟件在VM上運(yùn)行時(shí),大多數(shù)指令要直接在硬件上執(zhí)行,只有少量指令需要VMM的模擬或處理。III.資源受控(Resourcecontrol)Author:JackTan虛擬化技術(shù)原理精要5即VMM對(duì)物理機(jī)的所有資源有絕對(duì)的控制力1.3FullvirtualizationandParavirtualization
6、Fullvirtualization:所抽象的VM具有完全的物理機(jī)特性,OS在其上運(yùn)行不需要任何修改。典型的有VMWare,Virtualbox,VirtualPC,KVM-x86...)Paravirtualization:需OS協(xié)助的虛擬化,在其上運(yùn)行的OS需要修改。起初采用主要是為了解決x86體系結(jié)構(gòu)上完全虛擬化的困難(沒(méi)有IntelVT&AMD-V硬件虛擬化支持前;且不屑于動(dòng)態(tài)掃描指令修補(bǔ)之方法的性能),后來(lái)則主要是為了提高虛擬化的效率。典型的有Xen,KVM-PowerPC等。下表是市面上流
7、行的虛擬化技術(shù)的一個(gè)概況:數(shù)據(jù)來(lái)自"VIRTUALIZATIONWITHLOGICALDOMAINSANDSUNCOOLTHREADSSERVERS"Author:JackTan虛擬化技術(shù)原理精要61.4硬件虛擬化概況1.4.1x86鑒于x86本身完全虛擬化的困難以及虛擬化性能的考慮,Intel在2006年是引入VT(VT-xforIA32,VT-iforItanium)來(lái)解決之,AMD以AMD-V緊隨之。其后Intel又引入VT-d(AMD為IOMMU)對(duì)
8、x86平臺(tái)上的I/O虛擬化作了增強(qiáng)。1.4.2PowerPC2001年IBM在Power4中加入虛擬化支持,并在2004年的Power5中推出增強(qiáng)的虛擬化支持,且在2009年發(fā)布的PowerISAv2.06中規(guī)范化。Freescale亦在e500mc中實(shí)現(xiàn)PowerISAv2.06的虛擬化增強(qiáng)。1.4.3SPARC2005年SUN即在SPARC中引入虛擬化支持。Author:JackTan虛擬化技術(shù)原理精要72