版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 DOCPROPERTY Product Project Name 華為FusionSphere DOCPROPERTY DocumentName 虛擬化技術(shù)白皮書前 言概述本文檔介紹FusionSphere產(chǎn)品的虛擬化技術(shù)。符號約定在本文中可能出現(xiàn)下列標(biāo)志,它們所代表的含義如下。符號說明用于警示緊急的危險(xiǎn)情形,若不避免,將會導(dǎo)致人員死亡或嚴(yán)重的人身傷害。用于警示潛在的危險(xiǎn)情形,若不避免,可能會導(dǎo)致人員死亡或嚴(yán)重的人身傷害。用于警示潛在的危險(xiǎn)情形,若不避免,可能會導(dǎo)致中度或輕微的人身傷害。用于傳遞設(shè)備或環(huán)境安全警示信息,若不避免,可能會導(dǎo)致設(shè)備損壞、數(shù)據(jù)丟失、設(shè)備性能降低或其它不可預(yù)知的結(jié)果。
2、“注意”不涉及人身傷害。用于突出重要/關(guān)鍵信息、最佳實(shí)踐和小竅門等?!罢f明”不是安全警示信息,不涉及人身、設(shè)備及環(huán)境傷害信息。 STYLEREF Contents 目 錄 DOCPROPERTY DocumentName 虛擬化技術(shù)白皮書目 錄 TOC o 1-1 h z t 標(biāo)題 2,2,標(biāo)題 3,3,Appendix heading 2,2,Appendix heading 3,3 HYPERLINK l _Toc417726195 前 言 PAGEREF _Toc417726195 h ii HYPERLINK l _Toc417726196 1 執(zhí)行摘要/Executive Summa
3、ry PAGEREF _Toc417726196 h 1 HYPERLINK l _Toc417726197 2 產(chǎn)品簡介/Introduction PAGEREF _Toc417726197 h 2 HYPERLINK l _Toc417726198 3 功能描述/Solution PAGEREF _Toc417726198 h 3 HYPERLINK l _Toc417726199 3.1 技術(shù)原理 PAGEREF _Toc417726199 h 3 HYPERLINK l _Toc417726200 3.1.1 虛擬化歷史 PAGEREF _Toc417726200 h 3 HYPERL
4、INK l _Toc417726201 3.1.2 虛擬化原理 PAGEREF _Toc417726201 h 4 HYPERLINK l _Toc417726202 3.1.3 虛擬化實(shí)現(xiàn) PAGEREF _Toc417726202 h 6 HYPERLINK l _Toc417726203 3.2 功能架構(gòu) PAGEREF _Toc417726203 h 11 HYPERLINK l _Toc417726204 3.2.1 FusionCompute虛擬化平臺技術(shù)架構(gòu) PAGEREF _Toc417726204 h 11 HYPERLINK l _Toc417726205 3.2.2 Fu
5、sionCompute虛擬化平臺功能 PAGEREF _Toc417726205 h 13 HYPERLINK l _Toc417726206 3.2.3 FusionCompute虛擬化平臺技術(shù)特點(diǎn) PAGEREF _Toc417726206 h 14 HYPERLINK l _Toc417726207 3.3 計(jì)算虛擬化 PAGEREF _Toc417726207 h 15 HYPERLINK l _Toc417726208 3.3.1 內(nèi)存復(fù)用技術(shù) PAGEREF _Toc417726208 h 15 HYPERLINK l _Toc417726209 3.3.2 Host NUMA P
6、AGEREF _Toc417726209 h 18 HYPERLINK l _Toc417726210 3.3.3 GPU虛擬化 PAGEREF _Toc417726210 h 19 HYPERLINK l _Toc417726211 3.3.4 CPU QoS PAGEREF _Toc417726211 h 20 HYPERLINK l _Toc417726212 3.3.5 Guest NUMA PAGEREF _Toc417726212 h 21 HYPERLINK l _Toc417726213 3.3.6 虛擬機(jī)支持UEFI固件 PAGEREF _Toc417726213 h 21
7、HYPERLINK l _Toc417726214 3.3.7 虛擬機(jī)部署組 PAGEREF _Toc417726214 h 22 HYPERLINK l _Toc417726215 3.4 存儲虛擬化 PAGEREF _Toc417726215 h 22 HYPERLINK l _Toc417726216 3.4.1 鏈接克隆 PAGEREF _Toc417726216 h 22 HYPERLINK l _Toc417726217 3.4.2 存儲瘦分配 PAGEREF _Toc417726217 h 23 HYPERLINK l _Toc417726218 3.4.3 存儲QOS PAGE
8、REF _Toc417726218 h 24 HYPERLINK l _Toc417726219 3.4.4 存儲在線擴(kuò)容 PAGEREF _Toc417726219 h 24 HYPERLINK l _Toc417726220 3.4.5 PVSCSI支持 PAGEREF _Toc417726220 h 25 HYPERLINK l _Toc417726221 3.5 網(wǎng)絡(luò)虛擬化 PAGEREF _Toc417726221 h 25 HYPERLINK l _Toc417726222 3.5.1 VMDQ PAGEREF _Toc417726222 h 25 HYPERLINK l _Toc
9、417726223 3.5.2 SR-IOV PAGEREF _Toc417726223 h 27 HYPERLINK l _Toc417726224 3.5.3 分布式交換機(jī) PAGEREF _Toc417726224 h 29 HYPERLINK l _Toc417726225 3.5.4 VNI網(wǎng)卡 PAGEREF _Toc417726225 h 29 HYPERLINK l _Toc417726226 3.5.5 端口鏡像 PAGEREF _Toc417726226 h 30 HYPERLINK l _Toc417726227 3.5.6 業(yè)務(wù)面支持IPV6 PAGEREF _Toc4
10、17726227 h 31 HYPERLINK l _Toc417726228 3.6 高可用性 PAGEREF _Toc417726228 h 32 HYPERLINK l _Toc417726229 3.6.1 虛擬機(jī)熱遷移 PAGEREF _Toc417726229 h 32 HYPERLINK l _Toc417726230 3.6.2 虛擬機(jī)熱備份 PAGEREF _Toc417726230 h 33 HYPERLINK l _Toc417726231 3.6.3 虛擬資源熱插 PAGEREF _Toc417726231 h 33 HYPERLINK l _Toc417726232
11、3.6.4 虛擬機(jī)內(nèi)存快照 PAGEREF _Toc417726232 h 34 HYPERLINK l _Toc417726233 3.7 高安全性 PAGEREF _Toc417726233 h 36 HYPERLINK l _Toc417726234 3.7.1 VLAN PAGEREF _Toc417726234 h 36 HYPERLINK l _Toc417726235 3.7.2 安全組 PAGEREF _Toc417726235 h 36 HYPERLINK l _Toc417726236 3.7.3 安全加固 PAGEREF _Toc417726236 h 37 HYPERL
12、INK l _Toc417726237 3.7.4 防火墻 PAGEREF _Toc417726237 h 37 HYPERLINK l _Toc417726238 3.8 可管理性 PAGEREF _Toc417726238 h 37 HYPERLINK l _Toc417726239 3.8.1 Kbox黑匣子 PAGEREF _Toc417726239 h 37 HYPERLINK l _Toc417726240 3.8.2 一鍵式收集工具 PAGEREF _Toc417726240 h 37 HYPERLINK l _Toc417726241 3.8.3 GuestOS故障檢測 PAG
13、EREF _Toc417726241 h 38 HYPERLINK l _Toc417726242 3.8.4 系統(tǒng)故障告警 PAGEREF _Toc417726242 h 38 HYPERLINK l _Toc417726243 3.9 可節(jié)能性 PAGEREF _Toc417726243 h 38 HYPERLINK l _Toc417726244 3.9.1 CPU節(jié)能管理 PAGEREF _Toc417726244 h 38 HYPERLINK l _Toc417726245 4 平臺應(yīng)用/Experience PAGEREF _Toc417726245 h 39 HYPERLINK
14、l _Toc417726246 4.1 應(yīng)用概述: PAGEREF _Toc417726246 h 39 HYPERLINK l _Toc417726247 4.2 應(yīng)用一:服務(wù)器整合 PAGEREF _Toc417726247 h 39 HYPERLINK l _Toc417726248 4.3 應(yīng)用二:企業(yè)虛擬桌面 PAGEREF _Toc417726248 h 42 HYPERLINK l _Toc417726249 5 結(jié) 論/Conclution PAGEREF _Toc417726249 h 44 HYPERLINK l _Toc417726250 6 縮略語/Acronyms a
15、nd Abbreviations PAGEREF _Toc417726250 h 45執(zhí)行摘要/Executive Summary華為公司過去二十幾年一直在電信領(lǐng)域耕耘,隨著電信業(yè)務(wù)的數(shù)據(jù)化和電信技術(shù)的IT化,由云計(jì)算等新技術(shù)掀起的ICT變革不可阻擋,為適應(yīng)ICT行業(yè)正在發(fā)生的革命性變化與融合,華為做出面向客戶的戰(zhàn)略調(diào)整,華為的創(chuàng)新從電信運(yùn)營商網(wǎng)絡(luò)向企業(yè)業(yè)務(wù)、消費(fèi)者領(lǐng)域延伸,協(xié)同發(fā)展“云-管-端”業(yè)務(wù),而云計(jì)算正是其中重要的一環(huán)。作為華為ICT戰(zhàn)略的核心,云計(jì)算戰(zhàn)略的關(guān)鍵是打造最好的云計(jì)算平臺,這個(gè)平臺將支持“百萬級服務(wù)器擴(kuò)展、百萬T的存儲能力、百T級網(wǎng)絡(luò)互連能力”,支撐海量信息的計(jì)算和存儲,
16、并通過“零參與的自動(dòng)管控”,降低運(yùn)維成本。華為FusionCompute虛擬化平臺(Unified Virtualization Platform)統(tǒng)一虛擬化平臺是云計(jì)算基礎(chǔ)平臺的核心組成部分,通過服務(wù)器虛擬化技術(shù)將存儲、網(wǎng)絡(luò)連接和計(jì)算虛擬化有機(jī)地結(jié)合到一起,使整個(gè)IT環(huán)境比單獨(dú)的物理硬件具有更高的適用性、可用性和效率,除了滿足企業(yè)對于降低成本、簡化管理、提高安全和敏捷度的訴求,主要為企業(yè)關(guān)鍵業(yè)務(wù)向云計(jì)算遷移、構(gòu)建企業(yè)云數(shù)據(jù)中心提供核心的虛擬化技術(shù)和能力。該技術(shù)白皮書從虛擬化技術(shù)的發(fā)展和原理入手,進(jìn)而介紹華為虛擬化平臺的技術(shù)架構(gòu)、技術(shù)特點(diǎn),重點(diǎn)內(nèi)容放在對FusionCompute虛擬化平臺技術(shù)
17、特性的描述上,具體分計(jì)算虛擬化、存儲虛擬化和網(wǎng)絡(luò)虛擬化三個(gè)技術(shù)領(lǐng)域詳細(xì)描述平臺主要技術(shù)點(diǎn)的功能場景、技術(shù)原理和用戶價(jià)值,突出FusionCompute虛擬化平臺在性能、可靠性(業(yè)務(wù)連續(xù)性)、安全性以及可維護(hù)性等方面所具有的技術(shù)領(lǐng)先優(yōu)勢。最后從使用者的角度,描述虛擬化平臺在服務(wù)器整合、互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)和桌面云(VDI)三大解決方案中提供的核心技術(shù)能力,展現(xiàn)FusionCompute虛擬化平臺及虛擬化技術(shù)給用戶帶來的使用價(jià)值。產(chǎn)品簡介/Introduction20世紀(jì)90年代,隨著Windows的廣泛使用及Linux服務(wù)器操作系統(tǒng)的出現(xiàn)奠定了x86服務(wù)器的行業(yè)標(biāo)準(zhǔn)地位,然而x86服務(wù)器部署
18、的增長帶來了新的IT基礎(chǔ)架構(gòu)和運(yùn)作難題,包括:基礎(chǔ)架構(gòu)利用率低、物理基礎(chǔ)架構(gòu)成本日益攀升、IT管理成本不斷提高以及對關(guān)鍵應(yīng)用故障和災(zāi)難保護(hù)不足等問題。X86服務(wù)器虛擬化技術(shù)的出現(xiàn),通過將x86系統(tǒng)轉(zhuǎn)變成通用的共享硬件基礎(chǔ)架構(gòu),充分挖掘硬件的潛力,提高硬件的利用效率,降低硬件和運(yùn)營成本,并且簡化運(yùn)維降低管理成本,最終幫助用戶把更多的時(shí)間和成本轉(zhuǎn)移到對業(yè)務(wù)的投入上。隨著云計(jì)算和虛擬化技術(shù)向構(gòu)建新一代數(shù)據(jù)中心方向發(fā)展,關(guān)鍵以虛擬化為基礎(chǔ),實(shí)現(xiàn)管理以及業(yè)務(wù)的集中,對數(shù)據(jù)中心資源進(jìn)行動(dòng)態(tài)調(diào)整和分配,重點(diǎn)滿足企業(yè)關(guān)鍵應(yīng)用向X86系統(tǒng)遷移對于資源高性能、高可靠、安全性和高可適應(yīng)性上的要求,同時(shí)提高基礎(chǔ)架構(gòu)的
19、自動(dòng)化管理水平,確保滿足基礎(chǔ)設(shè)施快速適應(yīng)業(yè)務(wù)的商業(yè)敏捷訴求,同時(shí)進(jìn)一步減少企業(yè)的IT整體投入。FusionCompute虛擬化平臺作為介于硬件和操作系統(tǒng)之間的軟件層,采用裸金屬架構(gòu)的X86虛擬化技術(shù),實(shí)現(xiàn)對服務(wù)器物理資源的抽象,將CPU、內(nèi)存、I/O等服務(wù)器物理資源轉(zhuǎn)化為一組可統(tǒng)一管理、調(diào)度和分配的邏輯資源,并基于這些邏輯資源在單個(gè)物理服務(wù)器上構(gòu)建多個(gè)同時(shí)運(yùn)行、相互隔離的虛擬機(jī)執(zhí)行環(huán)境,實(shí)現(xiàn)更高的資源利用率,同時(shí)滿足應(yīng)用更加靈活的資源動(dòng)態(tài)分配需求,譬如提供熱遷移、DRS等高可用特性,實(shí)現(xiàn)更低的運(yùn)營成本、更高的靈活性和更快速的業(yè)務(wù)響應(yīng)速度。FusionCompute虛擬化平臺重點(diǎn)聚焦關(guān)鍵業(yè)務(wù)的虛
20、擬化需求,滿足ERP、CRM、核心數(shù)據(jù)庫、Web、電子商務(wù)、多應(yīng)用整合等典型的關(guān)鍵業(yè)務(wù)應(yīng)用對于性能、高可靠、高安全以及自動(dòng)運(yùn)維方面的業(yè)務(wù)訴求,提供相應(yīng)的虛擬化技術(shù)特性,加快推動(dòng)業(yè)務(wù)和應(yīng)用的云化。功能描述/Solution技術(shù)原理虛擬化歷史虛擬化歷史虛擬化技術(shù)源于大型機(jī),最早可以追溯到上世紀(jì)六、七十年代大型機(jī)上的虛擬分區(qū)技術(shù),即允許在一臺主機(jī)上運(yùn)行多個(gè)操作系統(tǒng),讓用戶盡可能充分地利用昂貴的大型機(jī)資源。隨著技術(shù)的發(fā)展和市場競爭的需要,虛擬化技術(shù)向小型機(jī)或UNIX服務(wù)器上移植,只是由于真正使用大型機(jī)和小型機(jī)的用戶還是少數(shù),加上各廠商產(chǎn)品和技術(shù)之間的不兼容,使得虛擬化技術(shù)不太被公眾所關(guān)注。(注:由于X
21、86架構(gòu)在設(shè)計(jì)之初并沒有考慮支持虛擬化技術(shù),它本身的結(jié)構(gòu)和復(fù)雜性使得在其之上進(jìn)行虛擬化非常困難,早期的X86架構(gòu)并沒有成為虛擬化技術(shù)的受益者)20世紀(jì)90年代,以VMware為代表的部分虛擬化軟件廠商采用一種軟件解決方案,以VMM(Virtual Machine Monitor, VMM 虛擬機(jī)監(jiān)視器)為中心使X86服務(wù)器平臺實(shí)現(xiàn)虛擬化。然而這種純軟件的“全虛擬化”模式,每個(gè)Guest OS(客戶操作系統(tǒng))獲得的關(guān)鍵平臺資源都要由VMM控制和分配,需要利用二進(jìn)制轉(zhuǎn)換,而二進(jìn)制轉(zhuǎn)換帶來的開銷使得“完全虛擬化”的性能大打折扣。為解決性能問題,出現(xiàn)了一種新的虛擬化技術(shù)“半虛擬化”,即不需要二進(jìn)制轉(zhuǎn)換
22、,而是通過對客戶操作系統(tǒng)進(jìn)行代碼級修改,使定制的Guest OS獲得額外的性能和高擴(kuò)展性,但是修改Guest OS也帶來了系統(tǒng)指令級的沖突及運(yùn)行效率問題,需要投入大量優(yōu)化的工作。當(dāng)前,虛擬化技術(shù)已經(jīng)發(fā)展到了硬件支持的階段,“硬件虛擬化”技術(shù)就是把純軟件虛擬化技術(shù)的各項(xiàng)功能用硬件電路來實(shí)現(xiàn),可減少VMM運(yùn)行的系統(tǒng)開銷,可同時(shí)滿足CPU半虛擬化和二進(jìn)制轉(zhuǎn)換技術(shù)的需求,使VMM的設(shè)計(jì)得到簡化,進(jìn)而使VMM能夠按通用標(biāo)準(zhǔn)進(jìn)行編寫。硬件輔助虛擬化技術(shù)除了在處理器上集成硬件輔助虛擬化指令,同時(shí)提供I/O方面的虛擬化支持,最終將實(shí)現(xiàn)整個(gè)平臺的虛擬化。X86虛擬化技術(shù)的實(shí)現(xiàn)和發(fā)展,都向人們展示了虛擬化應(yīng)用的廣
23、闊前景。虛擬化原理虛擬化原理虛擬化 (Virtualization) 是資源的邏輯表示,而不受物理限制的約束。虛擬化技術(shù)的實(shí)現(xiàn)形式是在系統(tǒng)中加入一個(gè)虛擬化層,將下層的資源抽象成另一形式的資源,提供給上層使用。服務(wù)器虛擬化就是使軟件和硬件相互分離,把軟件從主要安裝硬件中分離出來。它可以在服務(wù)器架構(gòu)中的多個(gè)位置實(shí)施虛擬化,包括應(yīng)用程序與操作系統(tǒng)之間(輕量級容器)或操作系統(tǒng)與硬件之間,后者指位于下層的虛擬化軟件通過空間上的分割、時(shí)間上的分時(shí)以及模擬,抽象出一個(gè)虛擬的硬件接口,向上層操作系統(tǒng)提供一個(gè)與它原先期待一致的服務(wù)器硬件環(huán)境,使得上層操作系統(tǒng)可以直接運(yùn)行在虛擬環(huán)境上,可允許多個(gè)操作系統(tǒng)同時(shí)運(yùn)行在
24、單個(gè)物理服務(wù)器上。虛擬化架構(gòu)服務(wù)器虛擬化的虛擬化軟件層稱為虛擬機(jī)監(jiān)控器 (Virtual Machine Monitor, VMM),也稱Hypervisor,常見的Hypervisor分兩類: Type-I(裸金屬型)指VMM直接運(yùn)作在裸機(jī)上,使用和管理底層的硬件資源,Guest OS對真實(shí)硬件資源的訪問都要通過VMM來完成,作為底層硬件的直接操作者,VMM擁有硬件的驅(qū)動(dòng)程序。Type-II型(宿主型)指VMM之下還有一層宿主操作系統(tǒng),由于Guest OS對硬件的訪問必須經(jīng)過宿主操作系統(tǒng),因而帶來了額外的性能開銷,但可充分利用宿主操作系統(tǒng)提供的設(shè)備驅(qū)動(dòng)和底層服務(wù)來進(jìn)行內(nèi)存管理、進(jìn)程調(diào)度和資源
25、管理等。服務(wù)器虛擬化前后的巨大差異,源于虛擬機(jī)與物理服務(wù)器的本質(zhì)區(qū)別上:虛擬機(jī)的定義:虛擬機(jī) (Virtual Machine) 是由虛擬化層提供的高效、獨(dú)立的虛擬計(jì)算機(jī)系統(tǒng),每臺虛擬機(jī)都是一個(gè)完整的系統(tǒng),它具有處理器、內(nèi)存、網(wǎng)絡(luò)設(shè)備、存儲設(shè)備和BIOS,因此操作系統(tǒng)和應(yīng)用程序在虛擬機(jī)中的運(yùn)行方式與它們在物理服務(wù)器上的運(yùn)行方式?jīng)]有什么區(qū)別。虛擬機(jī)的本質(zhì)區(qū)別:與物理服務(wù)器相比,虛擬機(jī)不是由真實(shí)的電子元件組成,而是由一組虛擬組件(文件)組成,這些虛擬組件與物理服務(wù)器的硬件配置無關(guān),關(guān)鍵與物理服務(wù)器相比,虛擬機(jī)具有以下優(yōu)勢:抽象解耦:1.可在任何X86架構(gòu)的服務(wù)器上運(yùn)行;2.上層應(yīng)用操作系統(tǒng)不需修改
26、即可運(yùn)行;分區(qū)隔離:1.可與其他虛擬機(jī)同時(shí)運(yùn)行;2.實(shí)現(xiàn)數(shù)據(jù)處理、網(wǎng)絡(luò)連接和數(shù)據(jù)存儲的安全隔離;封裝移動(dòng):1.可封裝于文件之中,通過簡單的文件復(fù)制實(shí)現(xiàn)快速部署、備份及還原;2.可便捷地將整個(gè)系統(tǒng)(包括虛擬硬件、操作系統(tǒng)和配置好的應(yīng)用程序)在不同的物理服務(wù)器之間進(jìn)行遷移,甚至可以在虛擬機(jī)正在運(yùn)行的情況下進(jìn)行遷移;彈性擴(kuò)展:1.可對單個(gè)物理服務(wù)器上的虛擬資源(VCPU、VNIC等)進(jìn)行按需動(dòng)態(tài)擴(kuò)展(不停機(jī));2.可作為即插即用的虛擬工具進(jìn)行構(gòu)建和分發(fā),按集群彈性資源分配機(jī)制實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)展;虛擬化實(shí)現(xiàn)VMM (Virtual Machine Monitor)對物理資源的虛擬可以劃分為三個(gè)部分:CPU虛
27、擬化、內(nèi)存虛擬化和 I/O 設(shè)備虛擬化,其中以CPU的虛擬化最為關(guān)鍵。CPU虛擬化經(jīng)典的虛擬化方法:現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)一般至少有兩個(gè)特權(quán)級(即用戶態(tài)和核心態(tài),x86有四個(gè)特權(quán)級Ring0 Ring3)用來分隔系統(tǒng)軟件和應(yīng)用軟件。那些只能在處理器的最高特權(quán)級(內(nèi)核態(tài))執(zhí)行的指令稱之為特權(quán)指令,一般可讀寫系統(tǒng)關(guān)鍵資源的指令(即敏感指令)決大多數(shù)都是特權(quán)指令(X86存在若干敏感指令是非特權(quán)指令的情況)。如果執(zhí)行特權(quán)指令時(shí)處理器的狀態(tài)不在內(nèi)核態(tài),通常會引發(fā)一個(gè)異常而交由系統(tǒng)軟件來處理這個(gè)非法訪問(陷入)。經(jīng)典的虛擬化方法就是使用“特權(quán)解除”和“陷入-模擬”的方式,即將Guest OS運(yùn)行在非特權(quán)級,而
28、將VMM運(yùn)行于最高特權(quán)級(完全控制系統(tǒng)資源)。解除了Guest OS的特權(quán)級后,Guest OS的大部分指令仍可以在硬件上直接運(yùn)行,只有執(zhí)行到特權(quán)指令時(shí),才會陷入到VMM模擬執(zhí)行(陷入-模擬)?!跋萑?模擬” 的本質(zhì)是保證可能影響VMM正確運(yùn)行的指令由VMM模擬執(zhí)行,大部分的非敏感指令還是照常運(yùn)行。X86的虛擬化漏洞:因?yàn)閄86指令集中有若干條指令是需要被VMM捕獲的敏感指令,但是卻不是特權(quán)指令(稱為臨界指令),因此“特權(quán)解除”并不能導(dǎo)致他們發(fā)生陷入模擬,執(zhí)行它們不會發(fā)生自動(dòng)的“陷入”而被VMM捕獲,從而阻礙了指令的虛擬化。具體X86下的敏感指令分類大致如下:1、訪問或修改機(jī)器狀態(tài)或虛擬機(jī)狀態(tài)
29、的指令。2、訪問或修改敏感寄存器或存儲單元的指令,比如訪問時(shí)鐘寄存器和中斷寄存器。3、訪問存儲保護(hù)系統(tǒng)或內(nèi)存、地址分配系統(tǒng)的指令。(段頁之類)4、所有I/O指令。其中的(1)和(4)都是特權(quán)指令,在內(nèi)核態(tài)下執(zhí)行時(shí)會自動(dòng)產(chǎn)生陷阱被 VMM 捕獲,但是(2)和(3)不是特權(quán)指令,而是臨界指令。部分臨界指令會因?yàn)镚uest OS的權(quán)限解除執(zhí)行失敗,但是卻不會拋出異常,所以不能被捕獲,譬如:(3)中的VERW指令。X86的虛擬化方法:X86的虛擬化由于x86指令集中有十多條敏感指令不是特權(quán)指令,因此x86無法使用經(jīng)典的虛擬化技術(shù)完全虛擬化。鑒于x86指令集本身的局限,長期以來針對x86的虛擬化實(shí)現(xiàn)大致
30、分為兩派,即以VMWare為代表的Full virtualization派和以 Xen 為代表的Para virtualization派。兩派區(qū)別主要在對非特權(quán)敏感指令的處理上,F(xiàn)ull派采用的是動(dòng)態(tài)的方法,即:運(yùn)行時(shí)監(jiān)測,捕捉后在 VMM 中模擬;而Para派則主動(dòng)進(jìn)攻,將所有用到的非特權(quán)敏感指令全部替換,這樣就少掉了大量的陷入- 上下文切換 - 模擬 - 上下文切換過程,獲得了大幅的性能提升。1、X86“全虛擬化”(指所抽象的VM具有完全的物理機(jī)特性,OS在其上運(yùn)行不需要任何修改)Full派秉承無需修改直接運(yùn)行的理念,對“運(yùn)行時(shí)監(jiān)測,捕捉后模擬”的過程進(jìn)行優(yōu)化。該派內(nèi)部之實(shí)現(xiàn)又有些差別,其
31、中以VMWare為代表的基于二進(jìn)制翻譯 (BT) 的全虛擬化為代表, 其主要思想是在執(zhí)行時(shí)將VM上執(zhí)行的Guest OS指令,翻譯成x86指令集的一個(gè)子集,其中的敏感指令被替換成陷入指令。翻譯過程與指令執(zhí)行交叉進(jìn)行,不含敏感指令的用戶態(tài)程序可以不經(jīng)翻譯直接執(zhí)行。2、X86“半虛擬化”(指需OS協(xié)助的虛擬化,在其上運(yùn)行的OS需要修改)Para派的基本思想是通過修改Guest OS的代碼,將含有敏感指令的操作,替換為對VMM的超調(diào)用Hypercall,類似OS的系統(tǒng)調(diào)用,將控制權(quán)轉(zhuǎn)移到VMM,該技術(shù)因Xen項(xiàng)目而廣為人知。該技術(shù)的優(yōu)勢在于VM的性能能接近于物理機(jī),缺點(diǎn)在于需要修改Guest OS(
32、如:Windows不支持修改)及增加的維護(hù)成本,關(guān)鍵修改Guest OS會導(dǎo)致操作系統(tǒng)對特定hypervisor的依賴性,因此很多虛擬化廠商基于Xen開發(fā)的虛擬化產(chǎn)品部分已經(jīng)放棄了Linux半虛擬化,而專注基于硬件輔助的全虛擬化開發(fā),來支持未經(jīng)修改的操作系統(tǒng)。3、X86“硬件輔助虛擬化”:其基本思想就是引入新的處理器運(yùn)行模式和新的指令,使得VMM和Guest OS運(yùn)行于不同的模式下,Guest OS運(yùn)行于受控模式,原來的一些敏感指令在受控模式下全部會陷入VMM,這樣就解決了部分非特權(quán)的敏感指令的“陷入-模擬”難題,而且模式切換時(shí)上下文的保存恢復(fù)由硬件來完成,這樣就大大提高了“陷入-模擬”時(shí)上下
33、文切換的效率。以Intel VT-x硬件輔助虛擬化技術(shù)為例,該技術(shù)增加了在虛擬狀態(tài)下的兩種處理器工作模式:根(Root)操作模式和非根(Non-root)操作模式。Xen運(yùn)作在Root操作模式下,而Guest OS運(yùn)行在Non-root操作模式下。這兩個(gè)操作模式分別擁有自己的特權(quán)級環(huán),Xen和未經(jīng)修改內(nèi)核的Guest OS運(yùn)行在這兩個(gè)操作模式的0環(huán)。這樣,既能使Xen運(yùn)行在0環(huán),也能使Guest OS運(yùn)行在0環(huán),避免了修改Guest OS。Root操作模式和Non-root操作模式的切換是通過新增的CPU指令(VMXON,VMXOFF等)來完成。硬件輔助虛擬化技術(shù)消除了操作系統(tǒng)的ring轉(zhuǎn)換問
34、題,降低了虛擬化門檻,支持任何操作系統(tǒng)的虛擬化而無須修改OS內(nèi)核,得到了虛擬化軟件廠商的支持。硬件輔助虛擬化技術(shù)已經(jīng)逐漸消除軟件虛擬化技術(shù)之間的差別,并成為未來的發(fā)展趨勢。核心技術(shù)原理: vCPU調(diào)度分配機(jī)制vCPU調(diào)度分配機(jī)制從虛擬機(jī)系統(tǒng)的結(jié)構(gòu)與功能劃分可以看出,客戶操作系統(tǒng)與虛擬機(jī)監(jiān)視器共同構(gòu)成了虛擬機(jī)系統(tǒng)的兩級調(diào)度框架,如圖所示是一個(gè)多核環(huán)境下虛擬機(jī)系統(tǒng)的兩級調(diào)度框架??蛻舨僮飨到y(tǒng)負(fù)責(zé)第2 級調(diào)度,即線程或進(jìn)程在VCPU 上的調(diào)度(將核心線程映射到相應(yīng)的虛擬CPU上)。虛擬機(jī)監(jiān)視器負(fù)責(zé)第1 級調(diào)度, 即VCPU在物理處理單元上的調(diào)度。兩級調(diào)度的調(diào)度策略和機(jī)制不存在依賴關(guān)系。VCPU調(diào)度器
35、負(fù)責(zé)物理處理器資源在各個(gè)虛擬機(jī)之間的分配與調(diào)度,本質(zhì)上即把各個(gè)虛擬機(jī)中的VCPU按照一定的策略和機(jī)制調(diào)度在物理處理單元上可以采用任意的策略來分配物理資源, 滿足虛擬機(jī)的不同需求。VCPU可以調(diào)度在一個(gè)或多個(gè)物理處理單元執(zhí)行(分時(shí)復(fù)用或空間復(fù)用物理處理單元), 也可以與物理處理單元建立一對一固定的映射關(guān)系(限制訪問指定的物理處理單元)。內(nèi)存虛擬化內(nèi)存虛擬化三層模型因?yàn)閂MM (Virtual Machine Monitor) 掌控所有系統(tǒng)資源,因此VMM 握有整個(gè)內(nèi)存資源,其負(fù)責(zé)頁式內(nèi)存管理,維護(hù)虛擬地址到機(jī)器地址的映射關(guān)系。因Guest OS 本身亦有頁式內(nèi)存管理機(jī)制,則有VMM的整個(gè)系統(tǒng)就比
36、正常系統(tǒng)多了一層映射:A. 虛擬地址(VA),指 Guest OS 提供給其應(yīng)用程序使用的線性地址空間;B. 物理地址(PA),經(jīng) VMM 抽象的、虛擬機(jī)看到的偽物理地址;C. 機(jī)器地址(MA),真實(shí)的機(jī)器地址,即地址總線上出現(xiàn)的地址信號;映射關(guān)系如下:Guest OS: PA = f(VA)、VMM: MA = g(PA)VMM 維護(hù)一套頁表,負(fù)責(zé)PA 到MA 的映射。Guest OS 維護(hù)一套頁表,負(fù)責(zé)VA 到PA 的映射。實(shí)際運(yùn)行時(shí),用戶程序訪問VA1,經(jīng)Guest OS 的頁表轉(zhuǎn)換得到PA1,再由VMM 介入,使用VMM 的頁表將PA1 轉(zhuǎn)換為MA1。頁表虛擬化技術(shù)原理:普通 MMU只
37、能完成一次虛擬地址到物理地址的映射,在虛擬機(jī)環(huán)境下,經(jīng)過 MMU 轉(zhuǎn)換所得到的“物理地址”并不是真正的機(jī)器地址。若需得到真正的機(jī)器地址,必須由VMM 介入,再經(jīng)過一次映射才能得到總線上使用的機(jī)器地址。如果虛擬機(jī)的每個(gè)內(nèi)存訪問都需要VMM 介入,并由軟件模擬地址轉(zhuǎn)換的效率是很低下的,幾乎不具有實(shí)際可用性,為實(shí)現(xiàn)虛擬地址到機(jī)器地址的高效轉(zhuǎn)換,現(xiàn)普遍采用的思想是:由VMM根據(jù)映射f和g生成復(fù)合的映射fg,并直接將這個(gè)映射關(guān)系寫入 MMU。當(dāng)前采用的頁表虛擬化方法主要是MMU類虛擬化(MMU Paravirtualization)和影子頁表,后者已被內(nèi)存的硬件輔助虛擬化技術(shù)所替代。1、MMU Para
38、virtualization其基本原理是:當(dāng)Guest OS創(chuàng)建一個(gè)新的頁表時(shí),會從它所維護(hù)的空閑內(nèi)存中分配一個(gè)頁面,并向Xen注冊該頁面,Xen會剝奪Guest OS對該頁表的寫權(quán)限,之后Guest OS對該頁表的寫操作都會陷入到Xen加以驗(yàn)證和轉(zhuǎn)換。Xen會檢查頁表中的每一項(xiàng),確保他們只映射了屬于該虛擬機(jī)的機(jī)器頁面,而且不得包含對頁表頁面的可寫映射。后Xen會根據(jù)自己所維護(hù)的映射關(guān)系,將頁表項(xiàng)中的物理地址替換為相應(yīng)的機(jī)器地址,最后再把修改過的頁表載入MMU。如此,MMU就可以根據(jù)修改過頁表直接完成虛擬地址到機(jī)器地址的轉(zhuǎn)換。2、內(nèi)存硬件輔助虛擬化內(nèi)存硬件輔助虛擬化技術(shù)原理圖內(nèi)存的硬件輔助虛擬
39、化技術(shù)是用于替代虛擬化技術(shù)中軟件實(shí)現(xiàn)的“影子頁表”的一種硬件輔助虛擬化技術(shù),其基本原理是:GVA(客戶操作系統(tǒng)的虛擬地址)- GPA(客戶操作系統(tǒng)的物理地址)- HPA(宿主操作系統(tǒng)的物理地址)兩次地址轉(zhuǎn)換都由CPU硬件自動(dòng)完成(軟件實(shí)現(xiàn)內(nèi)存開銷大、性能差)。以VT-x技術(shù)的頁表擴(kuò)充技術(shù)Extended Page Table(EPT)為例,首先VMM預(yù)先把客戶機(jī)物理地址轉(zhuǎn)換到機(jī)器地址的EPT頁表設(shè)置到CPU中;其次客戶機(jī)修改客戶機(jī)頁表無需VMM干預(yù);最后,地址轉(zhuǎn)換時(shí),CPU自動(dòng)查找兩張頁表完成客戶機(jī)虛擬地址到機(jī)器地址的轉(zhuǎn)換。使用內(nèi)存的硬件輔助虛擬化技術(shù),客戶機(jī)運(yùn)行過程中無需VMM干預(yù),去除了大
40、量軟件開銷,內(nèi)存訪問性能接近物理機(jī)。I/O設(shè)備虛擬化VMM 通過I/O虛擬化來復(fù)用有限的外設(shè)資源,其通過截獲 Guest OS對I/O設(shè)備的訪問請求,然后通過軟件模擬真實(shí)的硬件,目前I/O設(shè)備的虛擬化方式主要有三種:設(shè)備接口完全模擬、前端后端模擬、直接劃分。1、設(shè)備接口完全模擬:即軟件精確模擬與物理設(shè)備完全一樣的接口,Guest OS驅(qū)動(dòng)無須修改就能驅(qū)動(dòng)這個(gè)虛擬設(shè)備,Vmware即使用該方法。優(yōu)點(diǎn):沒有額外的硬件開銷,可重用現(xiàn)有驅(qū)動(dòng)程序;缺點(diǎn):為完成一次操作要涉及到多個(gè)寄存器的操作,使得 VMM 要截獲每個(gè)寄存器訪問并進(jìn)行相應(yīng)的模擬,這就導(dǎo)致多次上下文切換;由于是軟件模擬,性能較低。2、前端后
41、端模擬:VMM 提供一個(gè)簡化的驅(qū)動(dòng)程序(后端, Back-End),Guest OS中的驅(qū)動(dòng)程序?yàn)榍岸?(Front-End, FE),前端驅(qū)動(dòng)將來自其他模塊的請求通過與Guest OS間的特殊通信機(jī)制直接發(fā)送給Guest OS的后端驅(qū)動(dòng),后端驅(qū)動(dòng)在處理完請求后再發(fā)回通知給前端,Xen即采用該方法。優(yōu)點(diǎn):基于事務(wù)的通信機(jī)制,能在很大程度上減少上下文切換開銷,沒有額外的硬件開銷;缺點(diǎn):需要VMM實(shí)現(xiàn)前端驅(qū)動(dòng),后端驅(qū)動(dòng)可能成為瓶頸。3、直接劃分:即直接將物理設(shè)備分配給某個(gè) Guest OS,由Guest OS直接訪問I/O設(shè)備(不經(jīng) VMM),目前與此相關(guān)的技術(shù)有IOMMU(Intel VT-d,
42、 PCI-SIG 之 SR-IOV 等),旨在建立高效的I/O虛擬化直通道。優(yōu)點(diǎn):可重用已有驅(qū)動(dòng),直接訪問減少了虛擬化開銷;缺點(diǎn):需要購買較多額外的硬件。功能架構(gòu)FusionCompute虛擬化平臺技術(shù)架構(gòu)FusionCompute虛擬化平臺架構(gòu)圖FusionCompute虛擬化平臺采用的是裸金屬化架構(gòu),主要由以下部分組成:Xen Hypervisor層(圖中深藍(lán)色部分)Xen Hypervisor是一個(gè)介于硬件和操作系統(tǒng)之間的軟件層,它負(fù)責(zé)在各虛擬機(jī)之間進(jìn)行CPU調(diào)度和內(nèi)存分配(partitioning)。Xen Hypervisor不僅抽象出硬件層,同時(shí)控制虛擬機(jī)的執(zhí)行,因?yàn)檫@些虛擬機(jī)共享
43、同一個(gè)處理環(huán)境。Xen Hypervisor不會處理網(wǎng)絡(luò)、存儲設(shè)備、視頻以及其他I/O。 Domain0(圖中白色部分)Domain 0是一個(gè)修改過的Linux kernel,是運(yùn)行在Xen Hypervisor之上的特權(quán)虛擬機(jī),它擁有訪問物理I/O資源的權(quán)限,同時(shí)和系統(tǒng)上運(yùn)行的其他虛擬機(jī)(DomainU)進(jìn)行交互。Domain 0需要在其它Domain啟動(dòng)之前啟動(dòng)。 DomainU(圖中綠色部分)DomainU分為兩種: 1、DomainU PV Guest:運(yùn)行在Xen Hypervisor上的所有半虛擬化(paravirtualized)虛擬機(jī)被稱為“Domain U PV Guests
44、”,其上運(yùn)行著被修改過內(nèi)核的操作系統(tǒng),如Linux、Solaris、FreeBSD等其它UNIX操作系統(tǒng)。 2、DomainU HVM Guest:所有的全虛擬化虛擬機(jī)被稱為“Domain U HVM Guests”,其上運(yùn)行著不用修改內(nèi)核的操作系統(tǒng),如Windows等。完全虛擬化由于不需要修改客戶機(jī)操作系統(tǒng),因此具有很好的兼容性和同時(shí)支持異種操作系統(tǒng)或不同版本操作系統(tǒng)的能力。相反,半虛擬化技術(shù)則通常具有比完全虛擬化技術(shù)更好的性能。FUSIONCOMPUTE虛擬化平臺只支持全虛擬化虛擬機(jī)。其中Xen Hypervisor是系統(tǒng)的核心,負(fù)責(zé)為上層運(yùn)行的操作系統(tǒng)提供虛擬化的硬件資源,負(fù)責(zé)管理和分配
45、這些資源,并確保上層虛擬機(jī)之間的相互隔離。Domain0是一個(gè)特權(quán)虛擬機(jī),內(nèi)部包含了真實(shí)的設(shè)備驅(qū)動(dòng)(原生設(shè)備驅(qū)動(dòng)),可直接訪問物理硬件,負(fù)責(zé)與Hypervisor提供的管理API交互,并通過Agent接受管理系統(tǒng)的管理指令,實(shí)現(xiàn)對其它虛擬機(jī)(DomainU)的管理。為了提升I/O虛擬化性能,子系統(tǒng)采用分離設(shè)備驅(qū)動(dòng)模型實(shí)現(xiàn)I/O的虛擬化。該模型將設(shè)備驅(qū)動(dòng)劃分為前端驅(qū)動(dòng)程序、后端驅(qū)動(dòng)程序和原生驅(qū)動(dòng)三個(gè)部分,其中前端驅(qū)動(dòng)在DomainU中運(yùn)行,而后端驅(qū)動(dòng)和原生驅(qū)動(dòng)則在Domain0中運(yùn)行。前端驅(qū)動(dòng)負(fù)責(zé)將DomainU的I/O請求傳遞到Domain0中的后端驅(qū)動(dòng),后端驅(qū)動(dòng)解析I/O請求并映射到物理設(shè)備
46、,提交給相應(yīng)的設(shè)備驅(qū)動(dòng)程序控制硬件完成I/O操作。FusionCompute虛擬化平臺功能FUSIONCOMPUTE虛擬化平臺功能特性FUSIONCOMPUTE虛擬化平臺主要定位企業(yè)關(guān)鍵應(yīng)用領(lǐng)域,采用業(yè)界領(lǐng)先的Xen技術(shù),實(shí)現(xiàn)在開源基礎(chǔ)上持續(xù)增強(qiáng)和優(yōu)化,提供完整的虛擬機(jī)生命周期管理功能,充分發(fā)揮Xen的性能和安全方面的技術(shù)優(yōu)勢,并利用Intel和AMD的硬件輔助虛擬化技術(shù),提供關(guān)鍵應(yīng)用對于高性能、高可靠、安全性和高可適應(yīng)性上的各種虛擬化功能要求。首先,在基礎(chǔ)架構(gòu)服務(wù)層,提供持續(xù)的性能優(yōu)化和增強(qiáng)功能,在計(jì)算虛擬化上的內(nèi)存復(fù)用技術(shù)、GPU虛擬化技術(shù)等滿足用戶對于性能和體驗(yàn)方面的要求,在存儲虛擬化上
47、的鏈接克隆技術(shù)、快照備份技術(shù)可有效降低硬件采購成本,在網(wǎng)絡(luò)虛擬化結(jié)合硬件輔助虛擬化技術(shù)提供SR-IOV網(wǎng)卡直通等技術(shù),可滿足應(yīng)用對于高I/O性能的要求。其次,在應(yīng)用程序服務(wù)層,提供可用性、可維護(hù)性和安全性方面的功能支持,包括提供虛擬機(jī)熱遷移、虛擬機(jī)熱備份和虛擬資源的熱插拔技術(shù),降低系統(tǒng)計(jì)劃內(nèi)/外宕機(jī)實(shí)際,提高業(yè)務(wù)的連續(xù)性;提供Kbox、Guest OS故障檢測功能,提高系統(tǒng)的可維護(hù)性;提供虛擬機(jī)安全加固、VLAN和安全組特性,提高企業(yè)應(yīng)用的安全性保障;以上FUSIONCOMPUTE虛擬化平臺所有虛擬化特性,可以為企業(yè)關(guān)鍵應(yīng)用整體運(yùn)營帶來顯著的改善。FusionCompute虛擬化平臺技術(shù)特點(diǎn)F
48、USIONCOMPUTE虛擬化平臺技術(shù)特點(diǎn)華為FUSIONCOMPUTE虛擬化平臺通過對開源xen進(jìn)行安全加固、功能擴(kuò)展、性能優(yōu)化和可靠性增強(qiáng),著力打造安全、高效、穩(wěn)定、開放的虛擬化平臺,主要具備如下特點(diǎn):高性能在計(jì)算虛擬化上,提供CPU調(diào)度優(yōu)化,實(shí)現(xiàn)軟實(shí)時(shí)調(diào)度,降低CPU響應(yīng)延時(shí)和CPU cache失效,提高任務(wù)實(shí)時(shí)性,滿足電信級需求;在I/O虛擬化上,采用高效的“前后驅(qū)”通信技術(shù),減少CPU模式切換和內(nèi)存拷貝帶來的開銷,同時(shí)充分利用硬件輔助虛擬化技術(shù),提供VMDQ和SR-IOV特性,減少中斷次數(shù)和內(nèi)存拷貝,提高虛擬機(jī)IO性能。低成本在計(jì)算虛擬化上,提供內(nèi)存氣泡、內(nèi)存零頁共享和內(nèi)存交換技術(shù),
49、并通過智能復(fù)用以上三種技術(shù)提升內(nèi)存復(fù)用比,在同等內(nèi)存資源條件下可提升虛擬機(jī)密度,降低硬件(內(nèi)存)采購成本。在存儲虛擬化上,采用存儲鏈接克隆、存儲瘦分配技術(shù),減少對虛擬磁盤的過度調(diào)配,可節(jié)省或延遲存儲設(shè)備采購時(shí)間,降低硬件(存儲)采購成本。 高可用性提供虛擬機(jī)熱遷移技術(shù),支持最高8個(gè)虛擬機(jī)的并發(fā)遷移任務(wù),可將業(yè)務(wù)無中斷的遷移到其他物理機(jī)上,支持VCPU、VMemory、VDisk、VNIC的熱插拔功能,減少系統(tǒng)計(jì)劃內(nèi)宕機(jī)時(shí)間,同時(shí)提供虛擬機(jī)的熱備份技術(shù),確保業(yè)務(wù)數(shù)據(jù)的運(yùn)行時(shí)安全和災(zāi)難時(shí)可恢復(fù)。高安全性提供自研OS作為管理域Domain0,實(shí)現(xiàn)嚴(yán)格的操作權(quán)限控制、服務(wù)裁剪、網(wǎng)絡(luò)端口掃描和訪問控制、
50、病毒入侵檢測和防護(hù)、系統(tǒng)風(fēng)險(xiǎn)掃描和預(yù)警等;內(nèi)置的SuseFireWall虛擬防火墻提供靈活的安全訪問策略配置,結(jié)合提供虛擬機(jī)安全組和VLAN技術(shù),實(shí)現(xiàn)多層次安全縱深防御。可管理性提供虛擬機(jī)運(yùn)行狀態(tài)查詢能力、虛擬機(jī)動(dòng)態(tài)調(diào)整能力及虛擬機(jī)遠(yuǎn)程安裝部署能力,支撐虛擬機(jī)大規(guī)模運(yùn)維管理;提供電信級“黑匣子”技術(shù),在系統(tǒng)出現(xiàn)異常或宕機(jī)時(shí)自動(dòng)存儲VMM內(nèi)核日志、系統(tǒng)快照、內(nèi)核診斷信息及臨終遺言,并保存至非易失性存儲設(shè)備或自動(dòng)傳送至網(wǎng)絡(luò)服務(wù)器;提供 CPU/存儲/網(wǎng)絡(luò)的QOS功能,支持進(jìn)程級的資源優(yōu)先級控制,確保關(guān)鍵應(yīng)用或虛擬機(jī)獲得所需的服務(wù)器資源,提高用戶的使用體驗(yàn)。開放性擴(kuò)充業(yè)界標(biāo)準(zhǔn)接口Libvirt作為V
51、MM管理接口,提供對外開放接口,開放部分平臺VMM功能代碼,并與Xen開源社區(qū)和其它商業(yè)公司共同維護(hù),具有廣泛的兼容和生態(tài)鏈支持。計(jì)算虛擬化鑒于關(guān)鍵業(yè)務(wù)連續(xù)性對企業(yè)業(yè)務(wù)的重要性、需要保證虛擬機(jī)的性能滿足業(yè)務(wù)的需求、保證關(guān)鍵應(yīng)用的響應(yīng)速度。FUSIONCOMPUTE虛擬化平臺針對高并發(fā),高負(fù)載應(yīng)用場景下的計(jì)算性能優(yōu)化和調(diào)度算法優(yōu)化,發(fā)揮多核處理的性能優(yōu)勢,提供多種內(nèi)存復(fù)用技術(shù),并結(jié)合CPU硬件輔助虛擬化技術(shù)充分發(fā)揮平臺的性能優(yōu)勢。 內(nèi)存復(fù)用技術(shù)FUSIONCOMPUTE虛擬化平臺提供多種內(nèi)存復(fù)用技術(shù)和靈活自動(dòng)的內(nèi)存復(fù)用策略。對于某些物理內(nèi)存資源比較緊張的場景,如果用戶希望運(yùn)行超過物理內(nèi)存能力的虛
52、擬機(jī),以達(dá)到節(jié)省成本的目的,就需要有內(nèi)存復(fù)用策略來動(dòng)態(tài)地對內(nèi)存資源進(jìn)行分配和復(fù)用。內(nèi)存復(fù)用策略通過內(nèi)存復(fù)用技術(shù),提升物理內(nèi)存利用率的同時(shí),盡可能減少對虛擬機(jī)性能的影響。客戶無需關(guān)心何時(shí)調(diào)用和怎么調(diào)用幾種復(fù)用技術(shù),只需簡單配置和開啟復(fù)用策略后就能達(dá)到提升虛擬機(jī)密度的目的。FUSIONCOMPUTE虛擬化平臺的內(nèi)存復(fù)用技術(shù)有以下三種:內(nèi)存氣泡、內(nèi)存零頁共享和內(nèi)存交換技術(shù)。 內(nèi)存氣泡技術(shù)(Ballooning)內(nèi)存氣泡技術(shù)是一種VMM通過“誘導(dǎo)”客戶機(jī)操作系統(tǒng)來回收或分配客戶機(jī)所擁有的宿主機(jī)物理內(nèi)存的技術(shù)。當(dāng)客戶機(jī)物理內(nèi)存足夠時(shí),客戶機(jī)操作系統(tǒng)從其閑置客戶機(jī)物理機(jī)內(nèi)存鏈表中返回客戶機(jī)物理內(nèi)存給氣球;
53、當(dāng)客戶機(jī)物理內(nèi)存資源稀缺時(shí),客戶機(jī)操作系統(tǒng)必須回收一部分客戶機(jī)物理內(nèi)存,以滿足氣球申請客戶機(jī)物理內(nèi)存的需要。通過Balloon Driver模塊,從源虛擬機(jī)申請可用內(nèi)存頁面,通過Grant Table授權(quán)給目標(biāo)虛擬機(jī),并更新虛擬機(jī)物理地址和機(jī)器地址映射關(guān)系表。通過使用Ballooning技術(shù),可以提升內(nèi)存使用效率。Balloon技術(shù)原理圖零頁共享技術(shù)內(nèi)存零頁共享技術(shù)作為內(nèi)存復(fù)用技術(shù)的一種,能有效地識別和釋放虛擬機(jī)內(nèi)未分配使用的零頁,以達(dá)到提高內(nèi)存復(fù)用率的目的??蛻糸_啟零頁共享技術(shù)后,能實(shí)時(shí)從虛擬機(jī)內(nèi)部把零頁進(jìn)行共享,從而把其占用的內(nèi)存資源釋放出來給其他虛擬機(jī)使用,以創(chuàng)建更多的虛擬機(jī),實(shí)現(xiàn)提高虛
54、擬機(jī)密度的目的。與內(nèi)存氣泡技術(shù)不同,零頁共享后的內(nèi)存頁對于虛擬機(jī)來說還是可用的,虛擬機(jī)可以隨時(shí)根據(jù)需要再收回這部分內(nèi)存,用戶體驗(yàn)相對來說更加友好。內(nèi)存零頁共享原理用戶進(jìn)程定時(shí)掃描虛擬機(jī)的內(nèi)存數(shù)據(jù),如果發(fā)現(xiàn)其數(shù)據(jù)內(nèi)容全為零,則通過修改P2M映射的形式把其指向一個(gè)特定的零頁。從而做到在物理內(nèi)存中僅保留一份零頁拷貝,虛擬機(jī)的所有零頁均指向該頁,從而達(dá)到節(jié)省內(nèi)存資源的目的。當(dāng)零頁數(shù)據(jù)發(fā)生變動(dòng)時(shí),由Xen動(dòng)態(tài)地分配一頁內(nèi)存出來給虛擬機(jī),使修改后的數(shù)據(jù)有內(nèi)存頁進(jìn)行存放,因此對于GuestOS來說,整個(gè)零頁共享過程是完全不感知的。內(nèi)存交換技術(shù)內(nèi)存交換技術(shù)作為內(nèi)存復(fù)用技術(shù)的一種,能通過Xen把虛擬機(jī)內(nèi)存數(shù)據(jù)換
55、出到存儲介質(zhì)上的交換文件中,從而釋放內(nèi)存資源,以達(dá)到提高內(nèi)存復(fù)用率的目的。由于內(nèi)存氣泡和零頁共享的數(shù)量與虛擬機(jī)本身的內(nèi)存使用情況強(qiáng)相關(guān),因此其效果不是很穩(wěn)定,用戶使用內(nèi)存交換技術(shù),可以彌補(bǔ)上述不足,即可以保證釋放出一定量的內(nèi)存空間出來(理論上所有虛擬機(jī)內(nèi)存都能交換出來),但同時(shí)也會帶來一定程度的虛擬機(jī)性能下降。內(nèi)存交換技術(shù)原理圖內(nèi)存交換觸發(fā)時(shí),根據(jù)用戶需要告知Xen需要向某個(gè)虛擬機(jī)交換出一定量的內(nèi)存頁出來,Xen按一定的選頁策略從虛擬機(jī)中選擇相應(yīng)數(shù)量的頁后,把頁數(shù)據(jù)保存到存儲介質(zhì)上的交換文件中,同時(shí)釋放原先存放數(shù)據(jù)的那些頁供其他虛擬機(jī)使用。當(dāng)虛擬機(jī)讀寫的頁正好是被換出的頁時(shí),在缺頁處理時(shí)Xen
56、會重新為其分配一頁內(nèi)存,然后從存儲介質(zhì)上的交換文件中把相應(yīng)的頁交換回新分配的內(nèi)存頁中,同時(shí)再選擇另外一頁內(nèi)存交換出去,從而保證虛擬機(jī)對頁的正常讀寫的同時(shí),穩(wěn)定交換頁的數(shù)量。這個(gè)過程與零頁共享一樣,對GuestOS都是不感知的。Host NUMAHost NUMA原理圖技術(shù)原理:FUSIONCOMPUTE虛擬化平臺實(shí)現(xiàn)的Host NUMA主要提供CPU負(fù)載均衡機(jī)制,解決CPU資源分配不平衡引起的VM性能瓶頸問題,當(dāng)啟動(dòng)VM時(shí),Host NUMA根據(jù)當(dāng)時(shí)主機(jī)內(nèi)存和CPU負(fù)載,選擇一個(gè)負(fù)載較輕的node放置該VM,使VM的CPU和內(nèi)存資源分配在同一個(gè)node上。如圖1所示,Host NUMA把VM的
57、物理內(nèi)存放置在一個(gè)node上,對VM的vCPU調(diào)度范圍限制在同一個(gè)node的物理CPU上,并將VM的vCPU親和性綁定在該node的物理CPU上??紤]到VM的CPU負(fù)載是動(dòng)態(tài)變化,在初始放置的node上,node的CPU資源負(fù)載也會隨之變化,這會導(dǎo)致某個(gè)node的CPU資源不足,而另一個(gè)node的CPU資源充足,在此情況下,Host NUMA會從CPU資源不足的node上選擇VM,把VM的CPU資源分配在CPU資源充足的node上,從而動(dòng)態(tài)實(shí)現(xiàn)node間的CPU負(fù)載均衡。對于VM的vCPU個(gè)數(shù)超過node中CPU的核數(shù)的VM,如圖2所示,Host NUMA把該VM的內(nèi)存均勻的放置在每個(gè)node
58、上,vCPU的調(diào)度范圍為所有node的CPU。用戶綁定了VM的vCPU親和性,Host NUMA特性根據(jù)用戶的vCPU親和性設(shè)置決定VM的放置,若綁定在一個(gè)node的CPU上,Host NUMA把VM的內(nèi)存和CPU放置在一個(gè)node上,若綁定在多個(gè)node的CPU上,Host NUMA把VM的內(nèi)存均勻分布在多個(gè)node上,VM的vCPU在多個(gè)node的CPU上均衡調(diào)度。特性描述:FUSIONCOMPUTE虛擬化平臺提供復(fù)雜的NUMA 調(diào)度程序來動(dòng)態(tài)平衡處理器負(fù)載,根據(jù)當(dāng)時(shí)主機(jī)內(nèi)存和CPU負(fù)載優(yōu)先把VM的CPU和內(nèi)存資源分配在同一個(gè)node上,并隨著資源負(fù)載的動(dòng)態(tài)變化對主機(jī)node間的CPU資源
59、做負(fù)載均衡。用戶場景:此特性為FUSIONCOMPUTE虛擬化平臺基本特性,不需要管理員明確處理節(jié)點(diǎn)之間的虛擬機(jī)平衡,在各種場景都可使用??蛻魞r(jià)值:Host NUMA保證VM訪問本地物理內(nèi)存,減少了內(nèi)存訪問延遲,可以提升VM性能,性能提升的幅度與VM虛擬機(jī)訪問內(nèi)存大小和頻率相關(guān)。GPU虛擬化GPU虛擬化示意圖功能描述:隨著虛擬化應(yīng)用的普及,用戶場景也變得更加多樣和廣泛,特別是在桌面虛擬化應(yīng)用環(huán)境,高性能專業(yè)制圖和普通用戶對視覺體驗(yàn)要求的不斷提高,GPU虛擬化已經(jīng)成為加速視頻和圖形應(yīng)用的關(guān)鍵技術(shù),通過將圖形處理工作從CPU移交給GPU處理能實(shí)現(xiàn)更高的虛擬桌面密度,動(dòng)態(tài)地分配資源以滿足不斷變化的企
60、業(yè)需求,保持用戶所需的、完整而豐富的GPU加速體驗(yàn)。當(dāng)前FUSIONCOMPUTE虛擬化平臺支持兩種GPU虛擬化技術(shù)實(shí)現(xiàn):1、GPU直通技術(shù):通過GPU資源被單路VM獨(dú)享,確保性能,滿足高端應(yīng)用場景需求; 2、GPU軟件虛擬化技術(shù):通過對GPU資源虛擬和共享,支持多路VM共享GPU加速; 通過靈活配置,可以讓運(yùn)行在數(shù)據(jù)中心服務(wù)器上的GPU處理器被一個(gè)虛擬機(jī)獨(dú)占或多個(gè)虛擬機(jī)共享進(jìn)行圖形運(yùn)算,實(shí)現(xiàn)GPU的處理能力的按需分配,提供用戶的視覺體驗(yàn)。技術(shù)原理:GPU(圖形處理器單元)主要進(jìn)行浮點(diǎn)運(yùn)算和并行運(yùn)算,其浮點(diǎn)運(yùn)算和并行運(yùn)算速度比CPU更為強(qiáng)大,使用GPU虛擬化技術(shù)之后,可以讓運(yùn)行在數(shù)據(jù)中心服務(wù)器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西中醫(yī)藥大學(xué)《公共政策概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西郵電職業(yè)技術(shù)學(xué)院《生產(chǎn)與運(yùn)作管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024至2030年迷你型培養(yǎng)箱振蕩器項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年石油化工機(jī)械配件項(xiàng)目投資價(jià)值分析報(bào)告
- 2024至2030年燃油/燃?xì)忮仩t項(xiàng)目投資價(jià)值分析報(bào)告
- 協(xié)議終止采購合同范例
- 2024至2030年外銷企業(yè)信息流程管理系統(tǒng)項(xiàng)目投資價(jià)值分析報(bào)告
- 自用鉆戒出售合同范例
- 教室轉(zhuǎn)讓合同范例
- 陜西鐵路工程職業(yè)技術(shù)學(xué)院《微生物資源開發(fā)基礎(chǔ)實(shí)驗(yàn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 注冊稅務(wù)師考試涉稅服務(wù)實(shí)務(wù)真題匯編3
- 軍事理論(2024年版)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- DB62-T 4963-2024 地質(zhì)災(zāi)害警示牌技術(shù)規(guī)范
- 市智慧人社項(xiàng)目建設(shè)方案
- XX公司并購重組流程及實(shí)施方案
- 中國近現(xiàn)代史綱要(2023-2024-1)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 人教版(2024)英語七年級上冊 Unit 7 Happy Birthday!第二課時(shí) Section A (2a-2e)教案(表格式)
- 職業(yè)衛(wèi)生及防護(hù)智慧樹知到答案2024年中南大學(xué)
- 青島版五年級上冊數(shù)學(xué)計(jì)算題專項(xiàng)練習(xí)1000道帶答案
- 陶瓷材料在體育健身領(lǐng)域的應(yīng)用
- PLC控制系統(tǒng)合同
評論
0/150
提交評論