400-638-8808
|
微信公眾號(hào)








穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無阻

協(xié)同辦公 資源管理

超大郵件 超級(jí)功能

智能反垃圾郵件技術(shù)
易管理 免維護(hù)

微信掃一掃 關(guān)注"天下數(shù)據(jù)"商品一律九折
![]()
搜索"朗玥科技"關(guān)注,了解最新優(yōu)惠

服務(wù)器虛擬化技術(shù)要追述到IBM大型機(jī)的虛擬化 z/VM,在z系列大型機(jī)(非虛擬化操作系統(tǒng)是z/OS)上實(shí)現(xiàn)服務(wù)器虛擬化;趜/VM可以運(yùn)行上百個(gè)虛擬機(jī)。后來在Power上的KVM技術(shù)是PowerKVM;以及AIX虛擬化PowerVM,支持vSCSI和NPIV兩種技術(shù)(虛擬出系統(tǒng)叫VIOS)。今天的內(nèi)容覆蓋了CPU虛擬化、內(nèi)存虛擬化、Intel硬件輔助技術(shù)、IO虛擬化和GPU虛擬化等,技術(shù)深度科普文章;請(qǐng)老司機(jī)們讓車,忽略今天的內(nèi)容。
很多讀者可能認(rèn)為服務(wù)器虛擬化技術(shù)遭到了容器技術(shù)的沖擊,可能已經(jīng)過時(shí)了,事實(shí)上在很多場(chǎng)景下,虛擬化技術(shù)并非容器所能夠替代的。所以作為要踏入云計(jì)算領(lǐng)域的初學(xué)者們,還是有必要深入了解服務(wù)器虛擬化。下面我們看看虛擬化發(fā)展歷程和外在因素和推動(dòng)力。
分區(qū)技術(shù)使得虛擬化層為多個(gè)虛擬機(jī)劃分服務(wù)器資源的能力;使您能夠在一臺(tái)服務(wù)器上運(yùn)行多個(gè)應(yīng)用程序,每個(gè)操作系統(tǒng)只能看到虛擬化層為其提供的虛擬硬件。
虛擬機(jī)隔離讓虛擬機(jī)是互相隔離,一個(gè)虛擬機(jī)的崩潰或故障(例如,操作系統(tǒng)故障、應(yīng)用程序崩潰、驅(qū)動(dòng)程序故障等等)不會(huì)影響同一服務(wù)器上的其它虛擬機(jī)。
封裝意味著將整個(gè)虛擬機(jī)(硬件配置、BIOS 配置、內(nèi)存狀態(tài)、磁盤狀態(tài)、CPU 狀態(tài))儲(chǔ)存在獨(dú)立于物理硬件的一小組文件中。這樣,您只需復(fù)制幾個(gè)文件就可以隨時(shí)隨地根據(jù)需要復(fù)制、保存和移動(dòng)虛擬機(jī)。
CPU虛擬化發(fā)展
服務(wù)器虛擬化按照虛擬化程度可分為全虛擬化、半虛擬化、硬件輔助虛擬化。
CPU虛擬化的條件和技術(shù)難點(diǎn),CPU本身有不同運(yùn)行級(jí)別,這些級(jí)別對(duì)應(yīng)不同權(quán)限。虛擬機(jī)執(zhí)行到這些敏感指令的時(shí)候,很有可能出現(xiàn)錯(cuò)誤,將會(huì)影響到整個(gè)機(jī)器的穩(wěn)定,所以不允許VM直接執(zhí)行。那就需要虛擬化平臺(tái)解決這個(gè)問題。

全虛擬化: VMM在軟件堆棧中的位置是傳統(tǒng)意義上操作系統(tǒng)所處的位置,而操作系統(tǒng)的位置是傳統(tǒng)意義上應(yīng)用程序所處的位置。每個(gè)Guest OS對(duì)特殊指令訪問通信需要進(jìn)行二進(jìn)制轉(zhuǎn)換,以便提供到物理資源(如處理器、內(nèi)存、存儲(chǔ)、顯卡和網(wǎng)卡等)的接口,模擬硬件環(huán)境。

半虛擬化: Guest OS的部分代碼被改變,從而使Guest OS會(huì)將和特權(quán)指令相關(guān)的操作都轉(zhuǎn)換為發(fā)給VMM的Hypercall(超級(jí)調(diào)用),由VMM繼續(xù)進(jìn)行處理并返回結(jié)果。

硬件輔助虛擬化: 引入新的指令和運(yùn)行模式,使VMM和Guest OS分別運(yùn)行在不同模式(ROOT模式和非ROOT模式)下,且Guest OS運(yùn)行在Ring 0下運(yùn)行。使得Guest OS的核心指令可以直接下達(dá)到計(jì)算機(jī)系統(tǒng)硬件執(zhí)行,而不需要經(jīng)過VMM。

虛擬化軟件架構(gòu)分類
服務(wù)器虛擬化是云計(jì)算非常關(guān)鍵的技術(shù)之一,虛擬化的含義很廣泛,包括服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)以及數(shù)據(jù)中心虛擬化。其宗旨就是將任何一種形式的資源抽象成另一種形式的技術(shù)都是虛擬化。今天我們討論一下服務(wù)器虛擬化架構(gòu)的分類。
寄居虛擬化: 虛擬化管理軟件作為底層操作系統(tǒng)(Windows或Linux等)上的一個(gè)普通應(yīng)用程序,然后通過其創(chuàng)建相應(yīng)的虛擬機(jī),共享底層服務(wù)器資源。
裸金屬虛擬化: Hypervisor是指直接運(yùn)行于物理硬件之上的虛擬機(jī)監(jiān)控程序。它主要實(shí)現(xiàn)兩個(gè)基本功能:首先是識(shí)別、捕獲和響應(yīng)虛擬機(jī)所發(fā)出的CPU特權(quán)指令或保護(hù)指令;其次,它負(fù)責(zé)處理虛擬機(jī)隊(duì)列和調(diào)度,并將物理硬件的處理結(jié)果返回給相應(yīng)的虛擬機(jī)。
操作系統(tǒng)虛擬化: 沒有獨(dú)立的hypervisor層。相反,主機(jī)操作系統(tǒng)本身就負(fù)責(zé)在多個(gè)虛擬服務(wù)器之間分配硬件資源,并且讓這些服務(wù)器彼此獨(dú)立。一個(gè)明顯的區(qū)別是,如果使用操作系統(tǒng)層虛擬化,所有虛擬服務(wù)器必須運(yùn)行同一操作系統(tǒng)(不過每個(gè)實(shí)例有各自的應(yīng)用程序和用戶賬戶),Virtuozzo/OpenVZ/Docker等等。
混合虛擬化: 混合虛擬化模型同寄居虛擬化一樣使用主機(jī)操作系統(tǒng),但不是將管理程序放在主機(jī)操作系統(tǒng)之上,而是將一個(gè)內(nèi)核級(jí)驅(qū)動(dòng)器插入到主機(jī)操作系統(tǒng)內(nèi)核。這個(gè)驅(qū)動(dòng)器作為虛擬硬件管理器(VHM)協(xié)調(diào)虛擬機(jī)和主機(jī)操作系統(tǒng)之間的硬件訪問?梢钥吹剑旌咸摂M化模型依賴于內(nèi)存管理器和現(xiàn)有內(nèi)核的CPU調(diào)度工具。就像裸金屬虛擬化和操作系統(tǒng)虛擬化架構(gòu),沒有冗余的內(nèi)存管理器和CPU調(diào)度工具使這個(gè)模式的性能大大提高。
各種架構(gòu)對(duì)比
裸金屬虛擬化架構(gòu)與混合虛擬化架構(gòu)將是未來虛擬化架構(gòu)發(fā)展的趨勢(shì),配合硬件輔助虛擬化可以達(dá)到接近物理機(jī)的運(yùn)行性能。KVM、Hyper-V、VMware等主流服務(wù)器虛擬化都支持硬件輔助虛擬化。

內(nèi)存虛擬化
在虛擬環(huán)境里,虛擬化管理程序就要模擬使得虛擬出來的內(nèi)存仍符合客戶機(jī)OS對(duì)內(nèi)存的假定和認(rèn)識(shí)。在虛擬機(jī)看來,物理內(nèi)存要被多個(gè)客戶OS同時(shí)使用;解決物理內(nèi)存分給多個(gè)系統(tǒng)使用,客戶機(jī)OS內(nèi)存連續(xù)性問題。
要解決以上問題引入了一層新的客戶機(jī)物理地址空間來讓虛擬機(jī)OS看到一個(gè)虛擬的物理地址,并由虛擬化管理程序負(fù)責(zé)轉(zhuǎn)化成物理地址給物理處理器執(zhí)行。即給定一個(gè)虛擬機(jī),維護(hù)客戶機(jī)物理地址到宿主機(jī)物理地址之間的映射關(guān)系;截獲虛擬機(jī)對(duì)客戶機(jī)物理地址的訪問,將其轉(zhuǎn)化為物理地址。
內(nèi)存全虛擬化: 虛擬化管理程序?yàn)槊總(gè)Guest都維護(hù)一個(gè)影子頁表,影子頁表維護(hù)虛擬地址(VA)到機(jī)器地址(MA)的映射關(guān)系。

內(nèi)存半虛擬化技術(shù): 當(dāng)Guest OS創(chuàng)建一個(gè)新的頁表時(shí),其會(huì)向VMM注冊(cè)該頁表,之后在Guest運(yùn)行的時(shí)候,VMM將不斷地管理和維護(hù)這個(gè)表,使Guest上面的程序能直接訪問到合適的地址。

硬件輔助內(nèi)存虛擬化: 在原有的頁表的基礎(chǔ)上,增加了一個(gè)EPT(擴(kuò)展頁表)頁表,通過這個(gè)頁表能夠?qū)uest的物理地址直接翻譯為主機(jī)的物理地址。

I/O虛擬化技術(shù)
當(dāng)虛擬化后,服務(wù)器的以太網(wǎng)端口被分割為多個(gè)后,網(wǎng)絡(luò)、存儲(chǔ)以及服務(wù)器之間的流量可能就不夠用了。當(dāng)遇到I/O瓶頸時(shí),CPU會(huì)空閑下來等待數(shù)據(jù),計(jì)算效率會(huì)大大降低。所以虛擬化也必須擴(kuò)展至I/O系統(tǒng),在工作負(fù)載、存儲(chǔ)以及服務(wù)器之間動(dòng)態(tài)共享帶寬,能夠最大化地利用網(wǎng)絡(luò)接口。
I/O虛擬化的目標(biāo)是不僅讓虛擬機(jī)訪問到它們所需要的I/O資源,而且要做好它們之間的隔離工作,更重要的是,減輕由于虛擬化所帶來的開銷。
全虛擬化: 通過模擬I/O設(shè)備(磁盤和網(wǎng)卡等)來實(shí)現(xiàn)虛擬化。對(duì)Guest OS而言,它所能看到就是一組統(tǒng)一的I/O設(shè)備,VMM截獲Guest OS對(duì)I/O設(shè)備的訪問請(qǐng)求,然后通過軟件模擬真實(shí)的硬件。這種方式對(duì)Guest而言非常透明,無需考慮底層硬件的情況。比如Guest操作的是磁盤類型、物理接口等等。
半虛擬化: 通過前端、后端架構(gòu),將Guest的I/O請(qǐng)求通過一個(gè)環(huán)狀隊(duì)列傳遞到特權(quán)域(也被稱為Domain0)。因?yàn)檫@種方式的相關(guān)細(xì)節(jié)較多,所以會(huì)在后文進(jìn)行深入分析。

硬件輔助虛擬化: 最具代表性莫過于Intel的VT-d/VT-c,AMD的IOMMU和PCI-SIG的IOV等。這種技術(shù)也需要相應(yīng)網(wǎng)卡配合實(shí)現(xiàn),目前常見的網(wǎng)卡分為普通網(wǎng)卡、VMDq直通和SR-IOV。
普通網(wǎng)卡采用Domin0網(wǎng)橋隊(duì)列。
VMDq通過VMM在服務(wù)器的物理網(wǎng)卡中為每個(gè)虛機(jī)分配一個(gè)獨(dú)立的隊(duì)列,虛機(jī)出來的流量可直接經(jīng)過軟件交換機(jī)發(fā)送到指定隊(duì)列上,軟件交換機(jī)無需進(jìn)行排序和路由操作,Hyper-V就是采用這種模式。
SR-IOV通過創(chuàng)建不同虛擬功能(VF)的方式,給虛擬機(jī)使用物理獨(dú)立網(wǎng)卡,實(shí)現(xiàn)虛擬機(jī)直接跟硬件網(wǎng)卡通信,不再經(jīng)過軟件交換機(jī),減少了虛擬化管理程序?qū)拥牡刂忿D(zhuǎn)換。
Intel硬件對(duì)虛擬化支持
VT-x技術(shù) 為IA 32 處理器增加了VMX root operation 和 VMX non-root operation兩種操作模式。VMM自己運(yùn)行在 VMX root operation 模式,GuestOS運(yùn)行在VMXnon-root operation 模式。兩種操作模式都支持 Ring0-Ring 3特權(quán)運(yùn)行級(jí)別,因此 VMM和 Guest OS 都可以自由選擇它們所期望的運(yùn)行級(jí)別。允許虛擬機(jī)直接執(zhí)行某些指令,減少VMM負(fù)擔(dān)。VT-x指至強(qiáng)處理器的VT技術(shù),VT-i指安騰處理器的VT技術(shù)。

VT-d(VT for Direct I/O)主要在芯片組中實(shí)現(xiàn),允許虛擬機(jī)直接訪問I/O設(shè)備,以減少VMM和CPU的負(fù)擔(dān)。其核心思想就是讓虛擬機(jī)能直接使用物理設(shè)備,但是這會(huì)牽涉到I/O地址訪問和DMA的問題,而VT-d通過采用DMA重映射和I/O頁表來解決這兩個(gè)問題,從而讓虛擬機(jī)能直接訪問物理設(shè)備。
VT-c(VTfor Connectivity)主要在網(wǎng)卡上實(shí)現(xiàn),包括兩個(gè)核心技術(shù)VMDq和VMDc。VMDq通過網(wǎng)卡上的特定硬件將不同虛擬機(jī)的數(shù)據(jù)包預(yù)先分類,然后通過VMM分發(fā)給各虛擬機(jī),以此減少由VMM進(jìn)行數(shù)據(jù)包分類的CPU開銷。VMDc允許虛擬機(jī)直接訪問網(wǎng)卡設(shè)備,Single Root I/O Virtualization(SR-IOV)是PCI-SIG規(guī)范,可以將一個(gè)PCIe設(shè)備分配給多個(gè)虛擬機(jī)來直接訪問。
可信執(zhí)行技術(shù)(TXT)通過使用高級(jí)的模塊芯片,可以有效確保用戶計(jì)算機(jī)免受各種安全威脅。主要是通過硬件內(nèi)核和子系統(tǒng)來控制被訪問的計(jì)算機(jī)資源。使得計(jì)算機(jī)病毒、惡意代碼、間諜軟件和其他安全威脅將不復(fù)存在。
GPU及GPU虛擬化技術(shù)
GPU直通將GPU設(shè)備直通給虛擬機(jī);GPU共享則將GPU設(shè)備直通給GPU server虛擬機(jī),GPU server可與GPU client共享其 GPU設(shè)備;GPU虛擬化是指將GPU設(shè)備可虛擬化為n個(gè)vGPU,對(duì)應(yīng)的n個(gè)虛擬機(jī)可同時(shí)直接使用該GPU設(shè)備,支持虛擬化的GPU設(shè)備可配置為直通或虛擬化類型。
GPU虛擬化通過VGX GPU硬件虛擬化功能,把一個(gè)物理GPU設(shè)備虛擬為多個(gè)虛擬GPU設(shè)備供虛擬機(jī)使用,每個(gè)虛擬機(jī)通過綁定的vGPU可以直接訪問物理GPU的部分硬件資源,所有vGPU都能夠分時(shí)共享訪問物理GPU的3D圖形引擎和視頻編解碼引擎,并擁有獨(dú)立的顯存。
GPU虛擬化功能支持將一個(gè)物理GPU設(shè)備可同時(shí)供多個(gè)虛擬機(jī)使用,而GPU直通中一個(gè)GPU設(shè)備只能給一個(gè)虛擬機(jī)使用。GPU虛擬化使同時(shí)使用同一GPU物理設(shè)備的虛擬機(jī)間互不影響,系統(tǒng)自動(dòng)分配物理GPU設(shè)備的處理能力給多個(gè)虛擬機(jī),而GPU共享是通過GPU server掛載GPU設(shè)備,在主機(jī)上建立GPU Server與GPU client的高速通訊機(jī)制,使得GPU client可以共享GPU server的GPU設(shè)備,GPU client是否享有GPU功能完全依賴于GPU server。
產(chǎn)品與服務(wù)
香港服務(wù)器 香港高防服務(wù)器 美國(guó)服務(wù)器 韓國(guó)服務(wù)器 新加坡服務(wù)器 日本服務(wù)器 臺(tái)灣服務(wù)器云服務(wù)器
香港云主機(jī) 美國(guó)云主機(jī) 韓國(guó)云主機(jī) 新加坡云主機(jī) 臺(tái)灣云主機(jī) 日本云主機(jī) 德國(guó)云主機(jī) 全球云主機(jī)高防專線
海外高防IP 海外無限防御 SSL證書 高防CDN套餐 全球節(jié)點(diǎn)定制 全球?qū)>GPLC關(guān)于我們
關(guān)于天下數(shù)據(jù) 數(shù)據(jù)招商加盟 天下數(shù)據(jù)合作伙伴 天下數(shù)據(jù)團(tuán)隊(duì)建設(shè) 加入天下數(shù)據(jù) 媒體報(bào)道 榮譽(yù)資質(zhì) 付款方式關(guān)注我們
微信公眾賬號(hào)
新浪微博
天下數(shù)據(jù)手機(jī)站 關(guān)于天下數(shù)據(jù) 聯(lián)系我們 誠(chéng)聘英才 付款方式 幫助中心 網(wǎng)站備案 解決方案 域名注冊(cè) 網(wǎng)站地圖
天下數(shù)據(jù)18年專注海外香港服務(wù)器、美國(guó)服務(wù)器、海外云主機(jī)、海外vps主機(jī)租用托管以及服務(wù)器解決方案-做天下最好的IDC服務(wù)商
《中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證》 ISP證:粵ICP備07026347號(hào)
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運(yùn)營(yíng))聯(lián)合版權(quán)
深圳總部:中國(guó).深圳市南山區(qū)深圳國(guó)際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號(hào)建安商業(yè)大廈7樓
7×24小時(shí)服務(wù)熱線:4006388808香港服務(wù)電話:+852 67031102
本網(wǎng)站的域名注冊(cè)業(yè)務(wù)代理北京新網(wǎng)數(shù)碼信息技術(shù)有限公司的產(chǎn)品