發(fā)布源:深圳維創(chuàng)信息技術(shù)發(fā)布時間:2020-11-13 瀏覽次數(shù): 次
半虛擬化是一種重新編譯客戶機操作系統(tǒng)(OS)將其安裝在虛擬機(VM)上的一種虛擬化類型,并在主機操作系統(tǒng)(OS)運行的管理程序上運行。
與傳統(tǒng)的完全虛擬化相比,半虛擬化可以減少開銷,并提高系統(tǒng)性能。
虛擬化這一術(shù)語指的是創(chuàng)建資源的虛擬化而非實際(物理)版本,如操作系統(tǒng)(OS)、服務(wù)器、桌面、存儲設(shè)備或網(wǎng)絡(luò)。
半虛擬化、完全虛擬化和部分虛擬化分別是三種類型的虛擬化。
虛擬化通過采用包括仿真、機器仿真、硬件和軟件分區(qū)等技術(shù)將資源劃分為多個執(zhí)行環(huán)境。
在企業(yè)中,虛擬化通常用于以下目的:
在計算機上同時運行多個操作系統(tǒng)(OS)。
將大型系統(tǒng)分成更小的部分,以更有效地使用物理硬件。
隔離在虛擬機(VM)中運行的程序,以使它們免受同一主機上另一虛擬機(VM)中發(fā)生進(jìn)程的影響。
例如,如果一個虛擬機(VM)發(fā)生故障,則其他虛擬機(VM)可以保持正常運行。
虛擬機(VM)等效于在另一個系統(tǒng)之上運行的計算機系統(tǒng)。
虛擬機(VM)通過名為管理程序的軟件程序創(chuàng)建和運行。
虛擬機監(jiān)控程序分為兩類:第一類是“裸機”虛擬機管理程序,其行為類似于操作系統(tǒng)(OS),并直接在系統(tǒng)的硬件上操作客戶機虛擬機。
第二類是“托管”虛擬機管理程序,其行為更像傳統(tǒng)的軟件應(yīng)用程序。
什么是半虛擬化?
通過允許操作系統(tǒng)識別虛擬機管理程序的存在,并直接與虛擬機管理程序通信,半虛擬化提供了比軟件輔助的完全虛擬化更好的性能。
半虛擬化還可以確保在將客戶機操作系統(tǒng)(OS)安裝到虛擬機中之前對其進(jìn)行重新編譯。
但是一般來說,半虛擬化要求修改客戶機操作系統(tǒng)(OS),以實現(xiàn)API,用于將虛擬機管理程序發(fā)送的命令交換到服務(wù)器。
Xen/Xenserver可能是最知名的半虛擬化管理程序軟件之一。
在3.0版本中,Xen還開始在啟用的Intel和AMD處理器上支持硬件輔助的完全虛擬化,以實現(xiàn)與不可修改的操作系統(tǒng)(OS)(例如Windows)的可操作性。
Xen在4.7版中引入了實時補丁。
而在4.10版本中,Xen增加了對半虛擬化硬件(PVH)的初始支持,并在年中發(fā)布的4.11更新中增加了對半虛擬化硬件(PVH)的支持。
半虛擬化硬件(PVH)致力于將最佳的半虛擬化技術(shù)與硬件虛擬機(HVM)方法相結(jié)合。
在半虛擬化硬件系統(tǒng)的某些元素(包括網(wǎng)絡(luò)和磁盤接口)的情況下,原生/硬件虛擬機(HVM)虛擬化遵循不同的過程,并為虛擬化訪問系統(tǒng)硬件接口提供有限形式的硬件仿真。
硬件虛擬機(HVM)接口現(xiàn)在可用于大多數(shù)系統(tǒng)硬件。
廣泛的支持:IBM LPAR、用于SPARC的Oracle VM(LDOM)和用于X86的Oracle VM(ODM)支持半虛擬化。
半虛擬化接口與完全虛擬化不同,半虛擬化不需要模擬虛擬機的硬件。
與其相反,它提供了到虛擬機的接口,該接口有點類似于基礎(chǔ)硬件。
其中包括Linux和Windows在內(nèi)的大多數(shù)現(xiàn)代操作系統(tǒng)(OS)都支持一個或多個半虛擬化接口。
VirtualBox半虛擬化接口VirtualBox可以公開半虛擬化接口,以在虛擬機中更準(zhǔn)確、更高效地執(zhí)行軟件。
并提供了三個半虛擬化接口:Minimal(對于運行Apple Mac OS X客戶機是必需的)、KVM(建議用于Linux客戶機)、Hyper-V(建議用于Windows客戶機)。
什么是完全虛擬化?完全虛擬化允許未經(jīng)修改的客戶機操作系統(tǒng)在駐留在服務(wù)器上的虛擬機內(nèi)獨立運行。
客戶機操作系統(tǒng)不知道已被虛擬化。
完全虛擬化有兩種類型:軟件輔助虛擬化和硬件輔助虛擬化。
(1)軟件輔助虛擬化
軟件輔助的完全虛擬化通常涉及耗時的過程,例如二進(jìn)制翻譯。
實現(xiàn)二進(jìn)制翻譯虛擬化的一個經(jīng)典方法是采用陷阱和仿真方法。
在這種方法中,系統(tǒng)管理程序?qū)PU進(jìn)行配置,以使所有潛在的不安全指令都將產(chǎn)生陷阱或特殊情況,從而將控制權(quán)轉(zhuǎn)移回系統(tǒng)管理程序。
系統(tǒng)管理程序收到陷阱后,它將檢查指令,并以安全的方式對其進(jìn)行仿真,然后繼續(xù)執(zhí)行指令。
二進(jìn)制翻譯虛擬化可以與直接執(zhí)行結(jié)合使用,其中大多數(shù)代碼直接在CPU上執(zhí)行,只有需要翻譯的代碼才被真正被翻譯。
二進(jìn)制翻譯虛擬化的替代方法包括二進(jìn)制補丁和完整的系統(tǒng)仿真。
在軟件輔助的完全虛擬化中使用的管理程序軟件包括VMware工作站(32位客戶機),VMWare Server、Virtual PC和Oracle VM VirtualBox(32位客戶機)。
但是,“托管”虛擬機管理程序VirtualBox采用了自己的虛擬化方法。
通過支持Ring-0的內(nèi)核驅(qū)動程序啟動虛擬機時,VirtualBox會將主機系統(tǒng)設(shè)置為本地運行大多數(shù)客戶機代碼。
但是VirtualBox也可以在需要時(例如在執(zhí)行特權(quán)指令時)承擔(dān)控制權(quán)。
發(fā)生陷阱時,VirtualBox通過將請求路由到虛擬設(shè)備或?qū)⑻幚砦薪o客戶機操作系統(tǒng)(OS)或主機操作系統(tǒng)(OS)來管理情況。
VirtualBox還提供半虛擬化接口。
(2)硬件輔助虛擬化
硬件輔助的完全虛擬化消除了對二進(jìn)制翻譯虛擬化或其替代方法的需要。
硬件輔助虛擬化是依靠硬件擴展,以幫助虛擬機管理程序在處理器級別管理復(fù)雜任務(wù)。
這包括X86虛擬化技術(shù),例如英特爾虛擬化技術(shù)和AMD虛擬化處理器命令集擴展。
支持硬件輔助虛擬化的裸機虛擬機管理程序軟件包括VMware ESXi/ESX、Hyper-V、KVM(Linux內(nèi)核的一部分,可以直接運行虛擬機)和Xen/Xenserver。
支持硬件輔助的完全虛擬化的托管虛擬機管理程序軟件包括VMware Workstation(僅64位的客戶機),VirtualBox(僅64位的客戶機))和VMware Server(已停用)。
VMWorkstation/Server支持Linux和Windows。
什么是部分虛擬化?在部分虛擬化中,某些應(yīng)用程序(而不是整個操作系統(tǒng))在虛擬機中運行。
部分虛擬化只能涉及少數(shù)應(yīng)用程序。
顧名思義,部分虛擬化模擬系統(tǒng)的物理硬件,并且只是部分模擬。
優(yōu)點和缺點:半虛擬化vs.完全虛擬化vs.部分虛擬化•半虛擬化旨在增強系統(tǒng)性能并最大程度地減少開銷,從而防止虛擬機的使用不足。
它非常有效地擴展。
半虛擬化還通過減少完成操作所需的時間來簡化單個集合或硬件上不同操作系統(tǒng)的操作。
但是,不利的一面是,像Windows這樣的未經(jīng)修改的操作系統(tǒng)將無法在Xen等超虛擬化的虛擬機管理程序上運行,除非可能帶有該操作系統(tǒng)的超虛擬化驅(qū)動程序。
此外,根據(jù)工作負(fù)載的類型,半虛擬化相對于完全虛擬化的性能優(yōu)勢可能會有很大差異。
全面虛擬化,硬件輔助技術(shù)的發(fā)展已經(jīng)改變了游戲規(guī)則。
硬件輔助虛擬化通過卸載許多耗時的任務(wù)而從軟件輔助的完整虛擬化向前邁出了一大步,否則這些任務(wù)將由虛擬機管理程序或虛擬機管理器(VMM)執(zhí)行。
但是,作為一個次要限制,硬件輔助的完全虛擬化不支持處理器不兼容的舊硬件。
部分虛擬化比完全虛擬化容易實施,并且可以很好地在多個用戶之間共享資源。
但是,由于難以預(yù)測特定應(yīng)用程序已經(jīng)使用了哪些功能,因此在需要向后兼容性或可遷移性的情況下,不能使用部分虛擬化。
半虛擬化的理想用途半虛擬化技術(shù)在高效的系統(tǒng)利用率和可擴展性、節(jié)能和易于備份方面表現(xiàn)突出。
半虛擬化最普遍的用途之一是將環(huán)境從測試系統(tǒng)中分離出來。
然而,還有許多其他應(yīng)用程序也在繼續(xù)利用其功能,其中包括服務(wù)器整合、數(shù)據(jù)遷移、災(zāi)難恢復(fù),以及容量管理。
Copyright © 2021 深圳市維創(chuàng)信息技術(shù)有限公司 版權(quán)所有