全部課程
淺談云計(jì)算虛擬化技術(shù)
發(fā)布時(shí)間: 2021-01-04
云計(jì)算的核心技術(shù)之一就是虛擬化技術(shù)。所謂虛擬化,是指通過虛擬化技術(shù)將一臺計(jì)算機(jī)虛擬為多臺邏輯計(jì)算機(jī)。在一臺計(jì)算機(jī)上同時(shí)運(yùn)行多個(gè)邏輯計(jì)算機(jī),每個(gè)邏輯計(jì)算機(jī)可運(yùn)行不同的操作系統(tǒng),并且應(yīng)用程序都可以在相互獨(dú)立的空間內(nèi)運(yùn)行而互不影響,從而顯著提高計(jì)算機(jī)的工作效率。虛擬化的核心軟件VMM,是一種運(yùn)行在物理服務(wù)器和操作系統(tǒng)之間的中間層軟件。VMM是一種在虛擬環(huán)境中的“元”操作系統(tǒng)。他們可以訪問服務(wù)器上包括CPU、內(nèi)存、磁盤、網(wǎng)卡在內(nèi)的所有物理設(shè)備。VMM不但協(xié)調(diào)著這些硬件資源的訪問,也同時(shí)在各個(gè)虛擬機(jī)之間施加防護(hù)。當(dāng)服務(wù)器啟動并執(zhí)行VMM時(shí),它會加載所有虛擬機(jī)客戶端的操作系統(tǒng)同時(shí)會分配給每一臺虛擬機(jī)適量的內(nèi)存,CPU,網(wǎng)絡(luò)和磁盤。
虛擬化技術(shù)有很多實(shí)現(xiàn)方式,比如根據(jù)虛擬化的程度和級別,有軟件虛擬化和硬件虛擬化,全虛擬化和半虛擬化。
軟件虛擬化
軟件虛擬化,顧名思義,就是采用純軟件的方法在在現(xiàn)有的物理平臺上實(shí)現(xiàn)物理平臺訪問的截獲和模擬,該物理平臺往往不支持硬件虛擬化。常見的軟件虛擬化技術(shù)QEMU,是通過純軟件來仿真X86平臺處理器的指令,然后解碼和執(zhí)行,該過程并不在物理平臺上直接執(zhí)行,而是通過軟件模擬實(shí)現(xiàn),因此往往性能比較差,但是可以在同一平臺上模擬出不同架構(gòu)平臺的虛擬機(jī)。VMware則采用了動態(tài)二進(jìn)制翻譯技術(shù)。VMM在可控的范圍內(nèi),允許客戶機(jī)的指令在可控的范圍內(nèi)直接運(yùn)行??蛻魴C(jī)指令在運(yùn)行前會被VMM掃描,其中突破VMM限制的指令被動態(tài)替換為可以在物理平臺上直接運(yùn)行的安全指令,或者替換為對VMM的軟件調(diào)用。因此其性能上比QEMU有大幅提升,但是其失去了跨平臺虛擬化的能力。
硬件虛擬化
半虛擬化技術(shù)是后來才出現(xiàn)的技術(shù),也叫做準(zhǔn)虛擬化技術(shù),現(xiàn)在比較熱門,它就是在全虛擬化的基礎(chǔ)上,把客戶操作系統(tǒng)進(jìn)行了修改,增加了一個(gè)專門的API,這個(gè)API可以將客戶操作系統(tǒng)發(fā)出的指令進(jìn)行最優(yōu)化,即不需要VMM耗費(fèi)一定的資源進(jìn)行翻譯操作。因此VMM的工作負(fù)擔(dān)變得非常的小,因此整體的性能也有很大的提高。不過缺點(diǎn)就是,要修改包含該API的操作系統(tǒng),但是對于某些不含該API的操作系統(tǒng)(主要是Windows)來說,就不行能用這種方法。半虛擬化技術(shù)的優(yōu)點(diǎn)是性能高。經(jīng)過半虛擬化處理的服務(wù)器可與VMM協(xié)同工作,其響應(yīng)能力幾乎不亞于未經(jīng)過虛擬化處理的服務(wù)器。它的客戶操作系統(tǒng)(Guest OS)集成了虛擬化方面的代碼。該方法無需重新編譯或引起陷阱,因?yàn)椴僮飨到y(tǒng)自身能夠與虛擬進(jìn)程進(jìn)行很好的協(xié)作。