久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Hypervisor虛擬化概述

 Read_He 2021-09-30

虛擬化測試已有5年了,,在VmWare虛擬化平臺(Windows和Linux操作系統(tǒng))和OpenStack 虛擬化平臺(RedHat,,Linux操作系統(tǒng))上都部署過虛擬機(jī)。相信你也在Linux服務(wù)器和Window上安裝過操作系統(tǒng),。然而在虛擬化平臺和物理服務(wù)器上安裝操作系統(tǒng)或應(yīng)用有什么不同,?

虛擬化前后的運(yùn)行情況對比

物理服務(wù)器只能部署單操作系統(tǒng)(或者說是只能運(yùn)行單操作系統(tǒng),筆記本上同時安裝過Windows和Linux操作系統(tǒng),只不過二者只能運(yùn)行一個),,應(yīng)用程序部署在操作系統(tǒng)中,,通過操作系統(tǒng)來進(jìn)行硬件資源的調(diào)用。

在虛擬化環(huán)境下,,物理服務(wù)器的CPU,、內(nèi)存、硬盤和網(wǎng)卡等硬件資源被虛擬化并受Hypervisor的調(diào)度,,多個操作系統(tǒng)在Hypervisor的協(xié)調(diào)下可以共享這些虛擬化后的硬件資源,,同時每個操作系統(tǒng)又可以保存彼此的獨(dú)立性。

根據(jù)Hypervisor所處層次的不同和Guest OS對硬件資源的不同使用方式,,Hypervisor虛擬化被分為兩種類型:Bare-metal虛擬化方式(“裸機(jī)”虛擬化)和Host OS虛擬化方式(基于操作系統(tǒng)的虛擬化,,宿主型虛擬化)

Host OS與Bare-metal類型的Hypervisor

Host OS類型將Hypervisor虛擬化層安裝在傳統(tǒng)的操作系統(tǒng)中,,虛擬化軟件以應(yīng)用程序進(jìn)程形式運(yùn)行在Windows和Linux等主機(jī)操作系統(tǒng)中,。典型的宿主型Hypervisor有VMware Workstation和VirtualBox。在Hypervisor虛擬化環(huán)境下,,部署在物理服務(wù)器上的系統(tǒng)稱為Host OS,,而部署在Hypervisor上的虛擬機(jī)操作系統(tǒng)稱為Guest OS。Hypervisor的安裝:在物理服務(wù)器上安裝Linux操作系統(tǒng)然后在操作系統(tǒng)上安裝Hypervisor,,然后部署虛擬機(jī)(Guest  OS)后通過Hypervisor來共享資源,。

Bare-metal類型的Hypervisor虛擬化環(huán)境中無須完整的Host OS,直接將Hypervisor部署在裸機(jī)上并將裸機(jī)服務(wù)器的硬件資源虛擬化,,也可以將Hypervisor理解為僅對硬件資源進(jìn)行虛擬和調(diào)度的薄操作系統(tǒng),,其并不提供常規(guī)Host OS的功能,常見的Bare-metal類型(裸機(jī))Hypervisor有IBM的PowerVM,、VMware的ESX Sevrer,、Citrix的XenServer、Microsoft的Hyper-V以及開源的KVM等虛擬化軟件,。

虛擬化技術(shù)又分為全虛擬化(Full  Virtualization,,F(xiàn)V)、準(zhǔn)虛擬化(Para Virtualization,,PV)和主機(jī)操作系統(tǒng)虛擬化(Host OS Virtualization),,其中PV和FV基于Bare-metal類型Hypervisor的虛擬化技術(shù),而主機(jī)操作系統(tǒng)虛擬化基于Host OS類型Hypervisor的虛擬化技術(shù),。

X86權(quán)限層級架構(gòu)

虛擬化技術(shù)中一個關(guān)鍵性的難題便是物理CPU的虛擬化,。在X86架構(gòu)的服務(wù)器體系中,存在一種稱為保護(hù)環(huán)(Protection Ring)或?qū)蛹壉Wo(hù)域(Hierarchical Protected  Domain)的CPU指令特權(quán)架構(gòu),,如上圖所示,。運(yùn)行在X86架構(gòu)上的操作系統(tǒng)(Operating System,,OS)被設(shè)計(jì)為具有直接訪問和控制硬件資源的權(quán)限。X86架構(gòu)使用0,、1,、2和3四個權(quán)限Ring來控制管理硬件訪問權(quán)限,其中用戶應(yīng)用程序運(yùn)行在Ring3權(quán)限中,。OS因?yàn)樾枰苯釉L問物理硬件資源而在Ring0中執(zhí)行。X86架構(gòu)下的這種層級授權(quán)機(jī)制也會被應(yīng)用到虛擬機(jī)中,。在虛擬環(huán)境中,,Guest OS也需要具有Ring0權(quán)限才能訪問硬件資源,但在實(shí)際中Guest OS卻不能像傳統(tǒng)Host OS一樣直接獲取Ring0權(quán)限,,而是需要通過一系列的復(fù)雜方法才能獲取Ring0權(quán)限,,這些復(fù)雜的方法需要通過Hypervisor來完成,正是CPU指令賦權(quán)方法的復(fù)雜性,,最終使得X86架構(gòu)服務(wù)器底層虛擬化變得極為復(fù)雜,。

CPU虛擬化的關(guān)鍵就在于如何對Guest OS的請求指令賦予不同層級的權(quán)限,而全虛擬化和準(zhǔn)虛擬化也正是基于這種對Guest OS指令不同的賦權(quán)方法來進(jìn)行劃分的,。

1) 在全虛擬化技術(shù)中,,Guest OS之間通過Hypervisor來分享底層硬件資源。全虛擬化中,,Hypervisor具備Ring0權(quán)限,,Guest OS具備Ring1權(quán)限,如下圖所示,。

全虛擬化

全虛擬化中的Guest OS機(jī)器指令集被Hypervisor通過二進(jìn)制轉(zhuǎn)換方式轉(zhuǎn)換為主機(jī)(Host OS)機(jī)器語言,。當(dāng)Guest OS(虛擬機(jī))發(fā)出諸如訪問設(shè)備驅(qū)動之類的授權(quán)指令請求時,Hypervisor便會發(fā)起對設(shè)備驅(qū)動訪問的跟蹤,,由于Guest OS與Host OS間的差異被Hypervisor的轉(zhuǎn)換機(jī)制屏蔽,,因此要成為Guest OS的操作系統(tǒng)通常無須人為修改定制便可直接運(yùn)行在虛擬機(jī)中,而如Windows這類非開源的商業(yè)操作系統(tǒng)在全虛擬化方式下也能正常運(yùn)行,,但是由于Hypervisor對Guest OS指令集的轉(zhuǎn)換,,使得全虛擬化方式的性能在一定程度上受其影響。

Intel的Intel-VT全虛擬化技術(shù)

為了改善全虛擬化中Hypervisor二進(jìn)制指令集轉(zhuǎn)換對Guest OS性能的影響,,CPU芯片制造商,,如Intel和AMD,也在不斷改進(jìn)CPU對虛擬化的支持,,從而降低硬件層面的虛擬化負(fù)載,。在Intel的Intel-VT虛擬化技術(shù)出現(xiàn)后,全虛擬化性能問題得到了極大改善,,并能與準(zhǔn)虛擬化技術(shù)相媲美(準(zhǔn)虛擬化技術(shù)通常被認(rèn)為具有更高的性能),。上圖所示基于Intel-VT虛擬化技術(shù)的全虛擬化,注意Hypervisor處于Ring-1層級,而Guest OS處于Ring0層級,。

2) 在準(zhǔn)虛擬化中,,當(dāng)Guest OS執(zhí)行授權(quán)指令時,指令會被一種稱為hypercall的系統(tǒng)API調(diào)用傳遞到Hypervisor(而不是像全虛擬化一樣先轉(zhuǎn)換為Host OS的指令集),, Hypervisor接收到來自Guest OS的hypercall之后,,直接訪問硬件資源并將結(jié)果返回給Guest OS,下圖為XenServer的準(zhǔn)虛擬化,。

XenServer準(zhǔn)虛擬化

在準(zhǔn)虛擬化中,,由于Guest OS可以直接控制訪問CPU和內(nèi)存等硬件資源,而不需經(jīng)過中間的轉(zhuǎn)換機(jī)制,,因此準(zhǔn)虛擬化在性能上要優(yōu)于全虛擬化,。但是,準(zhǔn)虛擬化有個不切合實(shí)際的缺陷,,需要更改客戶機(jī)操作系統(tǒng)以使其能夠使用hypercall這個系統(tǒng)API,。因此,與全虛擬化不同,,準(zhǔn)虛擬化下Guest OS僅支持部分操作系統(tǒng),,像Windows這類商業(yè)非開源的操作系統(tǒng)將不能在準(zhǔn)虛擬化的客戶機(jī)上運(yùn)行。為了支持準(zhǔn)虛擬化,,即使是Linux這類開源系統(tǒng),,也需要修改接近20%的內(nèi)核代碼??傮w來說,,準(zhǔn)虛擬化不僅支持的Guest OS有限,而且對Guest OS進(jìn)行內(nèi)核級別的修改也需要專業(yè)的技術(shù)能力和大量的修改工作,。

VMware的早期虛擬化軟件采用的是全虛擬化方式,,不過在VMware漫長的商業(yè)進(jìn)化過程中,準(zhǔn)虛擬化方式也慢慢被VMwrae支持,,其原理圖如下,。

VmWare準(zhǔn)虛擬化

3) 主機(jī)操作系統(tǒng)(Host OS)虛擬化是操作系統(tǒng)本身提供Hypervisor功能的虛擬化方式,原理圖如下,。

Host OS虛擬化

在Host OS虛擬化中,,由于虛擬機(jī)實(shí)例之間不成熟的資源管理,以及性能和安全方面的問題,,幾乎很少使用主機(jī)操作系統(tǒng)虛擬化方式,,例如,當(dāng)運(yùn)行Hypervisor的Host OS出現(xiàn)安全問題時,,全部Guest OS都會受到影響,。如果想要在個人PC上運(yùn)行多個操作系統(tǒng),,使用Host OS的虛擬化方式是沒有任何問題的,其中最為流行的當(dāng)屬VMware  Workstation系列產(chǎn)品,。

4)  基于容器的虛擬化技術(shù)并不依賴傳統(tǒng)的Hypervisor虛擬化引擎,,而是在Host OS中配置虛擬服務(wù)器環(huán)境(Virtual Server  Environment,VSE),,即無須在Host OS中配置Hypervisor,,并且在容器虛擬化中,僅有Guest OS被仿真模擬,,原理圖如下,。

容器虛擬化

由于容器虛擬化技術(shù)拋棄了較為復(fù)雜的,針對全部硬件資源進(jìn)行虛擬化的Hypervisor,,且是僅針對Guest OS的虛擬化,因此基于容器的虛擬化是一種“更輕”的虛擬化方式,,也具有更好的性能,。但是,這種基于容器的虛擬化技術(shù)在過去很少用于服務(wù)器虛擬化中,,因?yàn)楹虷ost OS虛擬化一樣,,在過去,容器虛擬化技術(shù)對虛擬機(jī)實(shí)例之間的資源和安全管理都不如Hypervisor虛擬化,。

隨著Docker等容器技術(shù)的發(fā)展,,新的容器資源管理技術(shù)也不斷涌現(xiàn)和成熟,如Mesos,、CoreOS,、Kubernetes、Swarm和Rocket等容器生態(tài)圈技術(shù)的發(fā)展,,使得容器虛擬化技術(shù)在發(fā)展勢頭上有趕超OpenStack等主流開源云計(jì)算項(xiàng)目的趨勢,。

筆記整理來自山金孝的《OpenStack高可用集群(上冊):原理與架構(gòu)》8.4章節(jié),如有侵權(quán)請通知刪除,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多