深信服超融合架構(gòu)技術(shù)方案_第1頁
深信服超融合架構(gòu)技術(shù)方案_第2頁
深信服超融合架構(gòu)技術(shù)方案_第3頁
深信服超融合架構(gòu)技術(shù)方案_第4頁
深信服超融合架構(gòu)技術(shù)方案_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、深信服超融合架構(gòu)技術(shù)方案縮寫和約定英文縮寫英文全稱中文解釋HypervisorHypervisor虛擬機管理器(和VMM同義)VMMVMM Virtual Machine Manager虛擬機監(jiān)視器HAHighAvailability高可用性vMotionvMotion實時遷移DRSDistributed Resource Scheduler分布式資源調(diào)度RAIDRedundant Arrays of Independent Disks磁盤陣列IOPSInput/Output Operations Per Second每秒讀寫(I/O)操作的次數(shù)VMVirtual Machine虛擬機SDNS

2、oftware Defined Network軟件定義網(wǎng)絡(luò)NFVNetwork Function Virtualization網(wǎng)絡(luò)功能虛擬化深信服超融合架構(gòu)技術(shù)方案 目 錄深信服超融合架構(gòu)技術(shù)方案 TOC o 1-3 1前言 PAGEREF _Toc485737186 h 31.1IT時代的變革 PAGEREF _Toc485737187 h 31.2白皮書總覽 PAGEREF _Toc485737188 h 42深信服超融合技術(shù)架構(gòu) PAGEREF _Toc485737189 h 62.1超融合架構(gòu)概述 PAGEREF _Toc485737190 h 62.1.1超融合架構(gòu)的定義 PAGER

3、EF _Toc485737191 h 62.2深信服超融合架構(gòu)組成模塊 PAGEREF _Toc485737192 h 62.2.1系統(tǒng)總體架構(gòu) PAGEREF _Toc485737193 h 62.3aSV計算虛擬化平臺 PAGEREF _Toc485737194 h 72.3.1概述 PAGEREF _Toc485737195 h 72.3.2aSV技術(shù)原理 PAGEREF _Toc485737196 h 82.3.3aSV的技術(shù)特性 PAGEREF _Toc485737197 h 192.3.4aSV的特色技術(shù) PAGEREF _Toc485737198 h 242.4aSAN存儲虛擬化

4、 PAGEREF _Toc485737199 h 282.4.1存儲虛擬化概述 PAGEREF _Toc485737200 h 282.4.2aSAN技術(shù)原理 PAGEREF _Toc485737201 h 292.4.3aSAN存儲數(shù)據(jù)可靠性保障 PAGEREF _Toc485737202 h 412.4.4深信服aSAN功能特性 PAGEREF _Toc485737203 h 482.5aNet網(wǎng)絡(luò)虛擬化 PAGEREF _Toc485737204 h 492.5.1網(wǎng)絡(luò)虛擬化概述 PAGEREF _Toc485737205 h 492.5.2aNET網(wǎng)絡(luò)虛擬化技術(shù)原理 PAGEREF _

5、Toc485737206 h 502.5.3aNet功能特性 PAGEREF _Toc485737207 h 562.5.4深信服aNet的特色技術(shù) PAGEREF _Toc485737208 h 583深信服超融合架構(gòu)產(chǎn)品介紹 PAGEREF _Toc485737209 h 603.1產(chǎn)品概述 PAGEREF _Toc485737210 h 603.2產(chǎn)品定位 PAGEREF _Toc485737211 h 604深信服超融合架構(gòu)帶來的核心價值 PAGEREF _Toc485737212 h 624.1可靠性 PAGEREF _Toc485737213 h 624.2安全性 PAGEREF

6、_Toc485737214 h 624.3靈活彈性 PAGEREF _Toc485737215 h 624.4易操作性 PAGEREF _Toc485737216 h 625超融合架構(gòu)最佳實踐 PAGEREF _Toc485737217 h 64前言IT時代的變革20 世紀(jì) 90 年代,隨著 Windows 的廣泛使用及 Linux 服務(wù)器操作系統(tǒng)的出現(xiàn)奠定了 x86服務(wù)器的行業(yè)標(biāo)準(zhǔn)地位,然而 x86 服務(wù)器部署的增長帶來了新的 IT 基礎(chǔ)架構(gòu)和運作難題,包括:基礎(chǔ)架構(gòu)利用率低、物理基礎(chǔ)架構(gòu)成本日益攀升、IT 管理成本不斷提高以及對關(guān)鍵應(yīng)用故障和災(zāi)難保護不足等問題。隨著X86 服務(wù)器性能的提升

7、,通過將 x86 系統(tǒng)轉(zhuǎn)變成通用的共享硬件基礎(chǔ)架構(gòu),充分挖掘硬件的潛力,提高硬件的利用效率,有效的降低硬件和運營成本,并且簡化運維降低管理成本,最終幫助用戶把更多的時間和成本轉(zhuǎn)移到對業(yè)務(wù)的投入上。隨著云計算和虛擬化技術(shù)向構(gòu)建新一代數(shù)據(jù)中心方向發(fā)展,關(guān)鍵以虛擬化為基礎(chǔ),實現(xiàn)管理以及業(yè)務(wù)的集中,對數(shù)據(jù)中心資源進行動態(tài)調(diào)整和分配,重點滿足企業(yè)關(guān)鍵應(yīng)用向X86 系統(tǒng)遷移對于資源高性能、高可靠、安全性和高可適應(yīng)性上的要求,同時提高基礎(chǔ)架構(gòu)的自動化管理水平,確保滿足基礎(chǔ)設(shè)施快速適應(yīng)業(yè)務(wù)的商業(yè)訴求,支持企業(yè)應(yīng)用云化部署。云計算其實并不是一種新的技術(shù),而是在一個新理念的驅(qū)動下產(chǎn)生的技術(shù)組合。在云計算之前,企業(yè)

8、部署一套服務(wù),需要經(jīng)歷組網(wǎng)規(guī)劃,容量規(guī)劃,設(shè)備選型,下單,付款,發(fā)貨,運輸,安裝,部署,調(diào)試的整個完整過程。這個周期在大型項目中需要以周甚至月來計算。在引入云計算后,這整個周期縮短到以分鐘來計算。IT 業(yè)有一條摩爾定律,芯片速度容量每 18 個月提升一倍。同時, IT 行業(yè)還有一條反摩爾定律,所有無法追隨摩爾定律的廠家將被淘汰。 IT 行業(yè)是快魚吃慢魚的行業(yè),使用云計算可以提升 IT 設(shè)施供給效率,不使用則會拖慢產(chǎn)品或服務(wù)的擴張腳步,一步慢步步慢。我們現(xiàn)在正處于一場幾十年未見的企業(yè)級數(shù)據(jù)中心革命性轉(zhuǎn)變中,究其核心,這一轉(zhuǎn)變是由“軟件”基礎(chǔ)設(shè)施的崛起而驅(qū)動。虛擬機、虛擬網(wǎng)絡(luò)和存儲設(shè)備能夠以高速自

9、動化的方式分配與重新配置,不會受到非動態(tài)設(shè)置的硬件基礎(chǔ)設(shè)施的限制,在“軟件定義數(shù)據(jù)中心”的模型下,用戶首先考慮的是應(yīng)用,根據(jù)應(yīng)用的模式便可靈活的調(diào)配其所需的IT基礎(chǔ)架構(gòu)資源,也就是通過軟件化的方式實現(xiàn)硬件資源調(diào)配。深信服的超融合架構(gòu)是軟件定義數(shù)據(jù)中心下的一套非常成熟的解決方案,除滿足上面所述的虛擬化,標(biāo)準(zhǔn)化和自動化訴求外,秉承深信服公司產(chǎn)品的優(yōu)秀基因,向您提供簡單易用,安全可靠的產(chǎn)品。白皮書總覽本書介紹的內(nèi)容大致如下:第一章、在前言部分,給您對云計算,云平臺有一個概括性的認(rèn)識,并對本文檔的閱讀給出指導(dǎo)。第二章、講述超融合架構(gòu)中的主要功能模塊,各個功能模塊的技術(shù)細(xì)節(jié)介紹。第三章、介紹深信服超融合

10、架構(gòu)涵蓋的產(chǎn)品。第三章、向您介紹深信服超融合架構(gòu)中的技術(shù)在為客戶帶來的核心價值。第四章、分享超融合架構(gòu)在客戶中的實際應(yīng)用場景,并給出深信服超融合架構(gòu)產(chǎn)品的體驗途徑,非常歡迎您來試用。深信服超融合技術(shù)架構(gòu)超融合架構(gòu)概述超融合架構(gòu)的定義超融合基礎(chǔ)架構(gòu),是一種將計算、網(wǎng)絡(luò)和存儲等資源作為基本組成元素,根據(jù)系統(tǒng)需求進行選擇和預(yù)定義的一種技術(shù)架構(gòu),具體實現(xiàn)方式上一般是指在同一套單元節(jié)點(x86服務(wù)器)中融入軟件虛擬化技術(shù)(包括計算、網(wǎng)絡(luò)、存儲、安全等虛擬化),而每一套單元節(jié)點可以通過網(wǎng)絡(luò)聚合起來,實現(xiàn)模塊化的無縫橫向擴展(scale-out),構(gòu)建統(tǒng)一的資源池。深信服超融合架構(gòu)組成模塊系統(tǒng)總體架構(gòu)深信服

11、超融合架構(gòu)圖深信服超融合架構(gòu)在基于底層基礎(chǔ)架構(gòu)(標(biāo)準(zhǔn)的X86硬件)上將計算、存儲、網(wǎng)絡(luò)、安全軟件化,通過這種軟件化的方式,即計算虛擬化aSV、存儲虛擬化aSAN、網(wǎng)絡(luò)虛擬化aNet,構(gòu)建了數(shù)據(jù)中心里所需的最小資源單元,通過資源池中的最小單元,提供了數(shù)據(jù)中心IT基礎(chǔ)架構(gòu)中所需的全部資源。后續(xù)章節(jié),會針對超融合架構(gòu)中的三大功能模塊:aSV、aSAN、aNet所涵蓋的產(chǎn)品技術(shù)來做詳細(xì)說明。aSV計算虛擬化平臺概述計算資源虛擬化技術(shù)就是將通用的 x86 服務(wù)器經(jīng)過虛擬化軟件,對最終用戶呈現(xiàn)標(biāo)準(zhǔn)的虛擬機。這些虛擬機就像同一個廠家生產(chǎn)的系列化的產(chǎn)品一樣,具備系列化的硬件配置,使用相同的驅(qū)動程序。虛擬機的定

12、義: 虛擬機 (Virtual Machine) 是由虛擬化層提供的高效、獨立的虛擬計算機系統(tǒng),每臺虛擬機都是一個完整的系統(tǒng),它具有處理器、內(nèi)存、網(wǎng)絡(luò)設(shè)備、存儲設(shè)備和BIOS,因此操作系統(tǒng)和應(yīng)用程序在虛擬機中的運行方式與它們在物理服務(wù)器上的運行方式?jīng)]有什么區(qū)別。虛擬機與物理服務(wù)器相比:虛擬機不是由真實的電子元件組成,而是由一組虛擬組件(文件)組成,這些虛擬組件與物理服務(wù)器的硬件配置無關(guān),關(guān)鍵與物理服務(wù)器相比,虛擬機具有以下優(yōu)勢:抽象解耦1.可在任何 X86 架構(gòu)的服務(wù)器上運行;2.上層應(yīng)用操作系統(tǒng)不需修改即可運行;分區(qū)隔離1.可與其他虛擬機同時運行;2.實現(xiàn)數(shù)據(jù)處理、網(wǎng)絡(luò)連接和數(shù)據(jù)存儲的安全隔

13、離;封裝移動1.可封裝于文件之中,通過簡單的文件復(fù)制實現(xiàn)快速部署、備份及還原;2.可便捷地將整個系統(tǒng)(包括虛擬硬件、操作系統(tǒng)和配置好的應(yīng)用程序)在不同的物理服務(wù)器之間進行遷移,甚至可以在虛擬機正在運行的情況下進行遷移;深信服的超融合架構(gòu)解決方案中的計算虛擬化采用aSV虛擬化系統(tǒng),通過將服務(wù)器資源虛擬化為多臺虛擬機。最終用戶可以在這些虛擬機上安裝各種軟件,掛載磁盤,調(diào)整配置,調(diào)整網(wǎng)絡(luò),就像普通的 x86 服務(wù)器一樣使用它。計算虛擬化是超融合的架構(gòu)中必不可少的關(guān)鍵因素,對于最終用戶,虛擬機比物理機的優(yōu)勢在于它可以很快速的發(fā)放,很方便的調(diào)整配置和組網(wǎng)。對于維護人員來講,虛擬機復(fù)用了硬件,這樣硬件更少

14、加上云平臺的自動維護能力,這樣整個IT系統(tǒng)的成本顯著降低。aSV技術(shù)原理Hypervisor架構(gòu)Hypervisor是一種運行在物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個操作系統(tǒng)和應(yīng)用共享一套基礎(chǔ)物理硬件,因此也可以看作是虛擬環(huán)境中的“元”操作系統(tǒng),它可以協(xié)調(diào)訪問服務(wù)器上的所有物理設(shè)備和虛擬機,也叫虛擬機監(jiān)視器(Virtual Machine Monitor)。Hypervisor是所有虛擬化技術(shù)的核心。非中斷地支持多工作負(fù)載遷移的能力是Hypervisor的基本功能。當(dāng)服務(wù)器啟動并執(zhí)行Hypervisor時,它會給每一臺虛擬機分配適量的內(nèi)存、CPU、網(wǎng)絡(luò)和磁盤,并加載所有虛擬機的客戶操

15、作系統(tǒng)。虛擬化技術(shù)架構(gòu)Hypervisor,常見的 Hypervisor 分兩類:Type-I(裸金屬型)指 VMM 直接運作在裸機上,使用和管理底層的硬件資源,GuestOS 對真實硬件資源的訪問都要通過 VMM 來完成,作為底層硬件的直接操作者,VMM 擁有硬件的驅(qū)動程序。裸金屬虛擬化中Hypervisor直接管理調(diào)用硬件資源,不需要底層操作系統(tǒng),也可以理解為Hypervisor被做成了一個很薄的操作系統(tǒng)。這種方案的性能處于主機虛擬化與操作系統(tǒng)虛擬化之間。代表是VMware ESX Server、Citrix XenServer和Microsoft Hyper-V,LinuxKVM。Typ

16、e-II 型(宿主型)指 VMM 之下還有一層宿主操作系統(tǒng),由于 Guest OS 對硬件的訪問必須經(jīng)過宿主操作系統(tǒng),因而帶來了額外的性能開銷,但可充分利用宿主操作系統(tǒng)提供的設(shè)備驅(qū)動和底層服務(wù)來進行內(nèi)存管理、進程調(diào)度和資源管理等。主機虛擬化中VM的應(yīng)用程序調(diào)用硬件資源時需要經(jīng)過:VM內(nèi)核-Hypervisor-主機內(nèi)核,導(dǎo)致性能是三種虛擬化技術(shù)中最差的。主機虛擬化技術(shù)代表是VMwareServer(GSX)、Workstation和MicrosoftVirtualPC、VirtualServer等。由于主機型Hypervisor的效率問題,深信服的aSV采用了裸機型Hypervisor中的Li

17、nux KVM虛擬化,即為Type-I(裸金屬型)。KVM(Kenerl-based Virtual Machine)是基于linux內(nèi)核虛擬化技術(shù),自linux2.6.20之后就集成在linux的各個主要發(fā)行版本中。它使用linux自身的調(diào)度器進行管理,所以相對于xen,其核心源碼很少。KVM是基于硬件虛擬化擴展(IntelVT-X)和QEMU的修改版,KVM屬于Linux kernel的一個模塊,可以用命令modprobe去加載KVM模塊。加載了該模塊后,才能進一步通過工具創(chuàng)建虛擬機。但是僅有KVM模塊是不夠的。因為用戶無法直接控制內(nèi)核去做事情,還必須有一個運行在用戶空間的工具才行。這個用

18、戶空間的工具,我們選擇了已經(jīng)成型的開源虛擬化軟件QEMU,QEMU也是一個虛擬化軟件,它的特點是可虛擬不同的CPU,比如說在x86的CPU上可虛擬一個power的CPU,并可利用它編譯出可運行在power上的CPU,并可利用它編譯出可運行在power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用戶空間工具了。這就是KVM和QEMU 的關(guān)系。如下圖:一個普通的linux進程有兩種運行模式:內(nèi)核和用戶。而KVM增加了第三種模式:客戶模式(有自己的內(nèi)核和用戶模式)。在kvm模型中,每一個虛擬機都是由linux調(diào)度程序管理的標(biāo)準(zhǔn)進程??傮w來說,kvm由兩個部分組成:一個是管

19、理虛擬硬件的設(shè)備驅(qū)動,該驅(qū)動使用字符設(shè)備/dev/kvm作為管理接口;另一個是模擬PC硬件的用戶空間組件,這是一個稍作修改的qemu進程。同時,aSV采用KVM優(yōu)勢有:嵌入到Linux正式Kernel(提高兼容性)代碼級資源調(diào)用(提高性能)虛擬機就是一個進程(內(nèi)存易于管理)直接支持NUMA技術(shù)(提高擴展性)保持開源發(fā)展模式(強大的社區(qū)支持)aSV的Hypervisor實現(xiàn)VMM (Virtual Machine Monitor)對物理資源的虛擬可以劃分為三個部分:CPU 虛擬化、內(nèi)存虛擬化和 I/O 設(shè)備虛擬化,其中以 CPU 的虛擬化最為關(guān)鍵。經(jīng)典的虛擬化方法: 現(xiàn)代計算機體系結(jié)構(gòu)一般至少有

20、兩個特權(quán)級(即用戶態(tài)和核心態(tài),x86 有四個特權(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)指令時處理器的狀態(tài)不在內(nèi)核態(tài),通常會引發(fā)一個異常而交由系統(tǒng)軟件來處理這個非法訪問(陷入)。經(jīng)典的虛擬化方法就是使用“特權(quán)解除”和“陷入-模擬”的方式,即將 GuestOS 運行在非特權(quán)級,而將 VMM 運行于最高特權(quán)級(完全控制系統(tǒng)資源)。解除了 GuestOS 的特權(quán)級后,Guest OS 的大部分指令仍可以

21、在硬件上直接運行,只有執(zhí)行到特權(quán)指令時,才會陷入到 VMM 模擬執(zhí)行(陷入-模擬)?!跋萑?模擬” 的本質(zhì)是保證可能影響VMM 正確運行的指令由 VMM 模擬執(zhí)行,大部分的非敏感指令還是照常運行。因為 X86 指令集中有若干條指令是需要被 VMM 捕獲的敏感指令,但是卻不是特權(quán)指令(稱為臨界指令),因此“特權(quán)解除”并不能導(dǎo)致他們發(fā)生陷入模擬,執(zhí)行它們不會發(fā)生自動的“陷入”而被 VMM 捕獲,從而阻礙了指令的虛擬化,這也稱之為X86 的虛擬化漏洞。X86架構(gòu)虛擬化的實現(xiàn)方式可分為:1、X86“全虛擬化”(指所抽象的 VM 具有完全的物理機特性,OS 在其上運行不需要任何修改)Full 派秉承無需

22、修改直接運行的理念,對“運行時監(jiān)測,捕捉后模擬”的過程進行優(yōu)化。該派內(nèi)部之實現(xiàn)又有些差別,其中以 VMWare 為代表的基于二進制翻譯 (BT) 的全虛擬化為代表, 其主要思想是在執(zhí)行時將 VM 上執(zhí)行的 Guest OS 指令,翻譯成 x86 指令集的一個子集,其中的敏感指令被替換成陷入指令。翻譯過程與指令執(zhí)行交叉進行,不含敏感指令的用戶態(tài)程序可以不經(jīng)翻譯直接執(zhí)行。2、X86“半虛擬化”(指需 OS 協(xié)助的虛擬化,在其上運行的 OS 需要修改)半虛擬化的基本思想是通過修改 Guest OS 的代碼,將含有敏感指令的操作,替換為對 VMM的超調(diào)用 Hypercall,類似 OS 的系統(tǒng)調(diào)用,將

23、控制權(quán)轉(zhuǎn)移到 VMM,該技術(shù)因 VMM 項目而廣為人知。該技術(shù)的優(yōu)勢在于 VM 的性能能接近于物理機,缺點在于需要修改 GuestOS(如:Windows 不支持修改)及增加的維護成本,關(guān)鍵修改 Guest OS 會導(dǎo)致操作系統(tǒng)對特定 hypervisor 的依賴性,因此很多虛擬化廠商基于 VMM 開發(fā)的虛擬化產(chǎn)品部分已經(jīng)放棄了 Linux 半虛擬化,而專注基于硬件輔助的全虛擬化開發(fā),來支持未經(jīng)修改的操作系統(tǒng)。3、X86“硬件輔助虛擬化”:其基本思想就是引入新的處理器運行模式和新的指令,使得 VMM 和 Guest OS 運行于不同的模式下,Guest OS 運行于受控模式,原來的一些敏感指令

24、在受控模式下全部會陷入 VMM,這樣就解決了部分非特權(quán)的敏感指令的“陷入-模擬”難題,而且模式切換時上下文的保存恢復(fù)由硬件來完成,這樣就大大提高了“陷入-模擬”時上下文切換的效率。以 Intel VT-x 硬件輔助虛擬化技術(shù)為例,該技術(shù)增加了在虛擬狀態(tài)下的兩種處理器工作模式:根(Root)操作模式和非根(Non-root)操作模式。VMM 運作在 Root 操作模式下,而 Guest OS 運行在 Non-root 操作模式下。這兩個操作模式分別擁有自己的特權(quán)級環(huán),VMM 和虛擬機的 Guest OS 分別運行在這兩個操作模式的 0 環(huán)。這樣,既能使 VMM運行在 0 環(huán),也能使 Guest

25、OS 運行在 0 環(huán),避免了修改 Guest OS。Root 操作模式和Non-root 操作模式的切換是通過新增的 CPU 指令(如:VMXON,VMXOFF )來完成。硬件輔助虛擬化技術(shù)消除了操作系統(tǒng)的 ring 轉(zhuǎn)換問題,降低了虛擬化門檻,支持任何操作系統(tǒng)的虛擬化而無須修改 OS 內(nèi)核,得到了虛擬化軟件廠商的支持。硬件輔助虛擬化技術(shù)已經(jīng)逐漸消除軟件虛擬化技術(shù)之間的差別,并成為未來的發(fā)展趨勢。vCPU 機制vCPU 調(diào)度機制對虛擬機來說,不直接感知物理 CPU,虛擬機的計算單元通過 vCPU 對象來呈現(xiàn)。虛擬機只看到 VMM 呈現(xiàn)給它的 vCPU。在 VMM 中,每個 vCPU 對應(yīng)一個

26、VMCS(Virtual-MachineControl Structure)結(jié)構(gòu),當(dāng) vcpu 被從物理 CPU 上切換下來的時候,其運行上下文會被保存在其對應(yīng)的 VMCS 結(jié)構(gòu)中;當(dāng) vcpu 被切換到 pcpu 上運行時,其運行上下文會從對應(yīng)的 VMCS 結(jié)構(gòu)中導(dǎo)入到物理 CPU 上。通過這種方式,實現(xiàn)各 vCPU 之間的獨立運行。 從虛擬機系統(tǒng)的結(jié)構(gòu)與功能劃分可以看出,客戶操作系統(tǒng)與虛擬機監(jiān)視器共同構(gòu)成了虛擬機系統(tǒng)的兩級調(diào)度框架,如圖所示是一個多核環(huán)境下虛擬機系統(tǒng)的兩級調(diào)度框架??蛻舨僮飨到y(tǒng)負(fù)責(zé)第 2 級調(diào)度,即線程或進程在 vCPU 上的調(diào)度(將核心線程映射到相應(yīng)的虛擬 CPU 上)。

27、虛擬機監(jiān)視器負(fù)責(zé)第 1 級調(diào)度, 即 vCPU 在物理處理單元上的調(diào)度。兩級調(diào)度的調(diào)度策略和機制不存在依賴關(guān)系。vCPU 調(diào)度器負(fù)責(zé)物理處理器資源在各個虛擬機之間的分配與調(diào)度,本質(zhì)上即把各個虛擬機中的 vCPU 按照一定的策略和機制調(diào)度在物理處理單元上可以采用任意的策略來分配物理資源, 滿足虛擬機的不同需求。vCPU 可以調(diào)度在一個或多個物理處理單元執(zhí)行(分時復(fù)用或空間復(fù)用物理處理單元), 也可以與物理處理單元建立一對一固定的映射關(guān)系(限制訪問指定的物理處理單元)。內(nèi)存虛擬化內(nèi)存虛擬化三層模型因為 VMM (Virtual Machine Monitor) 掌控所有系統(tǒng)資源,因此 VMM 握有

28、整個內(nèi)存資源,其負(fù)責(zé)頁式內(nèi)存管理,維護虛擬地址到機器地址的映射關(guān)系。因 Guest OS 本身亦有頁式內(nèi)存管理機制,則有 VMM 的整個系統(tǒng)就比正常系統(tǒng)多了一層映射:A. 虛擬地址(VA),指 Guest OS 提供給其應(yīng)用程序使用的線性地址空間;B. 物理地址(PA),經(jīng) VMM 抽象的、虛擬機看到的偽物理地址;C. 機器地址(MA),真實的機器地址,即地址總線上出現(xiàn)的地址信號;映射關(guān)系如下:Guest OS: PA = f(VA)、VMM: MA = g(PA)VMM 維護一套頁表,負(fù)責(zé) PA 到 MA 的映射。Guest OS 維護一套頁表,負(fù)責(zé) VA 到PA 的映射。實際運行時,用戶程

29、序訪問 VA1,經(jīng) Guest OS 的頁表轉(zhuǎn)換得到 PA1,再由VMM 介入,使用 VMM 的頁表將 PA1 轉(zhuǎn)換為 MA1。頁表虛擬化技術(shù)普通 MMU 只能完成一次虛擬地址到物理地址的映射,在虛擬機環(huán)境下,經(jīng)過 MMU 轉(zhuǎn)換所得到的“物理地址”并不是真正的機器地址。若需得到真正的機器地址,必須由 VMM介入,再經(jīng)過一次映射才能得到總線上使用的機器地址。如果虛擬機的每個內(nèi)存訪問都需要 VMM 介入,并由軟件模擬地址轉(zhuǎn)換的效率是很低下的,幾乎不具有實際可用性,為實現(xiàn)虛擬地址到機器地址的高效轉(zhuǎn)換,現(xiàn)普遍采用的思想是:由 VMM 根據(jù)映射 f 和g 生成復(fù)合的映射 fg,并直接將這個映射關(guān)系寫入

30、MMU。當(dāng)前采用的頁表虛擬化方法主要是 MMU 類虛擬化(MMU Paravirtualization)和影子頁表,后者已被內(nèi)存的硬件輔助虛擬化技術(shù)所替代。1、MMU Paravirtualization其基本原理是:當(dāng) Guest OS 創(chuàng)建一個新的頁表時,會從它所維護的空閑內(nèi)存中分配一個頁面,并向 VMM 注冊該頁面,VMM 會剝奪 Guest OS 對該頁表的寫權(quán)限,之后 GuestOS 對該頁表的寫操作都會陷入到 VMM 加以驗證和轉(zhuǎn)換。VMM 會檢查頁表中的每一項,確保他們只映射了屬于該虛擬機的機器頁面,而且不得包含對頁表頁面的可寫映射。后VMM 會根據(jù)自己所維護的映射關(guān)系,將頁表項

31、中的物理地址替換為相應(yīng)的機器地址,最后再把修改過的頁表載入 MMU。如此,MMU 就可以根據(jù)修改過頁表直接完成虛擬地址到機器地址的轉(zhuǎn)換。2、內(nèi)存硬件輔助虛擬化內(nèi)存硬件輔助虛擬化技術(shù)原理圖內(nèi)存的硬件輔助虛擬化技術(shù)是用于替代虛擬化技術(shù)中軟件實現(xiàn)的“影子頁表”的一種硬件輔助虛擬化技術(shù),其基本原理是:GVA(客戶操作系統(tǒng)的虛擬地址)- GPA(客戶操作系統(tǒng)的物理地址)- HPA(宿主操作系統(tǒng)的物理地址)兩次地址轉(zhuǎn)換都由 CPU 硬件自動完成(軟件實現(xiàn)內(nèi)存開銷大、性能差)。以 VT-x 技術(shù)的頁表擴充技術(shù) Extended PageTable(EPT)為例,首先 VMM 預(yù)先把客戶機物理地址轉(zhuǎn)換到機器地

32、址的 EPT 頁表設(shè)置到 CPU 中;其次客戶機修改客戶機頁表無需 VMM 干預(yù);最后,地址轉(zhuǎn)換時,CPU 自動查找兩張頁表完成客戶機虛擬地址到機器地址的轉(zhuǎn)換。使用內(nèi)存的硬件輔助虛擬化技術(shù),客戶機運行過程中無需 VMM 干預(yù),去除了大量軟件開銷,內(nèi)存訪問性能接近物理機。I/O 設(shè)備虛擬化VMM 通過 I/O 虛擬化來復(fù)用有限的外設(shè)資源,其通過截獲 Guest OS 對 I/O 設(shè)備的訪問請求,然后通過軟件模擬真實的硬件,目前 I/O 設(shè)備的虛擬化方式主要有三種:設(shè)備接口完全模擬、前端后端模擬、直接劃分。1、設(shè)備接口完全模擬:即軟件精確模擬與物理設(shè)備完全一樣的接口,Guest OS 驅(qū)動無須修改

33、就能驅(qū)動這個虛擬設(shè)備。優(yōu)點:沒有額外的硬件開銷,可重用現(xiàn)有驅(qū)動程序;缺點:為完成一次操作要涉及到多個寄存器的操作,使得 VMM 要截獲每個寄存器訪問并進行相應(yīng)的模擬,這就導(dǎo)致多次上下文切換;由于是軟件模擬,性能較低。2、前端后端模擬:VMM 提供一個簡化的驅(qū)動程序(后端, Back-End),Guest OS 中的驅(qū)動程序為前端(Front-End, FE),前端驅(qū)動將來自其他模塊的請求通過與 Guest OS 間的特殊通信機制直接發(fā)送給 Guest OS 的后端驅(qū)動,后端驅(qū)動在處理完請求后再發(fā)回通知給前端,VMM 即采用該方法。優(yōu)點:基于事務(wù)的通信機制,能在很大程度上減少上下文切換開銷,沒有

34、額外的硬件開銷;缺點:需要 GuestOS實現(xiàn)前端驅(qū)動,后端驅(qū)動可能成為瓶頸。3、直接劃分:即直接將物理設(shè)備分配給某個 Guest OS,由 Guest OS 直接訪問 I/O 設(shè)備(不經(jīng) VMM),目前與此相關(guān)的技術(shù)有 IOMMU(Intel VT-d, PCI-SIG 之 SR-IOV 等),旨在建立高效的I/O 虛擬化直通道。優(yōu)點:可重用已有驅(qū)動,直接訪問減少了虛擬化開銷;缺點:需要購買較多額外的硬件。aSV的技術(shù)特性內(nèi)存NUMA技術(shù) 非統(tǒng)一內(nèi)存訪問(NUMA)是服務(wù)器CPU和內(nèi)存設(shè)計的新架構(gòu)。傳統(tǒng)的服務(wù)器架構(gòu)下把內(nèi)存放到單一的存儲池中,這對于單處理器或單核心的系統(tǒng)工作良好。但是這種傳統(tǒng)

35、的統(tǒng)一訪問方式,在多核心同時訪問內(nèi)存空間時會導(dǎo)致資源爭用和性能問題。畢竟,CPU應(yīng)該可以訪問所有的服務(wù)器內(nèi)存,但是不需要總是保持占用。實際上,CPU僅需要訪問工作負(fù)載實際運行時所需的內(nèi)存空間就可以了。因此NUMA改變了內(nèi)存對CPU的呈現(xiàn)方式。這是通過對服務(wù)器每個CPU的內(nèi)存進行分區(qū)來實現(xiàn)的。每個分區(qū)(或內(nèi)存塊)稱為NUMA節(jié)點,而和該分區(qū)相關(guān)的處理器可以更快地訪問NUMA內(nèi)存,而且不需要和其它的NUMA節(jié)點爭用服務(wù)器上的資源(其它的內(nèi)存分區(qū)分配給其它處理器)。NUMA的概念跟緩存相關(guān)。處理器的速度要比內(nèi)存快得多,因此數(shù)據(jù)總是被移動到更快的本地緩存,這里處理器訪問的速度要比通用內(nèi)存快得多。NUM

36、A本質(zhì)上為每個處理器配置了獨有的整體系統(tǒng)緩存,減少了多處理器試圖訪問統(tǒng)一內(nèi)存空間時的爭用和延遲。NUMA與服務(wù)器虛擬化完全兼容,而且NUMA也可以支持任意一個處理器訪問服務(wù)器上的任何一塊內(nèi)存區(qū)域。某個處理器當(dāng)然可以訪問位于不同區(qū)域上的內(nèi)存數(shù)據(jù),但是需要更多本地NUMA節(jié)點之外的傳輸,并且需要目標(biāo)NUMA節(jié)點的確認(rèn)。這增加了整體開銷,影響了CPU和內(nèi)存子系統(tǒng)的性能。NUMA對虛擬機負(fù)載不存在任何兼容性問題,但是理論上虛擬機最完美的方式應(yīng)該是在某個NUMA節(jié)點內(nèi)。這可以防止處理器需要跟其它的NUMA節(jié)點交互,從而導(dǎo)致工作負(fù)載性能下降。深信服的aSV支持NUMA技術(shù),使得hypervisor和上層O

37、S內(nèi)存互連,這樣OS不會在CPU和NUMA節(jié)點之間遷移工作負(fù)載。SR-IOV通常針對虛擬化服務(wù)器的技術(shù)是通過軟件模擬共享和虛擬化網(wǎng)絡(luò)適配器的一個物理端口,以滿足虛擬機的 I/O 需求,模擬軟件的多個層為虛擬機作了 I/O 決策,因此導(dǎo)致環(huán)境中出現(xiàn)瓶頸并影響 I/O 性能。aSV虛擬化平臺提供的 SR-IOV 是一種不需要軟件模擬就可以共享 I/O 設(shè)備 I/O 端口的物理功能的方法,主要利用 iNIC 實現(xiàn)網(wǎng)橋卸載虛擬網(wǎng)卡,允許將物理網(wǎng)絡(luò)適配器的 SR-IOV 虛擬功能直接分配給虛擬機,可以提高網(wǎng)絡(luò)吞吐量,并縮短網(wǎng)絡(luò)延遲,同時減少處理網(wǎng)絡(luò)流量所需的主機 CPU 開銷。技術(shù)原理:SR-IOV(S

38、ingle Root I/O Virtualization)是 PCI-SIG 推出的一項標(biāo)準(zhǔn),是虛擬通道(在物理網(wǎng)卡上對上層軟件系統(tǒng)虛擬出多個物理通道,每個通道具備獨立的 I/O 功能)的一個技術(shù)實現(xiàn),用于將一個 PCIe 設(shè)備虛擬成多個 PCIe 設(shè)備,每個虛擬 PCIe 設(shè)備如同物理 PCIe 設(shè)備一樣向上層軟件提供服務(wù)。通過 SR-IOV 一個 PCIe 設(shè)備不僅可以導(dǎo)出多個PCI 物理功能,還可以導(dǎo)出共享該 I/O 設(shè)備上的資源的一組虛擬功能,每個虛擬功能都可以被直接分配到一個虛擬機,能夠讓網(wǎng)絡(luò)傳輸繞過軟件模擬層,直接分配到虛擬機,實現(xiàn)了將 PCI 功能分配到多個虛擬接口以在虛擬化環(huán)

39、境中共享一個 PCI 設(shè)備的目的,并且降低了軟加模擬層中的 I/O 開銷,因此實現(xiàn)了接近本機的性能。如圖所示,在這個模型中,不需要任何透傳,因為虛擬化在終端設(shè)備上發(fā)生,允許管理程序簡單地將虛擬功能映射到 VM 上以實現(xiàn)本機設(shè)備性能和隔離安全。SR-IOV 虛擬出的通道分為兩個類型:1、PF(Physical Function) 是完整的 PCIe 設(shè)備,包含了全面的管理、配置功能, Hypervisor通過 PF 來管理和配置網(wǎng)卡的所有 I/O 資源。2、VF(Virtual Funciton)是一個簡化的 PCIe 設(shè)備,僅僅包含了 I/O 功能,通過 PF 衍生而來好象物理網(wǎng)卡硬件資源的一

40、個切片,對于 Hypervisor 來說,這個 VF 同一塊普通的 PCIe網(wǎng)卡一模一樣。通過SR-IOV可滿足高網(wǎng)絡(luò) IO 應(yīng)用要求,無需特別安裝驅(qū)動,且無損熱遷移、內(nèi)存復(fù)用、虛擬機網(wǎng)絡(luò)管控等虛擬化特性。Faik-raid一般情況下,當(dāng)主機系統(tǒng)有多塊硬盤時,通過組建Raid以提升磁盤性能或提供磁盤冗余,往往成為人們的首選考量。 當(dāng)今主流raid實現(xiàn)方案大致可分為三種:硬件raid(hardware raid):通過購買昂貴的raid卡實現(xiàn)。軟件raid(software raid):通過操作系統(tǒng)內(nèi)軟件創(chuàng)建陣列,raid處理開銷由CPU負(fù)責(zé)。主板raid(fake raid):通過主板內(nèi)建ra

41、id控制器創(chuàng)建陣列,由操作系統(tǒng)驅(qū)動識別。相對于昂貴的硬件,主板raid(fake raid)就成了我們不錯的選擇。Fake raid僅提供廉價的控制器,raid處理開銷仍由CPU負(fù)責(zé),因此性能與CPU占用基本與software raid持平。aSV 3.7 融入了對Fake-RAID的支持,現(xiàn)可支持Fake-RAID安裝與使用Fake-RAID存儲,目前可以使用intel模式的raid0,raid1,raid5,raid10,LSI模式的raid0虛擬機生命周期管理aSV提供了虛擬機從創(chuàng)建至刪除整個過程中的全面管理,就像人類的生命周期一樣,虛擬機最基本的生命周期就是創(chuàng)建、使用和刪除這三個狀態(tài)。

42、當(dāng)然還包含如下幾個狀態(tài):創(chuàng)建虛擬機虛擬機開關(guān)機、重啟、掛起虛擬機上的操作系統(tǒng)安裝創(chuàng)建模板更新虛擬機硬件配置遷移虛擬機及/或虛擬機的存儲資源分析虛擬機的資源利用情況虛擬機備份虛擬機恢復(fù)刪除虛擬機在虛擬機生命周期內(nèi),虛擬機可能會在某一個時間點經(jīng)歷上述這些狀態(tài)。aSV提供了完善的虛擬機生命周期管理工具,我們可以通過對虛擬機生命周期的規(guī)劃,可以想要最大化的發(fā)揮虛擬機的作用。虛擬機熱遷移虛擬化環(huán)境中,物理服務(wù)器和存儲上承載更多的業(yè)務(wù)和數(shù)據(jù),設(shè)備故障時造成的影響更大。 aSV虛擬化平臺提供虛擬機熱遷移技術(shù),降低宕機帶來的風(fēng)險、減少業(yè)務(wù)中斷的時間。aSV虛擬機熱遷移技術(shù)是指把一個虛擬機從一臺物理服務(wù)器遷移到

43、另一臺物理服務(wù)器上,即虛擬機保存/恢復(fù)(Save/Restore)。首先將整個虛擬機的運行狀態(tài)完整保存下來,同時可以快速的恢復(fù)到目標(biāo)硬件平臺上,恢復(fù)以后虛擬機仍舊平滑運行,用戶不會察覺到任何差異。虛擬機的熱遷移技術(shù)主要被用于雙機容錯、負(fù)載均衡和節(jié)能降耗等應(yīng)用場景。 aSV虛擬化平臺熱遷移提供內(nèi)存壓縮技術(shù),使熱遷移效率提升一倍,可支持并發(fā)多達(dá)4臺虛擬機同時遷移。功能價值:1. 在設(shè)備維護過程中,通過熱遷移手動將應(yīng)用遷移至另一臺服務(wù)器,維護結(jié)束后再遷回來,中間應(yīng)用不停機,減少計劃內(nèi)宕機時間。2. 可結(jié)合資源動態(tài)調(diào)度策略,例如在夜晚虛擬機負(fù)荷減少時,通過預(yù)先配置自動將虛擬機遷移集中至部分服務(wù)器,減少

44、服務(wù)器的運行數(shù)量,從而降低設(shè)備運營能耗上的支出。aSV的特色技術(shù)快虛在實際的IT應(yīng)用系統(tǒng)在部署虛擬化的時候,會存在虛擬化遷移的需求,為了實現(xiàn)將windows主機系統(tǒng)下的應(yīng)用系統(tǒng)平滑的遷移至VM環(huán)境中,除了傳統(tǒng)的P2V、V2V工具,深信服采用技術(shù)創(chuàng)新,基于Windows環(huán)境中,推出了獨有的快虛技術(shù)??焯摷夹g(shù)實現(xiàn)原理為:在Windows環(huán)境下,先創(chuàng)建一個虛擬磁盤文件, 并使用Windows驅(qū)動程序?qū)μ摂M磁盤進行保護,保證虛擬磁盤文件占用的物理扇區(qū)不會被移動. 獲取虛擬磁盤文件所占的物理簇信息,并保存到當(dāng)前系統(tǒng)盤下的配置文件中, 安裝aSV的引導(dǎo)程序以及內(nèi)核到當(dāng)前Windows系統(tǒng)盤下,安裝系統(tǒng)引導(dǎo)

45、程序,并向系統(tǒng)引導(dǎo)中添加aSV的引導(dǎo)項,默認(rèn)引導(dǎo)到aSV系統(tǒng). 當(dāng)在aSV中向虛擬磁盤讀寫數(shù)據(jù)時,虛擬磁盤驅(qū)動根據(jù)讀寫的扇區(qū)位置重新定位到虛擬磁盤文件所對應(yīng)的物理扇區(qū),實現(xiàn)數(shù)據(jù)的存取,下次進入aSV系統(tǒng)后仍然可以讀寫已有數(shù)據(jù)。通過快虛技術(shù),既實現(xiàn)了將應(yīng)用環(huán)境遷移到了虛擬機環(huán)境中,同時在現(xiàn)有的物理主機服務(wù)器之上,快速的構(gòu)建了虛擬化底層的hypervisor。虛擬機的HAHA全稱是High Availability(高可用性)。在aSV環(huán)境中,如果出現(xiàn)部署了HA的虛擬機所在主機的物理口網(wǎng)線被拔出、或存儲不能訪問等出現(xiàn)的物理故障時,會將此虛擬機切換到其他的主機上運行,保障虛擬機上的業(yè)務(wù)正常使用。aS

46、V存在后臺進程,通過輪詢的機制,每隔5s檢測一次虛擬機狀態(tài)是否異常,發(fā)現(xiàn)異常時,切換HA虛擬機到其他主機運行。下面任意一種情況發(fā)生,都會觸發(fā)HA虛擬機切換主機,1、連續(xù)三次檢測到,虛擬機所連接的物理網(wǎng)卡被拔出(不包括網(wǎng)卡被禁用情況)2、連續(xù)兩次檢測到,虛擬機當(dāng)前主機無法訪問虛擬機的存儲通過aSV的HA技術(shù),對業(yè)務(wù)系統(tǒng)提供了高可用性,極大縮短了由于各種主機物理或者鏈路故障引起的業(yè)務(wù)中斷時間。動態(tài)資源調(diào)度在虛擬化環(huán)境中,如果生產(chǎn)環(huán)境的應(yīng)用整合到硬件資源相對匱乏的物理主機上,虛擬機的資源需求往往會成為瓶頸,全部資源需求很有可能超過主機的可用資源,這樣業(yè)務(wù)系統(tǒng)的性能也無法保障。aSV虛擬化管理平臺提供

47、的動態(tài)資源調(diào)度技術(shù),通過引入一個自動化機制,持續(xù)地動態(tài)平衡資源能力,將虛擬機遷移到有更多可用資源的主機上,確保每個虛擬機在任何節(jié)點都能及時地調(diào)用相應(yīng)的資源。即便大量運行對CPU和內(nèi)存占用較高的虛擬機(比如數(shù)據(jù)庫虛擬機),只要開啟了動態(tài)資源調(diào)度功能,就可實現(xiàn)全自動化的資源分配和負(fù)載平衡功能,也可以顯著地降低數(shù)據(jù)中心的成本與運營費用。aSV的動態(tài)資源調(diào)度功能其實現(xiàn)原理:通過跨越集群之間的心跳機制,定時監(jiān)測集群內(nèi)主機的CPU和內(nèi)存等計算資源的利用率,并根據(jù)用戶自定義的規(guī)則來判斷是否需要為該主機在集群內(nèi)尋找有更多可用資源的主機,以將該主機上的虛擬機通過虛擬機遷移技術(shù)遷移到另外一臺具有更多合適資源的服務(wù)

48、器上,或者將該服務(wù)器上其它的虛擬機遷移出去,從而保證某個關(guān)鍵虛擬機的資源需求。多USB映射當(dāng)物理服務(wù)器部署虛擬化之后。其中類似金蝶等需要通過usb key進行應(yīng)用加密的服務(wù)器,轉(zhuǎn)化到虛擬化后,需要將插在虛擬化平臺上的硬件key,映射給虛擬機,而且需要滿足虛擬機熱遷移、跨主機映射的需求。 業(yè)界給出的方案有三種:一、采用主機映射:直接采用主機映射的方式來完成,缺點是不支持網(wǎng)絡(luò)映射,無法支持熱遷移、網(wǎng)絡(luò)映射的需求。二、采用Usb Anywhere:通過使用中間設(shè)備,將中間設(shè)備IP化,然后在虛擬機上安裝驅(qū)動并配置對端設(shè)備的方式進行的。缺點是需要guest虛擬機內(nèi)部進行修改安裝特定軟件,與第三方應(yīng)用進行

49、配合才能完成。三、采用底層硬件虛擬化加網(wǎng)絡(luò)代理:支持熱遷移、網(wǎng)絡(luò)映射、無需修改guest機內(nèi)部。最終實現(xiàn),物理設(shè)備遷移到虛擬化平臺后,可以直接無縫的操作讀取原usb硬件設(shè)備。同時解決上述兩種方案中的缺陷,破除了在虛擬化推廣中外設(shè)映射造成的阻礙。熱遷移功能的實現(xiàn)機制:由于整體方案是基于網(wǎng)絡(luò)代理處理,所以在遷移到對端設(shè)備,進行虛擬機切換時,發(fā)送消息,觸發(fā)usb服務(wù)程序修改連接的目的端ip,然后發(fā)起網(wǎng)絡(luò)重連。隧道一旦重連成功,usb設(shè)備通信隨即恢復(fù),對于guest上層來說,是無感知的。aSV采用上述的第三種方案,融入了對多USB的支持,帶來的優(yōu)勢有:1、usb設(shè)備動態(tài)插入提示2、guest虛擬機無需

50、安裝插件;3、能支持熱遷移,跨主機映射,適應(yīng)VMP集群環(huán)境;4、虛擬機遷移完成可以自動掛載上原usb設(shè)備;5、可以簡化集成為類似usb hub的小設(shè)備,與VMP配套,搭建usb映射環(huán)境;6、虛擬機故障重啟、目標(biāo)端usb設(shè)備網(wǎng)絡(luò)中斷等異常情況恢復(fù)后自動重映射。aSAN存儲虛擬化存儲虛擬化概述虛擬后對存儲帶來的挑戰(zhàn)采用計算虛擬化技術(shù)給服務(wù)器帶來更高的資源利用率、給業(yè)務(wù)帶來更便捷的部署,降低了TCO,與此同時,服務(wù)器虛擬化的部署給存儲帶來以下挑戰(zhàn):相比傳統(tǒng)的物理服務(wù)器方式,單個存儲系統(tǒng)承載了更多的業(yè)務(wù),存儲系統(tǒng)需要更強勁的性能來支撐;采用共享存儲方式部署虛擬機,單個卷上可能承載幾十或上百的虛擬機,導(dǎo)

51、致卷IO呈現(xiàn)更多的隨機特征,這對傳統(tǒng)的Cache技術(shù)提出挑戰(zhàn);單個卷承載多個虛擬機業(yè)務(wù),要求存儲系統(tǒng)具備協(xié)調(diào)虛擬機訪問競爭,保證對IO吞吐要求高的虛擬機獲取到資源實現(xiàn)性能目標(biāo);單個卷上承載較多的虛擬機,需要卷具有很高的IO性能,這對傳統(tǒng)受限于固定硬盤的RAID技術(shù)提出挑戰(zhàn)。分布式存儲技術(shù)的發(fā)展業(yè)界典型的分布式存儲技術(shù)主要有分布式文件系統(tǒng)存儲、分布式對象存儲和分布式塊設(shè)備存儲等幾種形式。分布式存儲技術(shù)ServerSAN及其相關(guān)產(chǎn)品已經(jīng)日趨成熟,并在IT行業(yè)得到了廣泛的使用和驗證,例如互聯(lián)網(wǎng)搜索引擎中使用的分布式文件存儲,商業(yè)化公有云中使用的分布式塊存儲等。分布式存儲軟件系統(tǒng)具有以下特點:高性能:

52、數(shù)據(jù)分散存放,實現(xiàn)全局負(fù)載均衡,分布式緩存;高可靠:采用集群管理方式,不存在單點故障,靈活配置多數(shù)據(jù)副本,不同數(shù)據(jù)副本存放在不同的機架、服務(wù)器和硬盤上,單個物理設(shè)備故障不影響業(yè)務(wù)的使用,系統(tǒng)檢測到設(shè)備故障后可以自動重建數(shù)據(jù)副本;高擴展:沒有集中式存儲控制器,支持平滑擴容,容量幾乎不受限制;易管理: 存儲軟件直接部署在服務(wù)器上,沒有單獨的存儲專用硬件設(shè)備,通過Web 頁面的方式進行存儲的管理,配置和維護簡單。深信服aSAN概述aSAN是深信服在充分掌握了用戶對虛擬化環(huán)境存儲方面的需求基礎(chǔ)上,推出以aSAN分布式存儲軟件為核心的解決方案, aSAN是基于分布式文件系統(tǒng)Glusterfs開發(fā)的面對存

53、儲虛擬化的一款產(chǎn)品, 并作為超融合架構(gòu)中的重要組成部分,為云計算環(huán)境而設(shè)計,融合了分布式緩存、SSD讀寫緩存加速、多副本機制保障、故障自動重構(gòu)機制等諸多存儲技術(shù),能夠滿足關(guān)鍵業(yè)務(wù)的存儲需求,保證客戶業(yè)務(wù)高效穩(wěn)定可靠的運行。aSAN技術(shù)原理aSAN基于底層Hypervisor之上,通過主機管理、磁盤管理、緩存技術(shù)、存儲網(wǎng)絡(luò)、冗余副本等技術(shù),管理集群內(nèi)所有硬盤,“池化”集群所有硬盤存儲的空間,通過向VMP提供訪問接口,使得虛擬機可以進行業(yè)務(wù)數(shù)據(jù)的保存、管理和讀寫等整個存儲過程中的操作。主機管理aSAN需要基于VMP集群獲取集群內(nèi)主機信息,因此在構(gòu)建aSAN時,首先會要求建立VMP集群,所以在aSA

54、N的環(huán)境中,至少需要2臺主機節(jié)點來構(gòu)建aSAN。文件副本由于下一節(jié)磁盤管理的策略與副本設(shè)置有直接管理,因此在講解磁盤管理前,我們要先介紹文件副本技術(shù)。所謂文件副本,即將文件數(shù)據(jù)保存多份的一種冗余技術(shù)。aSAN副本顆粒度是文件級別。例如兩個副本,即把文件A同時保存到磁盤1和磁盤2上。并且保證在無故障情況下,兩個副本始終保持一致。技術(shù)特點:存儲池可用空間=集群全部機械磁盤空間/副本數(shù)(同構(gòu)情況),因此副本是會降低實際可用容量的。底層管理的副本對上層服務(wù)是透明的,上層無法感知副本的存在。磁盤管理、副本分布由底層服務(wù)負(fù)責(zé),副本顆粒度是文件級。在沒有故障等異常情況下,文件副本數(shù)據(jù)是始終一致的,不存在所謂

55、主副本和備副本之分。如果對文件A進行修改,如寫入一段數(shù)據(jù),這段數(shù)據(jù)會被同時寫到兩個副本文件。如果是從文件A讀取一段數(shù)據(jù),則只會從其中一個副本讀取。磁盤管理aSAN磁盤管理服務(wù)根據(jù)集群內(nèi)主機數(shù)和aSAN初始化時所選擇的副本數(shù)決定集群內(nèi)所有受管磁盤的組織策略。在多主機集群下,可采用兩個副本或三個副本組建aSAN的磁盤管理,為了支持主機故障而不影響數(shù)據(jù)完整性的目標(biāo),復(fù)制卷的磁盤組的每個磁盤都必須是在不同主機上。即需要做到跨主機副本??缰鳈C副本的關(guān)鍵在于復(fù)制卷磁盤分組算法。以下面場景為列(兩臺主機,每臺主機各三塊磁盤組建兩個副本):當(dāng)構(gòu)建兩副本,并且兩臺主機磁盤數(shù)相同時。主機間的磁盤會一一對應(yīng)組成復(fù)制

56、卷。邏輯視圖如下:從邏輯視圖上,可以看出來和前面提到的單主機邏輯視圖并沒有本質(zhì)上的區(qū)別,只是最底層的磁盤分組時,保證了復(fù)制卷內(nèi)下面的磁盤不在同一主機內(nèi),從而達(dá)到了文件跨主機副本的目標(biāo)。SSD讀緩存加速原理在aSAN里面,會默認(rèn)把系統(tǒng)內(nèi)的SSD磁盤作為緩存盤使用,下面介紹aSAN SSD讀緩存原理。首先需要區(qū)分aSAN客戶端和服務(wù)端概念。在aSAN里面,負(fù)責(zé)處理底層磁盤IO稱為服務(wù)端;負(fù)責(zé)向上層提供存儲接口(如訪問的掛載點)稱為客戶端。aSAN SSD讀緩存工作在客戶端,(注意:aSAN的SSD寫緩存則工作在服務(wù)端)。邏輯視圖如下:下面拋開底層的分布卷、復(fù)制卷、磁盤分組等概念,僅在客戶端上理解S

57、SD讀緩存的原理。 SSD讀緩存的緩存顆粒度是按文件數(shù)據(jù)塊緩存,不是文件整體。例如,A、B、C 三個文件,可以分別各緩存讀過的一部分?jǐn)?shù)據(jù),沒讀過的部分不緩存。簡單地看,SSD讀緩存模塊工作在文件訪問入口和服務(wù)端通信層之間。所有對文件的IO動作都會經(jīng)過SSD讀緩存模塊進行處理。下面分別針對首次文件讀取、二次文件讀取、文件寫入3個過程說明工作流程。首次文件讀取未緩存數(shù)據(jù)塊的首次讀操作步驟說明:從上層下來一個針對A文件的區(qū)間塊 A1,A2 的讀操作,由于該數(shù)據(jù)塊是首次讀取,沒命中SSD讀緩存。該讀操作會直接傳遞到下去,進入流程2。A1,A2的讀操作繼續(xù)傳遞到服務(wù)端,進行具體的讀操作,完成后返回,進入

58、流程3數(shù)據(jù)塊A1,A2在流程3里面返回到SSD讀緩存模塊,進入流程4SSD讀緩存模塊會把數(shù)據(jù)塊A1,A2復(fù)制一份保存到SSD磁盤并建立相關(guān)索引,對應(yīng)4.1。原數(shù)據(jù)塊A1,A2繼續(xù)往上返回到上層響應(yīng)讀操作,對應(yīng)4.2。注意4.1、4.2是并發(fā)進行,因此這個緩存動作不會對原操作造成延時。至此,數(shù)據(jù)塊A1,A2就被保存到SSD磁盤內(nèi),以備下次讀取直接從SSD磁盤讀取。二次文件讀取針對已緩存數(shù)據(jù)塊的二次讀取步驟說明:假設(shè)數(shù)據(jù)塊A1,A2已經(jīng)緩存到SSD磁盤內(nèi),從上層下來一個同樣是針對A文件的區(qū)間塊 A1,A2 的讀操作。由于該數(shù)據(jù)塊A1,A2已經(jīng)有緩存,在SSD讀緩存模塊里面命中索引,從而直接向SSD

59、磁盤發(fā)起讀出緩存數(shù)據(jù)塊A1,A2的操作。緩存數(shù)據(jù)塊A1,A2從SSD磁盤返回到SSD讀緩存模塊,進入流程4SSD讀緩存模塊把緩存數(shù)據(jù)塊A1,A2返回給上層。至此,對緩存數(shù)據(jù)塊A1,A2的重復(fù)讀取直接在客戶端返回,避免了服務(wù)端通信的流程,從而減少了延時和減輕了底層磁盤的IO壓力。文件寫入雖然當(dāng)前aSAN實現(xiàn)的讀緩存,但對于讀緩存模塊對于文件寫入操作,也需要做相應(yīng)的處理,以保證緩存的內(nèi)容始終和底層磁盤一致,并且是最新的,但這個針對文件寫入的處理并不是寫緩存。aSAN讀緩存模塊對寫操作進行處理實質(zhì)是基于最近訪問原則,即最近寫入的數(shù)據(jù)在不久的將來被讀出的概率會比較高,例如文件共享服務(wù)器,某人傳到文件服

60、務(wù)器的文件,很快會其他人讀出來下載。aSAN讀緩存對寫操作的處理從實現(xiàn)上分為首次寫預(yù)緩存、二次寫更新緩存。文件塊首次寫預(yù)緩存流程說明:假設(shè)數(shù)據(jù)塊A1, A2是首次寫入。寫操作寫來經(jīng)過SSD讀緩存模塊。由于是寫操作,SSD讀緩存會直接PASS到下層寫操作一直傳遞到服務(wù)端,寫入到底層磁盤,操作完成后會返回結(jié)果,進入流程3返回結(jié)果經(jīng)過SSD讀緩存模塊,如果返回結(jié)果是成功的,表示底層數(shù)據(jù)已經(jīng)成功寫入,則進入流程4。如果返回結(jié)果是失敗,則不會進入流程4,而是直接返回結(jié)果到上層。SSD讀緩存模塊會把數(shù)據(jù)塊A1,A2復(fù)制一份保存到SSD磁盤并建立相關(guān)索引,對應(yīng)4.1。原返回結(jié)果繼續(xù)往上返回到上層響應(yīng)讀操作,

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論