為什么需要虛擬化,虛擬化技術(shù)原理?

用戶投稿
信Bm00751
虛擬化技術(shù)提供了更靈活、高效和可管理的計(jì)算環(huán)境,適應(yīng)了現(xiàn)代計(jì)算需求的變化和復(fù)雜性。其必要性體現(xiàn)在以下幾個(gè)方面。提升資源利用率、屏蔽硬件差異、提供資源隔離能力、部署的靈活性。

為什么需要虛擬化?

虛擬化技術(shù)提供了更靈活、高效和可管理的計(jì)算環(huán)境,適應(yīng)了現(xiàn)代計(jì)算需求的變化和復(fù)雜性。其必要性體現(xiàn)在以下幾個(gè)方面。提升資源利用率、屏蔽硬件差異、提供資源隔離能力、部署的靈活性。

實(shí)際應(yīng)用中,虛擬化和容器化可以互相為正交關(guān)系。即客戶可以購(gòu)買(mǎi)虛擬機(jī)并在虛擬機(jī)上部署自己的容器化業(yè)務(wù),也可以直接購(gòu)買(mǎi)彈性容器實(shí)例 ECI(Elastic Container Instance)等虛擬機(jī)容器實(shí)例(一臺(tái)虛擬機(jī)上只運(yùn)行一個(gè)容器),兼容容器化運(yùn)維體驗(yàn)的同時(shí)擁有硬件級(jí)別隔離的安全能力。

虛擬化有哪些實(shí)際應(yīng)用?

一個(gè)簡(jiǎn)單的場(chǎng)景,客戶A需要一個(gè)g7i.2xlarge的suse系統(tǒng)來(lái)運(yùn)行它的Java類在線應(yīng)用,客戶B需要一個(gè)g7i.4xlarge的Windows Server來(lái)運(yùn)行Sqlserver,我們可以將這兩個(gè)實(shí)例裝箱到一臺(tái)宿主機(jī)上運(yùn)行,A和B客戶因?yàn)檫\(yùn)行了兩套完全獨(dú)立的操作系統(tǒng)和應(yīng)用,他們之間的底層資源在硬件層面也是通過(guò)虛擬化達(dá)到完全隔離,所以兩個(gè)業(yè)務(wù)不會(huì)互相干擾。另一方面,他們按需做了業(yè)務(wù)的部署和算力容量的分配,從而使得各自以及整體的資源利用率能夠盡可能的最大化。

虛擬化的技術(shù)原理是什么?

本質(zhì)上,虛擬化技術(shù)通過(guò)了硬件或者軟件提供了資源模擬和資源隔離兩個(gè)最基礎(chǔ)的能力,在此基礎(chǔ)上可以構(gòu)建豐富的功能,并不斷優(yōu)化性能與穩(wěn)定性體驗(yàn)。

資源模擬

宿主機(jī)的某些硬件資源具有全局性和唯一性,因此虛擬機(jī)不能直接訪問(wèn),否則會(huì)影響宿主機(jī)的穩(wěn)定性。當(dāng)虛擬機(jī)執(zhí)行訪問(wèn)該資源的指令時(shí),Hypervisor會(huì)通過(guò)截獲和模擬的方式完成虛擬機(jī)的指令執(zhí)行。設(shè)備模擬的實(shí)現(xiàn)機(jī)制可以從兩個(gè)維度分類。

從實(shí)現(xiàn)主體來(lái)看,分為軟件虛擬化和硬件輔助虛擬化。前者完全由軟件模擬設(shè)備行為,存在一定的性能損耗,后者將功能部分卸載或者完全卸載到硬件,因此有更好的性能。

從Guest是否感知的視角來(lái)看,分為全虛擬化和半虛擬化。前者無(wú)需客戶感知底層是物理機(jī)和虛擬機(jī),后者可以讓Guest明確感知底層的虛擬化架構(gòu)和能力,因此可以對(duì)設(shè)備模擬的實(shí)現(xiàn)進(jìn)行優(yōu)化或者模擬現(xiàn)實(shí)不存在的設(shè)備,帶來(lái)更好的虛擬化性能。

資源隔離

資源隔離是云計(jì)算提供多租能力的基礎(chǔ),利用虛擬化技術(shù)可以提供CPU隔離、內(nèi)存隔離、存儲(chǔ)隔離和網(wǎng)絡(luò)隔離的能力,確??蛻舻臉I(yè)務(wù)數(shù)據(jù)安全。

CPU和內(nèi)存隔離一般基于CPU廠商提供的硬件輔助虛擬化能力來(lái)實(shí)現(xiàn)。以Intel平臺(tái)為例,通過(guò)VT-x技術(shù)為每個(gè)vCPU構(gòu)建獨(dú)立的運(yùn)行狀態(tài)集,不同虛擬機(jī)之間無(wú)法獲取對(duì)方的vCPU狀態(tài),也無(wú)法影響宿主機(jī)的運(yùn)行。通過(guò)EPT(Extended Page Tables)技術(shù)為每個(gè)虛擬機(jī)構(gòu)建兩級(jí)頁(yè)表翻譯機(jī)制,第二級(jí)頁(yè)表只能由Hypervisor來(lái)創(chuàng)建,確保不同虛擬機(jī)可以訪問(wèn)的物理內(nèi)存被嚴(yán)格隔離。

存儲(chǔ)隔離和網(wǎng)絡(luò)隔離有多種實(shí)現(xiàn)方式。阿里云基于CIPU芯片實(shí)現(xiàn)了云盤(pán)和彈性網(wǎng)卡的硬件卸載,通過(guò)IOMMU保證了云盤(pán)、網(wǎng)卡的IO請(qǐng)求只能訪問(wèn)所屬虛擬機(jī)的內(nèi)存。存儲(chǔ)虛擬化系統(tǒng)提供虛擬機(jī)粒度的IO通道、存儲(chǔ)協(xié)議棧、存儲(chǔ)介質(zhì)全鏈路的數(shù)據(jù)和QoS隔離能力。網(wǎng)絡(luò)虛擬化系統(tǒng)支持虛擬機(jī)粒度的網(wǎng)絡(luò)帶寬、PPS(Packets Per Second)的QoS(Quality of Service)隔離。不同虛擬網(wǎng)絡(luò)(VPC)內(nèi)的虛擬機(jī)實(shí)例處于不同的路由平面無(wú)法直接進(jìn)行通信,從而保證了VPC的隔離性。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論