前面小編已經(jīng)分享了三篇關(guān)于虛擬化的內(nèi)容,后臺(tái)看見(jiàn)很多朋友們的私信,感謝大家的支持!今天我們將進(jìn)一步深入探討虛擬化技術(shù)的相關(guān)內(nèi)容,希望能夠?yàn)槟峁└妗⒏钊氲睦斫?。通過(guò)本次探討,您將能夠了解到更多關(guān)于虛擬化技術(shù)的基本知識(shí),從而更好地認(rèn)識(shí)和利用這一重要的計(jì)算機(jī)技術(shù)。
可以認(rèn)為是一種對(duì)物理資源抽象化,進(jìn)而形成虛擬化的版本的技術(shù)。在計(jì)算機(jī)科學(xué)中,虛擬化技術(shù)(Virtualization)是一種資源管理(優(yōu)化)技術(shù),將計(jì)算機(jī)的各種物理資源(e.g. CPU、內(nèi)存以及磁盤空間、網(wǎng)絡(luò)適配器等 I/O 設(shè)備)予以抽象、轉(zhuǎn)換,然后呈現(xiàn)出來(lái)的一個(gè)可供分割并任意組合為一個(gè)或多個(gè)(虛擬)計(jì)算機(jī)的配置環(huán)境。虛擬化技術(shù)打破了計(jì)算機(jī)內(nèi)部實(shí)體結(jié)構(gòu)間不可切割的障礙,使用戶能夠以比原本更好的配置方式來(lái)應(yīng)用這些計(jì)算機(jī)硬件資源。而這些資源的虛擬形式將不受現(xiàn)有架設(shè)方式,地域或物理配置所限制。全虛擬化(Full virtualization)也稱原始虛擬化技術(shù),是使用Hypervisor這種中間軟件在虛擬服務(wù)器和底層硬件之間建立一個(gè)抽象層,這個(gè)抽象層在底層起到了中介的作用,用于傳遞指令。在實(shí)現(xiàn)完全虛擬化的過(guò)程中,Hypervisor運(yùn)行在裸硬件上,充當(dāng)?shù)氖侵鳈C(jī)的操作系統(tǒng),由Hypervisor管理的虛擬服務(wù)器來(lái)運(yùn)行客戶端操作系統(tǒng)(Guest OS),ESXI就是通過(guò)這種方式實(shí)現(xiàn)的。全虛擬化為客戶操作系統(tǒng)提供完整的虛擬平臺(tái)(包括處理器、內(nèi)存和外設(shè)等虛擬化),這種平臺(tái)支持運(yùn)行任何理論上可在真實(shí)物理平臺(tái)上運(yùn)行的操作系統(tǒng),并為虛擬機(jī)的配置提供了最大程度的靈活性。另外,在全虛擬化平臺(tái)運(yùn)行的客戶操作系統(tǒng),可以不做任何修改就可以遷移到任何非虛擬化環(huán)境中基于平臺(tái)上運(yùn)行。半虛擬化(ParaVirtualization)是另一種類似于全虛擬化的技術(shù),它使用Hypervisor分享存取底層的硬件,但是它的Guest操作系統(tǒng)集成了虛擬化方面的代碼。該方法無(wú)需重新編譯或引起陷阱,因?yàn)椴僮飨到y(tǒng)自身能夠與虛擬進(jìn)程進(jìn)行很好的協(xié)作。半虛擬化需要Guest操作系統(tǒng)做一些修改,使Guest操作系統(tǒng)意識(shí)到自己是處于虛擬化環(huán)境的,但是半虛擬化提供了與原操作系統(tǒng)相近的性能。

硬件本身支持虛擬化技術(shù),大大提升了虛擬化的性能。如Intel VT、AMD-VT技術(shù),它們?cè)贑PU中加入了新的指令集和處理器運(yùn)行模式,以完成Guest OS對(duì)硬件資源的直接調(diào)用。通過(guò)硬件輔助虛擬化,可提高虛擬機(jī)的運(yùn)行效率和穩(wěn)定性,減少虛擬機(jī)與宿主機(jī)之間的干擾,從而實(shí)現(xiàn)更加高效的虛擬化工作。? 宿主模型(OS-Hosted VMM) 物理服務(wù)器上需要安裝如Windows、Linux等操作系統(tǒng),這些傳統(tǒng)操作系統(tǒng)并不是為虛擬化而設(shè)計(jì)的,因此本身并不具備虛擬化功能,所有的虛擬化功能都由VMM來(lái)提供。VMM通常是宿主機(jī)操作系統(tǒng)獨(dú)立的內(nèi)核模塊,有些實(shí)現(xiàn)中還包括用戶態(tài)進(jìn)程,如負(fù)責(zé)I/O虛擬化的用戶態(tài)設(shè)備模型。VMM通過(guò)調(diào)用宿主機(jī)操作系統(tǒng)的服務(wù)來(lái)獲得資源,實(shí)現(xiàn)處理器、內(nèi)存和I/O設(shè)備的虛擬化。? 虛擬化體系架構(gòu)-原生架構(gòu)模型(Hypervisor VMM)? 在原生架構(gòu)模型(Hypervisor VMM)中,VMM首先可以被看作是一個(gè)完備的操作系統(tǒng),與傳統(tǒng)操作系統(tǒng)不同的是,VMM是為虛擬化而設(shè)計(jì)的,因此其本身就具備虛擬化功能。? 從架構(gòu)上來(lái)看,首先所有的物理資源如處理器、內(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)建和管理。?虛擬化體系架構(gòu)-混合模型(Hybrid VMM)? 混合模型(Hybrid VMM)是上述兩種模式的混合體。VMM依然位于最底層,擁有所有的物理資源,包括處理器、內(nèi)存和I/O設(shè)備等。與Hypervisor模型不同的是,VMM會(huì)騰讓出大部分I/O設(shè)備的控制權(quán),將它們交由一個(gè)運(yùn)行在特權(quán)虛擬機(jī)中的特權(quán)操作系統(tǒng)來(lái)控制,相應(yīng)的,VMM虛擬化的職責(zé)也會(huì)被分擔(dān)。處理器、內(nèi)存虛擬化依然由VMM來(lái)完成,I/O設(shè)備虛擬化則由VMM和特權(quán)操作系統(tǒng)共同來(lái)完成。
KVM (全稱是Kernel-based Virtual Machine) 是Linux 下x86 硬件平臺(tái)上的全功能虛擬化解決方案,包含一個(gè)可加載的內(nèi)核模塊kvm.ko 提供和虛擬化核心架構(gòu)和處理器規(guī)范模塊。使用KVM 可允許多個(gè)包括Linux 和Windows 每個(gè)虛擬機(jī)有私有的硬件,包括網(wǎng)卡、磁盤以及圖形適配卡等。
Xen 是一個(gè)開(kāi)放源代碼虛擬機(jī)監(jiān)視器,由劍橋大學(xué)開(kāi)發(fā)。它打算在單個(gè)計(jì)算機(jī)上運(yùn)行多達(dá)100個(gè)滿特征的操作系統(tǒng)。操作系統(tǒng)必須進(jìn)行顯式地修改(“移植”)以在Xen上運(yùn)行(但是提供對(duì)用戶應(yīng)用的兼容性)。這使得Xen無(wú)需特殊硬件支持,就能達(dá)到高性能的虛擬化。
OpenVZ是基于Linux內(nèi)核和作業(yè)系統(tǒng)的操作系統(tǒng)級(jí)虛擬化技術(shù)。OpenVZ允許物理服務(wù)器運(yùn)行多個(gè)操作系統(tǒng),被稱虛擬專用服務(wù)器(VPS,Virtual Private Server)或虛擬環(huán)境(VE, Virtual Environment)。與VMware這種虛擬機(jī)和Xen這種半虛擬化技術(shù)相比,OpenVZ的host OS和guest OS都必需是Linux(雖然在不同的虛擬環(huán)境里可以用不同的Linux發(fā)行版)。但是,OpenVZ聲稱這樣做有性能上的優(yōu)勢(shì)。根據(jù)OpenVZ網(wǎng)站的說(shuō)法,使用OpenVZ與使用獨(dú)立的服務(wù)器相比,性能只會(huì)有1-3%的損失。OpenVZ是SWsoft, Inc.公司開(kāi)發(fā)的專有軟件Virtuozzo的基礎(chǔ)。OpenVZ的授權(quán)為GPLv2。OpenVZ由兩部分組成,一個(gè)經(jīng)修改過(guò)的操作系統(tǒng)核心與及用戶工具。
VirtualBox 是一款功能強(qiáng)大的x86 虛擬機(jī)軟件,它不僅具有豐富的特色,而且性能也很優(yōu)異。更可喜的是,VirtualBox 于數(shù)日前走向開(kāi)源,成為了一個(gè)發(fā)布在GPL 許可之下的自由軟件。
Lguest 是由IBM工程師Rusty Russell(澳大利亞開(kāi)發(fā)者)發(fā)起的虛擬化項(xiàng)目,是一個(gè)只有5000行代碼的精簡(jiǎn)hypervisor(虛擬機(jī)管理程序),它已經(jīng)包括在最近版本的內(nèi)核里了。和KVM相似,它支持Intel和AMD芯片的最新虛擬化技術(shù)。但又與VMware公司的ESX Server不同,在Lguest創(chuàng)建的虛擬機(jī)里的操作系統(tǒng)知道自己是被虛擬出來(lái)的。所以在調(diào)用CPU周期時(shí)它可以直接向真正的硬件發(fā)出請(qǐng)求,而不是作為中間媒介而降低了效率,因此這種架構(gòu)大大提高了效率。Lguest采用GPL授權(quán)。1. VMware公司的VMware Server、VMware ESX/ESXi Server、VMwareWorkstation和VMware Player。2. Microsoft公司的Hyper-V、Virtual PC和Virtual Server。6. 開(kāi)源虛擬化軟件Docker、KVM、Xen等。