超融合架構(gòu)技術(shù)白皮書_第1頁
超融合架構(gòu)技術(shù)白皮書_第2頁
超融合架構(gòu)技術(shù)白皮書_第3頁
超融合架構(gòu)技術(shù)白皮書_第4頁
超融合架構(gòu)技術(shù)白皮書_第5頁
已閱讀5頁,還剩109頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

3 3 42XX超融合技術(shù)架構(gòu) 62.1超融合架構(gòu)概述 6 62.2XX超融合架構(gòu)組成模塊 6 62.3aSV計(jì)算虛擬化平臺(tái) 7 72.3.2aSV技術(shù)原理 82.3.3aSV的技術(shù)特性 192.3.4aSV的特色技術(shù) 242.4aSAN存儲(chǔ)虛擬化 28 282.4.2aSAN技術(shù)原理 292.4.3aSAN存儲(chǔ)數(shù)據(jù)可靠性保障 412.4.4XXaSAN功能特性 482.5aNet網(wǎng)絡(luò)虛擬化 49 492.5.2aNET網(wǎng)絡(luò)虛擬化技術(shù)原理 502.5.3aNet功能特性 562.5.4XXaNet的特色技術(shù) 573XX超融合架構(gòu)產(chǎn)品介紹 錯(cuò)誤!未定義書簽。 錯(cuò)誤!未定義書簽。 錯(cuò)誤!未定義書簽。4XX超融合架構(gòu)帶來的核心價(jià)值 60 60 20世紀(jì)90年代,隨著Windows的廣泛使用及Linux服務(wù)器操作系統(tǒng)的我們現(xiàn)在正處于一場(chǎng)幾十年未見的企業(yè)級(jí)數(shù)據(jù)中心革命性轉(zhuǎn)變中,究其核心,這一轉(zhuǎn)變是由“軟件”基礎(chǔ)設(shè)施的崛起而驅(qū)動(dòng)。虛擬機(jī)、虛擬網(wǎng)絡(luò)和存儲(chǔ)設(shè)備能夠以高速自動(dòng)化的方式分配與重新配置,不會(huì)受到非動(dòng)態(tài)設(shè)置的硬件基礎(chǔ)設(shè)施的限制,在“軟件定義數(shù)據(jù)中心”的模型下,用戶首先考慮的是應(yīng)用,根據(jù)應(yīng)用的模式便可靈活的調(diào)配其所需的IT基礎(chǔ)架構(gòu)資源,也就是通過軟件化足上面所述的虛擬化,標(biāo)準(zhǔn)化和自動(dòng)化訴求外,秉承XX公司產(chǎn)品的優(yōu)秀基因,本書介紹的內(nèi)容大致如下:第一章、在前言部分,給您對(duì)云計(jì)算,云平臺(tái)有一個(gè)概括性的認(rèn)識(shí),并對(duì)第二章、講述超融合架構(gòu)中的主要功能模塊,各個(gè)功能模塊的技術(shù)細(xì)節(jié)介第三章、介紹XX超融合架構(gòu)涵蓋的產(chǎn)品。第三章、向您介紹XX超融合架構(gòu)中的技術(shù)在為客戶帶來的核心價(jià)值。第四章、分享超融合架構(gòu)在客戶中的實(shí)際應(yīng)用場(chǎng)景,并給出XX超融合架構(gòu)22XX超融合技術(shù)架構(gòu)2.1.1超融合架構(gòu)的定義2.2.1系統(tǒng)總體架構(gòu)VMVMVMVMaSV服務(wù)器虛擬化通用交換機(jī)aSwitchvSSLaNET網(wǎng)絡(luò)虛擬化通用X86服務(wù)器aSAN存儲(chǔ)虛擬化XX超融合架構(gòu)圖所后續(xù)章節(jié),會(huì)針對(duì)超融合架構(gòu)中的三大功能模塊:aSV、aSAN、aNet所計(jì)算資源虛擬化技術(shù)就是將通用的x86服務(wù)器經(jīng)過虛擬化軟件,對(duì)最終用戶呈現(xiàn)標(biāo)準(zhǔn)的虛擬機(jī)。這些虛擬機(jī)就像同一個(gè)廠家生產(chǎn)的系列化的產(chǎn)品一樣,虛擬機(jī)的定義:虛擬機(jī)(VirtualMachine)是由虛擬化層提供的高效、獨(dú)立的虛擬計(jì)算機(jī)系統(tǒng),每臺(tái)虛擬機(jī)都是一個(gè)完整的系統(tǒng),它具有處理器、內(nèi)存、虛擬機(jī)與物理服務(wù)器相比:虛擬機(jī)不是由真實(shí)的電子元件組成,而是由一組虛擬組件(文件)組成,這些虛擬組件與物理服務(wù)器的硬件配置無關(guān),關(guān)鍵抽象解耦2.可便捷地將整個(gè)系統(tǒng)(包括虛擬硬件、操作系統(tǒng)和配置好的應(yīng)用程序)遷移;擬機(jī)監(jiān)視器(VirtualMachineMonitor)。TypeType-I:裸金屬梁構(gòu)Hypervisor,常見的Hypervisor分兩類:Type-I(裸金屬型)實(shí)硬件資源的訪問都要通過VMM來完成,作為底層硬件的直接操作者,系統(tǒng)。這種方案的性能處于主機(jī)虛擬化與操作系統(tǒng)虛擬化之間。代表是VMwareESXServer、CitrixXenServer和MicrosoftHyper-V,LinuxK內(nèi)核,導(dǎo)致性能是三種虛擬化技術(shù)中最差的。主機(jī)虛擬化技術(shù)代表是中的LinuxKVM虛擬化,即為TypeCPU,并可利用它編譯出可運(yùn)行在powerkvm用戶空間種模式:客戶模式(有自己的內(nèi)核和用戶模式)。在kvm模型中,每一個(gè)虛擬動(dòng)使用字符設(shè)備/dev/kvm作為管理接口;另一個(gè)是模擬PC硬件的用戶空間組件,這是一個(gè)稍作修改的qemu進(jìn)程。同時(shí),aSV采用KVM優(yōu)勢(shì)有:嵌入到Linux正式Kernel(提高兼容性)代碼級(jí)資源調(diào)用(提高性能)虛擬機(jī)就是一個(gè)進(jìn)程(內(nèi)存易于管理)>直接支持NUMA技術(shù)(提高擴(kuò)展性)>保持開源發(fā)展模式(強(qiáng)大的社區(qū)支持)經(jīng)典的虛擬化方法就是使用“特權(quán)解除”和“陷入-模擬”的方式,即將GuestOS運(yùn)行在非特權(quán)級(jí),而將VMM運(yùn)行于最高特權(quán)級(jí)(完全控制系統(tǒng)資不是特權(quán)指令(稱為臨界指令),因此“特權(quán)解除”并不能導(dǎo)致他們發(fā)生陷入測(cè),捕捉后模擬”的過程進(jìn)行優(yōu)化。該派內(nèi)部之實(shí)現(xiàn)又有些差別,其中以行時(shí)將VM上執(zhí)行的GuestOS指令,翻譯成x86指令集的一個(gè)子集,其中的敏感指令被替換成陷入指令。翻譯過程與指令執(zhí)行交叉進(jìn)行,不含敏感指令的改)半虛擬化的基本思想是通過修改GuestOS的代碼,將含有敏感指令的操作,替換為對(duì)VMM的超調(diào)用Hypercall,類似OS的系統(tǒng)調(diào)用,將控制權(quán)轉(zhuǎn)移到VMM,該技術(shù)因VMM項(xiàng)目而廣為人知。該技術(shù)的優(yōu)勢(shì)在于VM的性能能接近于物理機(jī),缺點(diǎn)在于需要修改GuestOS(如:Windows不支持修改)及增加的維護(hù)成本,關(guān)鍵修改GuestOS會(huì)導(dǎo)致操作系統(tǒng)對(duì)特定hypervisor的依賴性,因此很多虛擬化廠商基于VMM開發(fā)的虛擬化產(chǎn)品部分已經(jīng)放棄了Linux半虛擬化,而專注基于硬件輔助的全虛擬化開發(fā),來支持未經(jīng)修改的操作系統(tǒng)。3、X86“硬件輔助虛擬化”其基本思想就是引入新的處理器運(yùn)行模式和新的指令,使得VMM和GuestOS運(yùn)行于不同的模式下,GuestOS運(yùn)行于受控模式指令在受控模式下全部會(huì)陷入VMM,這樣就解決了部分非特權(quán)的敏感指令的“陷入-模擬”難題,而且模式切換時(shí)上下文的保存恢復(fù)由硬件來完成,這樣就種處理器工作模式:根(Root)操作模式和非根(Non-root)操作模式。VMM運(yùn)作在Root操作模式下,而GuestOS運(yùn)行在Non-root操作模式下。運(yùn)行在這兩個(gè)操作模式的0環(huán)。這樣,既能使VMM運(yùn)行在0環(huán),也能使GuestOS運(yùn)行在0環(huán),避免了修改GuestOS。Root操作模式和Non-root操作模式的切換是通過新增的CPU指令(如:VMXON,VMXOFF)來完成。支持任何操作系統(tǒng)的虛擬化而無須修改OS內(nèi)核,得到了虛擬化軟件廠商的支持。硬件輔助虛擬化技術(shù)已經(jīng)逐漸消除軟件虛擬化技術(shù)之間的差別,并成為未vCPU機(jī)制Gos物理CPU:每個(gè)物理CPU關(guān)聯(lián)著一個(gè)C執(zhí)行隊(duì)列1敏混度:VMM費(fèi)責(zé)CFUEpCFU上的調(diào)度vCPU調(diào)度機(jī)制對(duì)虛擬機(jī)來說,不直接感知物理CPU,虛擬機(jī)的計(jì)算單元通過vCPU對(duì)象來呈現(xiàn)。虛擬機(jī)只看到VMM呈現(xiàn)給它的vCPU。在VMM中,每個(gè)vCPU對(duì)應(yīng)一個(gè)VMCS(Virtual-MachineControlStructure)結(jié)構(gòu),當(dāng)vcpu被從物理CPU上切換下來的時(shí)候,其運(yùn)行上下文會(huì)被保存在其對(duì)應(yīng)的VMCS結(jié)構(gòu)中;GomtosGu*tO當(dāng)vcpu被切換到pcpu上運(yùn)行時(shí),其運(yùn)行上下文會(huì)從對(duì)應(yīng)的VMCS結(jié)構(gòu)中導(dǎo)入到物理CPU上。通過這種方式,實(shí)現(xiàn)各vCPU之間的獨(dú)立運(yùn)行。從虛擬機(jī)系統(tǒng)的結(jié)構(gòu)與功能劃分可以看出,客戶操作系統(tǒng)與虛擬機(jī)監(jiān)視器共同構(gòu)成了虛擬機(jī)系統(tǒng)的兩級(jí)調(diào)度框架,如圖所示是一個(gè)多核環(huán)境下虛擬機(jī)系統(tǒng)的兩級(jí)調(diào)度框架??蛻舨僮飨到y(tǒng)負(fù)責(zé)第2級(jí)調(diào)度,即線程或進(jìn)程在vCPU上的調(diào)度(將核心線程映射到相應(yīng)的虛擬CPU上)。虛擬機(jī)監(jiān)視器負(fù)責(zé)第1級(jí)調(diào)度,即vCPU在物理處理單元上的調(diào)度。兩級(jí)調(diào)度的調(diào)度策略和機(jī)制不存在依賴關(guān)系。vCPU調(diào)度器負(fù)責(zé)物理處理器資源在各個(gè)虛擬機(jī)之間的分配與調(diào)度,本質(zhì)上即把各個(gè)虛擬機(jī)中的vCPU按照一定的策略和機(jī)制調(diào)度在物理處理單元上可以采用任意的策略來分配物理資源,滿足虛擬機(jī)的不同需求。vCPU可以調(diào)度在一個(gè)或多個(gè)物理處理單元執(zhí)行(分時(shí)復(fù)用或空間復(fù)用物理處理單元),也可以與物理處理單元建立一對(duì)一固定的映射關(guān)系(限制訪問指定的物理處理單元)。因?yàn)閂MM(VirtualMachineMonitor)掌控所有系統(tǒng)資源,因此VMM握有整個(gè)內(nèi)存資源,其負(fù)責(zé)頁式內(nèi)存管理,維護(hù)虛擬地址到機(jī)器地址的映射關(guān)系。因GuestOS本身亦有頁式內(nèi)存管理機(jī)制,則有VMM的整個(gè)系統(tǒng)就比正常系統(tǒng)多了一層映射:A.虛擬地址(VA),指GuestOS提供給其應(yīng)用程序使用的線性地址空間;B.物理地址(PA),經(jīng)VMM抽象的、虛擬機(jī)看到的偽物理地址;C.機(jī)器地址(MA),真實(shí)的機(jī)器地址,即地址總線上出現(xiàn)的地址信號(hào);映射。實(shí)際運(yùn)行時(shí),用戶程序訪問VA1,經(jīng)GuestOS的頁表轉(zhuǎn)換得到PA1,再由VMM介入,使用VMM的頁表將PA1轉(zhuǎn)換為MA1。普通MMU只能完成一次虛擬地址到物理地址的映射,在虛擬機(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類虛擬化(MMUParavirtualization)和影子頁表,后者已被內(nèi)存的硬件輔助1、MMUParavirtualization其基本原理是:當(dāng)GuestOS創(chuàng)建一個(gè)新的頁表時(shí),會(huì)從它所維護(hù)的空閑頁表的寫權(quán)限,之后GuestOS對(duì)該頁表的寫操作都會(huì)陷入到器頁面,而且不得包含對(duì)頁表頁面的可寫映射。后VMM會(huì)根據(jù)自己所維護(hù)的映射關(guān)系,將頁表項(xiàng)中的物理地址替換為相應(yīng)的機(jī)器地址,最后再把修改過的2、內(nèi)存硬件輔助虛擬化GPAGVA>內(nèi)存的硬件輔助虛擬化技術(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ù)ExtendedPageTable(EPT)為例,首先VMM預(yù)先把客戶機(jī)物理地址轉(zhuǎn)換到機(jī)器地址的EPT頁表設(shè)置到CPU中;其次客戶GuestGuestOSVMMHardware①勤謗求③②2、前端/后端模擬:其它其決①SR-IOVIntslVT-dFC-SI勘蒙①服務(wù)器架構(gòu)下把內(nèi)存放到單一的存儲(chǔ)池中,這對(duì)于單處理器或單核心的系統(tǒng)工作良好。但是這種傳統(tǒng)的統(tǒng)一訪問方式,在多核心同時(shí)訪問內(nèi)存空間時(shí)會(huì)導(dǎo)致因此NUMA改變了內(nèi)存對(duì)CPU的呈現(xiàn)方式。這是通過對(duì)服務(wù)器每個(gè)CPU的內(nèi)存進(jìn)行分區(qū)來實(shí)現(xiàn)的。每個(gè)分區(qū)(或內(nèi)存塊)稱為NUMA節(jié)點(diǎn),而和該分區(qū)相關(guān)的處理器可以更快地訪問NUMA內(nèi)存點(diǎn)爭(zhēng)用服務(wù)器上的資源(其它的內(nèi)存分區(qū)分配給其它處理器)。NUMA的概念跟緩存相關(guān)。處理器的速度要比內(nèi)存快得多,因此數(shù)據(jù)總是被移動(dòng)到更快的本地緩存,這里處理器訪問的速度要比通用內(nèi)存快得多。NUMA本質(zhì)上為每個(gè)處理器配置了獨(dú)有的整體系統(tǒng)緩存,減少了多處理器試圖NUMA與服務(wù)器虛擬化完全兼容,而且NUMA也可以支持任意一個(gè)處理器訪問服務(wù)器上的任何一塊內(nèi)存區(qū)域。某個(gè)處理器當(dāng)然可以訪問位于不同區(qū)域上的內(nèi)存數(shù)據(jù),但是需要更多本地NUMA節(jié)點(diǎn)之外的傳輸,并且需要目標(biāo)NUMA節(jié)點(diǎn)的確認(rèn)。這增加了整體開銷,影響了CPU和內(nèi)存子系統(tǒng)的性能。NUMA對(duì)虛擬機(jī)負(fù)載不存在任何兼容性問題,但是理論上虛擬機(jī)最完美的方式應(yīng)該是在某個(gè)NUMA節(jié)點(diǎn)內(nèi)。這可以防止處理器需要跟其它的NUMA節(jié)XXXX的aSV支持NUMA技術(shù),使得hypervisor和上層OS內(nèi)存互連,這SR-IOV通常針對(duì)虛擬化服務(wù)器的技術(shù)是通過軟件模擬共享和虛擬化網(wǎng)絡(luò)適配器的一個(gè)物理端口,以滿足虛擬機(jī)的I/O需求,模擬軟件的多個(gè)層為虛擬機(jī)作了法,主要利用iNIC實(shí)現(xiàn)網(wǎng)橋卸載虛擬網(wǎng)卡,允許將物理網(wǎng)絡(luò)適配器的SR-IOV虛擬功能直接分配給虛擬機(jī),可以提高網(wǎng)絡(luò)吞吐量,并縮短網(wǎng)絡(luò)延遲,同時(shí)減一項(xiàng)標(biāo)準(zhǔn),是虛擬通道(在物理網(wǎng)卡上對(duì)上層軟件系統(tǒng)虛擬出多個(gè)物理通道,供服務(wù)。通過SR-IOV一個(gè)PCle設(shè)備不僅可以導(dǎo)出多個(gè)PCI物理功能,還可以配到一個(gè)虛擬機(jī),能夠讓網(wǎng)絡(luò)傳輸繞過軟件模擬層,直接分配到虛擬機(jī),實(shí)現(xiàn)在這個(gè)模型中,不需要任何透?jìng)?,因?yàn)樘摂M化在終端設(shè)備上發(fā)生,允許管理程序簡(jiǎn)單地將虛擬功能映射到VM上以實(shí)現(xiàn)本機(jī)設(shè)備性能和隔離安全。SR-IOV虛擬出的通道分為兩個(gè)類型:創(chuàng)建虛擬機(jī)虛擬機(jī)開關(guān)機(jī)、重啟、掛起虛擬機(jī)上的操作系統(tǒng)安裝創(chuàng)建模板更新虛擬機(jī)硬件配置遷移虛擬機(jī)及/或虛擬機(jī)的存儲(chǔ)資源分析虛擬機(jī)的資源利用情況2.3.4aSV的特色技術(shù)Windows系統(tǒng)驅(qū)動(dòng)保護(hù)保護(hù)虛擬磁盤文件虛擬磁盤驅(qū)動(dòng)擬塊設(shè)備虛擬磁盤應(yīng)用情況)在虛擬化環(huán)境中,如果生產(chǎn)環(huán)境的應(yīng)用整合到硬件資源相對(duì)匱乏的物理主機(jī)上,虛擬機(jī)的資源需求往往會(huì)成為瓶頸,全部資源需求很有可能超過主機(jī)的aSV虛擬化管理平臺(tái)提供的動(dòng)態(tài)資源調(diào)度技術(shù),通過引入一個(gè)自動(dòng)化機(jī)制,持續(xù)地動(dòng)態(tài)平衡資源能力,將虛擬機(jī)遷移到有更多可用資源的主機(jī)上,確保每個(gè)虛擬機(jī)在任何節(jié)點(diǎn)都能及時(shí)地調(diào)用相應(yīng)的資源。即便大量運(yùn)行對(duì)CPU和內(nèi)存占用較高的虛擬機(jī)(比如數(shù)據(jù)庫虛擬機(jī)),只要開啟了動(dòng)態(tài)資源調(diào)度功能,就可實(shí)現(xiàn)全自動(dòng)化的資源分配和負(fù)載平衡功能,也可以顯著地降低數(shù)據(jù)中心的成aSV的動(dòng)態(tài)資源調(diào)度功能其實(shí)現(xiàn)原理:通過跨越集群之間的心跳機(jī)制,定則來判斷是否需要為該主機(jī)在集群內(nèi)尋找有更多可用資源的主機(jī),以將該主機(jī)上的虛擬機(jī)通過虛擬機(jī)遷移技術(shù)遷移到另外一臺(tái)具有更多合適資源的服務(wù)器上,或者將該服務(wù)器上其它的虛擬機(jī)遷移出去,從而保證某個(gè)關(guān)鍵虛擬機(jī)的資源需多USB映射用加密的服務(wù)器,轉(zhuǎn)化到虛擬化后,需要將插在虛擬化平臺(tái)上的硬件key,映業(yè)界給出的方案有三種:一、采用主機(jī)映射:直接采用主機(jī)映射的方式來完成,缺點(diǎn)是不支持網(wǎng)絡(luò)二、采用UsbAnywhere:通過使用中間設(shè)備,將中間設(shè)備IP化,然后在虛擬機(jī)上安裝驅(qū)動(dòng)并配置對(duì)端設(shè)備的方式進(jìn)行的。缺點(diǎn)是需要guest虛擬機(jī)內(nèi)三、采用底層硬件虛擬化加網(wǎng)絡(luò)代理:支持熱遷移、網(wǎng)絡(luò)映射、無需修改guest機(jī)內(nèi)部。最終實(shí)現(xiàn),物理設(shè)備遷移到虛擬化平臺(tái)后,可以直接無縫的操作讀取原usb硬件設(shè)備。同時(shí)解決上述兩種方案中的缺陷,破除了在虛擬化推熱遷移功能的實(shí)現(xiàn)機(jī)制:由于整體方案是基于網(wǎng)絡(luò)代理處理,所以在遷移aSV采用上述的第三種方案,融入了對(duì)多USB的支持,帶來的優(yōu)勢(shì)有:2、guest虛擬機(jī)無需安裝插件;3、能支持熱遷移,跨主機(jī)映射,適應(yīng)VMP集群環(huán)境;4、虛擬機(jī)遷移完成可以自動(dòng)掛載上原usb設(shè)備;5、可以簡(jiǎn)化集成為類似usbhub的小設(shè)備,與VMP配套,搭建usb映射環(huán)境6、虛擬機(jī)故障重啟、目標(biāo)端usb設(shè)備網(wǎng)絡(luò)中斷等異常情況恢復(fù)后自動(dòng)重映射。2.4.1存儲(chǔ)虛擬化概述采用計(jì)算虛擬化技術(shù)給服務(wù)器帶來更高的資源利用率、給業(yè)務(wù)帶來更便捷的部署,降低了TCO,與此同時(shí),服務(wù)器虛擬化的部署給存儲(chǔ)帶來以下挑戰(zhàn):相比傳統(tǒng)的物理服務(wù)器方式,單個(gè)存儲(chǔ)系統(tǒng)承載了更多的業(yè)務(wù),存儲(chǔ)系統(tǒng)需要更強(qiáng)勁的性能來支撐;采用共享存儲(chǔ)方式部署虛擬機(jī),單個(gè)卷上可能承載幾十或上百的虛擬機(jī),導(dǎo)致卷IO呈現(xiàn)更多的隨機(jī)特征,這對(duì)傳統(tǒng)的Cache技術(shù)提出挑戰(zhàn);單個(gè)卷承載多個(gè)虛擬機(jī)業(yè)務(wù),要求存儲(chǔ)系統(tǒng)具備協(xié)調(diào)虛擬機(jī)訪問競(jìng)爭(zhēng),保證對(duì)IO吞吐要求高的虛擬機(jī)獲取到資源實(shí)現(xiàn)性能目標(biāo);單個(gè)卷上承載較多的虛擬機(jī),需要卷具有很高的IO性能,這對(duì)傳統(tǒng)受限于業(yè)界典型的分布式存儲(chǔ)技術(shù)主要有分布式文件系統(tǒng)存儲(chǔ)、分布式對(duì)象存儲(chǔ)和分布式塊設(shè)備存儲(chǔ)等幾種形式。分布式存儲(chǔ)技術(shù)ServerSAN及其相關(guān)產(chǎn)品已經(jīng)日趨成熟,并在IT行業(yè)得到了廣泛的使用和驗(yàn)證,例如互聯(lián)網(wǎng)搜索引擎中使用的分布式文件存儲(chǔ),商業(yè)化公有云中使用的分布式塊存儲(chǔ)等。分布式存儲(chǔ)軟件系統(tǒng)具有以下特點(diǎn):高可靠:采用集群管理方式,不存在單點(diǎn)故障,靈活配置多數(shù)據(jù)副本,不同數(shù)據(jù)副本存放在不同的機(jī)架、服務(wù)器和硬盤上,單個(gè)物理設(shè)備故障不影響業(yè)務(wù)的使用,系統(tǒng)檢測(cè)到設(shè)備故障后可以自動(dòng)重建數(shù)據(jù)副本;高擴(kuò)展:沒有集中式存儲(chǔ)控制器,支持平滑擴(kuò)容易管理:存儲(chǔ)軟件直接部署在服務(wù)器上,沒有單獨(dú)的存儲(chǔ)專用硬件設(shè)備,通過Web頁面的方式進(jìn)行存儲(chǔ)的管理,配置和維護(hù)簡(jiǎn)XXaSAN概述aSAN是XX在充分掌握了用戶對(duì)虛擬化環(huán)境存儲(chǔ)方面的需求基礎(chǔ)上,推出以aSAN分布式存儲(chǔ)軟件為核心的解決方案,aSAN是基于分布式文件系統(tǒng)Glusterfs開發(fā)的面對(duì)存儲(chǔ)虛擬化的一款產(chǎn)品,并作為超融合架構(gòu)中的重要組成機(jī)制保障、故障自動(dòng)重構(gòu)機(jī)制等諸多存儲(chǔ)技術(shù),能夠滿足關(guān)鍵業(yè)務(wù)的存儲(chǔ)需求,2.4.2aSAN技術(shù)原理aSAN基于底層Hypervisor之上,通過主機(jī)管理、磁盤管理、緩存技術(shù)、儲(chǔ)的空間,通過向VMP提供訪問接口,使得虛擬機(jī)可以進(jìn)aSAN需要基于VMP集群獲取集群內(nèi)主機(jī)信息,因此在構(gòu)建aSAN時(shí),首先會(huì)要求建立VMP集群,所以在aSAN的環(huán)境中,至少需要2臺(tái)主機(jī)節(jié)點(diǎn)來構(gòu)建aSAN。由于下一節(jié)磁盤管理的策略與副本設(shè)置有直接管理,因此在講解磁盤管理度是文件級(jí)別。例如兩個(gè)副本,即把文件A同時(shí)保存到磁盤1和磁盤2上。并文件A文件A服務(wù)層磁盤2不一定是技術(shù)特點(diǎn):存儲(chǔ)池可用空間=集群全部機(jī)械磁盤空間/副本數(shù)(同構(gòu)情況),因此副本底層管理的副本對(duì)上層服務(wù)是透明的,上層無法感知副本的存在。磁盤管在沒有故障等異常情況下,文件副本數(shù)據(jù)是始終一致的,不存在所謂主副如果對(duì)文件A進(jìn)行修改,如寫入一段數(shù)據(jù),這段數(shù)據(jù)會(huì)被同時(shí)寫到兩個(gè)副本文件。如果是從文件A讀取一段數(shù)據(jù),則aSAN磁盤管理服務(wù)根據(jù)集群內(nèi)主機(jī)數(shù)和aSAN初始化時(shí)所選擇的副本數(shù)了支持主機(jī)故障而不影響數(shù)據(jù)完整性的目標(biāo),復(fù)制卷的磁盤組的每個(gè)磁盤都必須是在不同主機(jī)上。即需要做到跨主機(jī)副本。跨主機(jī)副本的關(guān)鍵在于復(fù)制卷磁以下面場(chǎng)景為列(兩臺(tái)主機(jī),每臺(tái)主機(jī)各三塊磁盤組建兩個(gè)副本):主機(jī)A主機(jī)A?復(fù)制卷1復(fù)制卷3當(dāng)構(gòu)建兩副本,并且兩臺(tái)主機(jī)磁盤數(shù)相同時(shí)。主機(jī)間的磁盤會(huì)——對(duì)應(yīng)組成復(fù)制卷。邏輯視圖如下:文件A從邏輯視圖上,可以看出來和前面提到的單主機(jī)邏輯視圖并沒有本質(zhì)上的區(qū)別,只是最底層的磁盤分組時(shí),保證了復(fù)制卷內(nèi)下面的磁盤不在同一主機(jī)內(nèi),SSD讀緩存加速原理在aSAN里面,會(huì)默認(rèn)把系統(tǒng)內(nèi)的SSD磁盤作為緩存盤使用,下面介紹首先需要區(qū)分aSAN客戶端和服務(wù)端概念。在aSAN里面,負(fù)責(zé)處理底層磁盤IO稱為服務(wù)端;負(fù)責(zé)向上層提供存儲(chǔ)接口(如訪問的掛載點(diǎn))稱為客戶端。端)。邏輯視圖如下:復(fù)制卷1磁盤1 下面拋開底層的分布卷、復(fù)制卷、磁盤分組等概念,僅在客戶端上理解上層文件訪問入口上層文件訪問入口SSD讀緩存模塊與服務(wù)端進(jìn)行通信B、C三個(gè)文件,可以分別各緩存讀過的一部分?jǐn)?shù)據(jù),沒簡(jiǎn)單地看,SSD讀緩存模塊工作在文件訪問入口和服務(wù)端通信層之間。所有對(duì)文件的IO動(dòng)作都會(huì)經(jīng)過SSD讀緩存模塊進(jìn)行處理。下面分別針對(duì)首次文件讀取、二次文件讀取、文件寫入3個(gè)過程說明工作流程。●首次文件讀取上層文件訪問入口上層文件訪問入口SSD讀緩存模塊SSD磁盤與服務(wù)端進(jìn)行通信(底層過程省略)未緩存數(shù)據(jù)塊的首次讀操作步驟說明:1.從上層下來一個(gè)針對(duì)A文件的區(qū)間塊[A1,A2]的讀操作,由于該數(shù)據(jù)塊是首次讀取,沒命中SSD讀緩存。該讀操作會(huì)直接傳遞到下去,進(jìn)入流程2。2.[A1,A2]的讀操作繼續(xù)傳遞到服務(wù)端,進(jìn)行具體的讀操作,完成后返回,進(jìn)入流程33.數(shù)據(jù)塊[A1,A2]在流程3里面返回到SSD讀緩存模塊,進(jìn)入流程44.SSD讀緩存模塊會(huì)把數(shù)據(jù)塊[A1,A2]復(fù)制一份保存到SSD磁盤并建立相關(guān)索引,對(duì)應(yīng)4.1。原數(shù)據(jù)塊[A1,A2]繼續(xù)往上返回到上層響應(yīng)讀操作,對(duì)應(yīng)4.2。注意4.1、4.2是并發(fā)進(jìn)行,因此這個(gè)緩存動(dòng)作不會(huì)對(duì)原5.至此,數(shù)據(jù)塊[A1,A2]就被保存到SSD磁盤內(nèi),以備下次讀取直接從Read[A1,A2]32針對(duì)已緩存數(shù)據(jù)塊的二次讀取步驟說明:假設(shè)數(shù)據(jù)塊[A1,A2]已經(jīng)緩存到SSD磁盤內(nèi),1.從上層下來一個(gè)同樣是針對(duì)A文件的區(qū)間塊[A1,A2]的讀操2.由于該數(shù)據(jù)塊[A1,A2]已經(jīng)有緩存,在SSD讀緩存模塊里面命中索引,從而直接向SSD磁盤發(fā)起讀出緩存數(shù)據(jù)塊3.緩存數(shù)據(jù)塊[A1,A2]從SSD磁盤返回到SSD讀緩存模塊,進(jìn)入流程44.SSD讀緩存模塊把緩存數(shù)據(jù)塊[A1,A2]返回給上層。至此,對(duì)緩存數(shù)據(jù)塊[A1,A2]的重復(fù)讀取直接在客戶端返回,避免了服務(wù)雖然當(dāng)前aSAN實(shí)現(xiàn)的讀緩存,但對(duì)于讀緩需要做相應(yīng)的處理,以保證緩存的內(nèi)容始終和底層磁盤一致,并且是最新的,aSAN讀緩存模塊對(duì)寫操作進(jìn)行處理實(shí)質(zhì)是基于最近訪問原則,即最近寫入的數(shù)據(jù)在不久的將來被讀出的概率會(huì)比較高,例如文件共享服務(wù)器,某人傳aSAN讀緩存對(duì)寫操作的處理從實(shí)現(xiàn)上分為首次寫預(yù)緩存、二次寫更新緩2.寫操作一直傳遞到服務(wù)端,寫入到底層磁盤,操作完成后會(huì)返回結(jié)果,進(jìn)入流程3據(jù)已經(jīng)成功寫入,則進(jìn)入流程4。如果返回結(jié)果是失敗,則不會(huì)進(jìn)入流程4,而是直接返回結(jié)果到上層。相關(guān)索引,對(duì)應(yīng)4.1。原返回結(jié)果繼續(xù)往上返回到上層響應(yīng)讀操作,對(duì)應(yīng)4.2。注意4.1、4.2是并發(fā)進(jìn)行,因此這個(gè)緩存動(dòng)作不會(huì)對(duì)原操作造成延時(shí)。至此,數(shù)據(jù)塊[A1,A2]的寫入也會(huì)保存到SSD磁盤上,以備下次訪問。下次訪問的流程與二次文件讀取流程相同,從而提升了下次訪問數(shù)據(jù)的速度?!鑫募K二次寫更新緩存SSD讀緩存文件塊寫更新是指對(duì)SSD讀緩存已緩存的數(shù)據(jù)塊進(jìn)行更新的動(dòng)作。WRITE[A1,A2SSD磁盤Update[A1,A2]假設(shè)數(shù)據(jù)塊[A1,A2]原來已經(jīng)有緩存了,現(xiàn)在上層再次對(duì)[A1,A2]來一次寫操作(例如更新內(nèi)容)。進(jìn)入流程3據(jù)已經(jīng)成功寫入,可以更新SSD讀緩存數(shù)據(jù),進(jìn)入流程4。如果返回4.SSD讀緩存模塊會(huì)把數(shù)據(jù)塊[A1,A2]復(fù)制一份更新到SSD磁盤并建立相關(guān)索引,對(duì)應(yīng)4.1。原返回結(jié)果繼續(xù)往上返回到上層響應(yīng)讀操作,對(duì)應(yīng)4.2。注意4.1、4.2是并發(fā)進(jìn)行,因此這個(gè)緩存動(dòng)作不會(huì)對(duì)原操作造成延時(shí)。SSD寫緩存加速原理SSD寫緩存功能在aSAN2.0開始支持。SSD寫緩存工作在服務(wù)端。由于寫緩存工作在服務(wù)端,也就是說在每個(gè)副本上都有寫緩存,即副本的。即使有SSD磁盤突然損壞,也能在副本數(shù)范圍內(nèi)保證數(shù)據(jù)的安全。分布卷分布卷(掛載點(diǎn)/客戶端)復(fù)制卷1磁盤1(服務(wù)端)磁盤Y磁盤z(服務(wù)端)磁盤x(服務(wù)端)復(fù)制卷NSSD寫緩存原理是在機(jī)械硬盤上增加一層SSD寫緩存層,見下圖:上層10輸入模塊上層10輸入模塊2SSD寫緩存模塊SSD磁盤45機(jī)械磁盤SSD寫緩存數(shù)據(jù)流分成藍(lán)色和紅色兩部分。這兩部分是同時(shí)在運(yùn)行的,沒有先后關(guān)系。藍(lán)色部分是虛擬機(jī)有數(shù)據(jù)寫入SSD緩存,紅色部分是從SSD緩存讀出數(shù)據(jù)回寫到機(jī)械磁盤。流程如下:2.SSD寫緩存模塊把數(shù)據(jù)寫入到SSD磁盤,并獲得返回值。3.SSD寫緩存模塊在確定數(shù)據(jù)寫入SSD磁盤后,即立即返回上層模塊寫入成功4.SSD寫緩存模塊在緩存數(shù)據(jù)累計(jì)到一定量后,從SSD磁盤讀出數(shù)據(jù)5.SSD寫緩存把從SSD磁盤讀出的數(shù)據(jù)回寫到機(jī)械磁盤。其中,第4、5步是在后臺(tái)自動(dòng)進(jìn)行的,不會(huì)干擾第1、2、3步的邏輯。從SSD磁盤回寫到機(jī)械磁盤是需要累積一定數(shù)據(jù)量后才會(huì)進(jìn)行觸發(fā)的。這上層10輸入模塊1.Read4.Returnfromcache2.CheckcahceSSD寫緩存模塊SSD磁盤3.Hitcache流程說明:1.上層下發(fā)讀請(qǐng)求2.SSD寫緩存模塊先檢查數(shù)據(jù)是否還在緩存內(nèi)未回寫3.命中緩存,返回?cái)?shù)據(jù)(如果不命中緩存,則會(huì)返回從底層數(shù)據(jù)盤讀取)4.向上層返回?cái)?shù)據(jù)如果上層持續(xù)對(duì)SSD寫緩存進(jìn)行大量不間斷的數(shù)據(jù)寫入,直到SSD寫緩存空間用完。這時(shí)的上次繼續(xù)寫入數(shù)據(jù)的速度就會(huì)下降至約等于寫緩存回寫機(jī)械上層寫入數(shù)據(jù)流上層寫入數(shù)據(jù)流機(jī)械磁盤當(dāng)SSD磁盤用滿時(shí)會(huì)出現(xiàn)寫入數(shù)據(jù)流速度<=回寫數(shù)據(jù)流速度。在虛擬機(jī)層面看,就是寫入數(shù)據(jù)下降到機(jī)械盤速度。如果持續(xù)出現(xiàn)這種情況,說明SSD磁盤容量不足以應(yīng)對(duì)業(yè)務(wù)IO寫性能,需要增加SSD緩存盤解決。場(chǎng)景下,如果一個(gè)SSD磁盤損壞后,其他副本的SSD還正常情況下,對(duì)數(shù)據(jù)安全不會(huì)造成影響。一旦SSD離線超過10分鐘,緩存數(shù)據(jù)就視作失效,進(jìn)入副本修復(fù)流程。由于所有數(shù)據(jù)都是被SSD接管的,因此如果是誤拔出SSD硬盤,需要在10分鐘內(nèi)插回來,否則會(huì)認(rèn)為該副本數(shù)據(jù)全部需要重建。2.4.3aSAN存儲(chǔ)數(shù)據(jù)可靠性保障如果在磁盤故障后,超過了設(shè)置的超時(shí)時(shí)間依然沒有人工介入處理,aSAN將會(huì)自動(dòng)進(jìn)行數(shù)據(jù)重建,以保證數(shù)據(jù)副本數(shù)完備,確保數(shù)據(jù)可靠性。同aSAN在初始化階段會(huì)自動(dòng)配置至少把集群里副本數(shù)個(gè)磁盤作為熱備盤。注意不是每個(gè)主機(jī)一個(gè)熱備盤,而是一個(gè)集群里面全局使用。熱備盤在初始化例如兩個(gè)副本時(shí)會(huì)至少保留兩個(gè)熱備盤,三個(gè)副本時(shí)會(huì)至少保留三個(gè)熱備盤。這些熱備盤不會(huì)集中在一個(gè)主機(jī)上面,而是分布在不同主機(jī)上(符合副本跨主機(jī)原則)。下面以3主機(jī)2副本,每主機(jī)4個(gè)硬盤為例子。復(fù)制卷3復(fù)制卷3主機(jī)A主機(jī)B主機(jī)C復(fù)制卷1A1B1C1A2B2C2復(fù)制卷4A3B3復(fù)制卷5上圖是3主機(jī)2副本,每主機(jī)4磁盤的分組例子。其中磁盤A4、磁盤C3當(dāng)任何一個(gè)主機(jī)的任意一個(gè)硬盤發(fā)生故障時(shí),都可以按照跨主機(jī)副本原則復(fù)制卷3復(fù)制卷3主機(jī)C復(fù)制卷1B1復(fù)制卷2B2復(fù)制卷4B3復(fù)制卷5C4主機(jī)B主機(jī)AA3A2B4A1復(fù)制卷3復(fù)制卷3主機(jī)A主機(jī)B主機(jī)C復(fù)制卷1A1B1C1復(fù)制卷2A2B2復(fù)制卷4A3B3復(fù)制卷5復(fù)制卷3復(fù)制卷3復(fù)制卷1A1B1C1復(fù)制卷2A2A3B3復(fù)制卷5A4*B4C4在aSAN自動(dòng)使用熱備盤替換故障磁盤后,UI上依然會(huì)顯示原來的故障磁盤損壞,可以進(jìn)行更換磁盤。這時(shí)新替換的硬盤會(huì)作為新熱備盤使用,不需要執(zhí)行數(shù)據(jù)回遷。這一點(diǎn)與前文沒有熱備盤會(huì)做數(shù)據(jù)回遷是不一樣的。復(fù)制卷3復(fù)制卷3主機(jī)B復(fù)制卷181復(fù)制卷2A2復(fù)制告4C4新復(fù)制卷5主機(jī)A主機(jī)CA1故障磁盤替換所有過程都可以帶業(yè)務(wù)進(jìn)行,不需要停機(jī)停止業(yè)務(wù),就可以aSAN在多主機(jī)集群下,復(fù)制卷有個(gè)最高原則:跨主機(jī)建立復(fù)制卷。該原則的目的是為了達(dá)到在主機(jī)出現(xiàn)故障時(shí),數(shù)據(jù)依然可用。在2主機(jī)2副本模式在2主機(jī)2副本模式下,當(dāng)主機(jī)B整個(gè)離線或,可以看到任何一個(gè)復(fù)制卷都依然有一個(gè)副本存在主機(jī)A上,數(shù)據(jù)依然可用略為復(fù)雜的例子(先不考慮有熱備盤):復(fù)制卷3復(fù)制卷3A1B1C1復(fù)制卷2A2B2C2復(fù)制卷4A3B3C3復(fù)制卷5A4B4C4復(fù)制卷6因此這時(shí)全局?jǐn)?shù)據(jù)依然可用。在主機(jī)故障后,在aSAN高級(jí)設(shè)備里面有這樣一個(gè)故障時(shí)間策略執(zhí)行相應(yīng)的處理:假如入主機(jī)故障后直到超過設(shè)定的故障時(shí)間依然沒有人工介入處理,那么aSAN會(huì)采取自動(dòng)替換動(dòng)作在其他主機(jī)上重建副本。復(fù)制卷1A1B1C1復(fù)制卷2A2B2CA3B3C3A1B1A3C對(duì)比上面2張圖,可以看出在主機(jī)C故障并超時(shí)后,aSAN會(huì)在集群范圍內(nèi)尋找最佳借用磁盤組建復(fù)制卷,從而重建副本。這里的主機(jī)副本自動(dòng)重建機(jī)制和單個(gè)故障硬盤的自動(dòng)重建機(jī)制并沒有本質(zhì)差別,只是同時(shí)做了多個(gè)故障盤注意,主機(jī)自動(dòng)重建是有代價(jià)的,會(huì)復(fù)用其他磁盤的空間和性能。因此在條件允許情況下,應(yīng)盡快替換主機(jī)。如果不想aSAN才超時(shí)自動(dòng)重建,可以到副本修復(fù)是指當(dāng)某個(gè)磁盤出現(xiàn)離線再上線后,保存在上面的文件副本可能是舊數(shù)據(jù),需要按照其他在線的文件副本進(jìn)行修復(fù)的一個(gè)行為。典型的情況是通過采用副本快速修復(fù)技術(shù),即對(duì)于短暫離線的副本,只修復(fù)少量差異數(shù)據(jù),從而避免了整個(gè)文件進(jìn)行對(duì)比修復(fù),達(dá)到快速修改的目的,同時(shí),aSAN對(duì)業(yè)務(wù)IO和修復(fù)IO做了優(yōu)先級(jí)控制,從而避免了副本修復(fù)IO對(duì)業(yè)務(wù)IO的影2.4.4XXaSAN功能特性自動(dòng)精簡(jiǎn)配置(ThinProvisioning)是一種先進(jìn)的、智能的、高效的容量分配和管理技術(shù),它擴(kuò)展了存儲(chǔ)管理功能,可以用小的物理容量為操作系統(tǒng)提供超大容量的虛擬存儲(chǔ)空間。并且隨著應(yīng)用的數(shù)據(jù)量增長,實(shí)際存儲(chǔ)空間也可空間”,可以顯著減少已分配但是未使用的存儲(chǔ)空間。如果采用傳統(tǒng)的磁盤分配方法,需要用戶對(duì)當(dāng)前和未來業(yè)務(wù)發(fā)展規(guī)模進(jìn)行正確的預(yù)判,提前做好空間資源的規(guī)劃。在實(shí)際中,由于對(duì)應(yīng)用系統(tǒng)規(guī)模的估計(jì)不準(zhǔn)確,往往會(huì)造成容量分配的浪費(fèi),比如為一個(gè)應(yīng)用系統(tǒng)預(yù)分配了5TB的空間,但該應(yīng)用卻只需要1TB的容量,這就造成了4TB的容量浪費(fèi),而且這4TB容量被分配了之后,很難再被別的應(yīng)用系統(tǒng)使用。即使是最優(yōu)秀的系統(tǒng)管理員,也不可能恰如其分的為應(yīng)用分配好存儲(chǔ)資源,而沒有任何的浪費(fèi)。根據(jù)業(yè)界的權(quán)威統(tǒng)計(jì),由于預(yù)分配了太大的存儲(chǔ)空間而導(dǎo)致的資源浪費(fèi),大約占總存儲(chǔ)空間的30%左右。aSAN采用了自動(dòng)精簡(jiǎn)配置技術(shù)有效的解決了存儲(chǔ)資源的空間分配難題,提高了資源利用率。采用自動(dòng)精簡(jiǎn)配置技術(shù)的數(shù)據(jù)卷分配給用戶的是一個(gè)邏輯的虛擬容量,而不是一個(gè)固定的物理空間,只有當(dāng)用戶向該邏輯資源真正寫數(shù)aSAN私網(wǎng)鏈路聚合aSAN的私網(wǎng)鏈路聚合是為了提高網(wǎng)絡(luò)可靠性和性能設(shè)置而提出的。使用aSAN私網(wǎng)鏈路聚合不需要交換機(jī)上配置鏈路聚合,由存儲(chǔ)私網(wǎng)負(fù)責(zé)鏈路聚合路。而aSAN私網(wǎng)鏈路聚合采用按照TCP連接進(jìn)行均分,兩臺(tái)主機(jī)間的不同TCP連接可使用不同物理鏈路。在保障可靠性的同時(shí),還達(dá)到了更加充分的利aSAN采用一致性復(fù)制協(xié)議來保證多個(gè)副本數(shù)據(jù)的一致性,即只有當(dāng)所有據(jù)都是完全一致,從任一副本讀到的數(shù)據(jù)都是相同的。如果某個(gè)副本中的某個(gè)2.5.1網(wǎng)絡(luò)虛擬化概述網(wǎng)絡(luò)虛擬化也是構(gòu)建超融合架構(gòu)中非常重要的一部分,如果在云計(jì)算、虛就會(huì)存在諸多問題:一、如何保障虛擬機(jī)在保持相應(yīng)的網(wǎng)絡(luò)策略不變的情況下進(jìn)行2.5.2aNET網(wǎng)絡(luò)虛擬化技術(shù)原理SDNSDN(SoftwareDefinedNetwork,軟件定義網(wǎng)絡(luò))是一種創(chuàng)新性的網(wǎng)狹義的SDN:主要指的是通過OpenFlow來實(shí)現(xiàn)。架構(gòu)上大同小異,用一副標(biāo)準(zhǔn)的SDN規(guī)范圖來說明下:SDNapplicationOsSControllerplaneCoordinatorAgent(20)DataplaneCoordinatorAgent(21)agreements,credentials,policy,etc.)可以這幅圖看出實(shí)現(xiàn)SDN的重點(diǎn)在Dataplane和Controllerplane,以開放取代封閉,以通用替代專有——將原本傳統(tǒng)的專業(yè)網(wǎng)元設(shè)備上的網(wǎng)絡(luò)功能提取出來虛擬化,運(yùn)行在通用的硬件平臺(tái)上,業(yè)界稱這種變化為NFV。NFV(NetworkFunctionsVirtualisation網(wǎng)絡(luò)功能虛擬化)的目標(biāo)是希望通過廣泛采用的硬件承載各種各樣的網(wǎng)絡(luò)軟件功能,實(shí)現(xiàn)軟件的靈活加載,在數(shù)據(jù)中心、網(wǎng)絡(luò)節(jié)點(diǎn)和用戶端等各個(gè)位置靈活的配置,加快網(wǎng)絡(luò)部署和調(diào)整的速度,降低業(yè)務(wù)部署的復(fù)雜度及總體投資成本,提高網(wǎng)絡(luò)設(shè)備的統(tǒng)一化、通用化、通過NFV技術(shù),將網(wǎng)絡(luò)功能資源進(jìn)行虛擬化,使得網(wǎng)絡(luò)資源升級(jí)為虛擬網(wǎng)絡(luò)的束縛,可以在全網(wǎng)范圍內(nèi)按需流動(dòng),呈現(xiàn)出網(wǎng)絡(luò)資源的統(tǒng)一池化狀態(tài),傳統(tǒng)數(shù)據(jù)平面:在典型的虛擬化網(wǎng)絡(luò)場(chǎng)景下,數(shù)據(jù)包將由網(wǎng)絡(luò)接口卡接收,然后進(jìn)行分類并生成規(guī)定的動(dòng)作,并對(duì)數(shù)據(jù)包付諸實(shí)施。在傳統(tǒng)的Linux模式下,系統(tǒng)接收數(shù)據(jù)包和將數(shù)據(jù)包發(fā)送出系統(tǒng)的過程占了包處理中很大一部分時(shí)間,換句話說,即使用戶空間應(yīng)用程序什么都不做,而只是將數(shù)據(jù)包從接收端口傳送到發(fā)送端當(dāng)網(wǎng)卡從網(wǎng)絡(luò)接收到一個(gè)數(shù)據(jù)幀后,會(huì)使用直接內(nèi)存訪問(DMA)將數(shù)據(jù)幀傳送到針對(duì)這一目的而預(yù)先分配的內(nèi)核緩沖區(qū)內(nèi),更新適當(dāng)?shù)慕邮彰枋龇h(huán),然后發(fā)出中斷通知數(shù)據(jù)幀的到達(dá)。操作系統(tǒng)對(duì)中斷進(jìn)行處理,更新環(huán),然后將數(shù)據(jù)幀交給網(wǎng)絡(luò)堆棧。網(wǎng)絡(luò)堆棧對(duì)數(shù)據(jù)進(jìn)行處理,如果數(shù)據(jù)幀的目的地是本地套接字,那么就將數(shù)據(jù)復(fù)制到該套接字,而擁有該套接字的用戶空間應(yīng)用程序進(jìn)行傳輸時(shí),用戶應(yīng)用程序通過系統(tǒng)調(diào)用將數(shù)據(jù)寫入到一個(gè)套接字,使Linux內(nèi)核將數(shù)據(jù)從用戶緩沖區(qū)復(fù)制到內(nèi)核緩沖區(qū)中。然后網(wǎng)絡(luò)堆棧對(duì)數(shù)據(jù)進(jìn)行處理,并根據(jù)需要對(duì)其進(jìn)行封裝,然后再調(diào)用網(wǎng)卡驅(qū)動(dòng)程序。網(wǎng)卡驅(qū)動(dòng)程序網(wǎng)卡將數(shù)據(jù)幀從內(nèi)核緩沖區(qū)轉(zhuǎn)移到自己內(nèi)置的先進(jìn)先出(FIFO)緩沖區(qū),然后將數(shù)據(jù)幀傳輸?shù)骄W(wǎng)絡(luò)。接著網(wǎng)卡會(huì)發(fā)出一個(gè)中斷,通知數(shù)據(jù)幀已經(jīng)成功傳傳統(tǒng)模式下CPU損耗主要發(fā)生在如下幾個(gè)地方:中斷處理:這包括在接收到中斷時(shí)暫停正在執(zhí)行的任務(wù),對(duì)中斷進(jìn)行處理加,系統(tǒng)將會(huì)花費(fèi)越來越多的時(shí)間來處理中斷,當(dāng)流量速度達(dá)到10G以太網(wǎng)卡的線路速度時(shí)就會(huì)嚴(yán)重影響性能。而對(duì)于有著多個(gè)10G以太網(wǎng)卡的情況,那么上下文切換:上下文切換指的是將來自當(dāng)前執(zhí)行線程的寄存器和狀態(tài)信息加以保存,之后再將來自被搶占線程的寄存器和狀態(tài)信息加以恢復(fù),使該線程系統(tǒng)調(diào)用:系統(tǒng)調(diào)用會(huì)造成用戶模式切換到內(nèi)核模式,然后再切換回用戶數(shù)據(jù)復(fù)制:數(shù)據(jù)幀會(huì)從內(nèi)核緩沖區(qū)復(fù)制到用戶套接字,并從用戶套接字復(fù)調(diào)度:調(diào)度程序使每個(gè)線程都能運(yùn)行很短的一段時(shí)間,造成多任務(wù)內(nèi)核中并發(fā)執(zhí)行的假象。當(dāng)發(fā)生調(diào)度定時(shí)器中斷或在其他一些檢查時(shí)間點(diǎn)上,Linux調(diào)度程序就會(huì)運(yùn)行,以檢查當(dāng)前線程是否時(shí)間已到。當(dāng)調(diào)度程序決定應(yīng)該運(yùn)行Linux等通用操作系統(tǒng),必須公平地對(duì)待網(wǎng)絡(luò)應(yīng)用程序和非網(wǎng)絡(luò)應(yīng)用程序,對(duì)于Intel和Broadcom的e1000e,igb,ixgbe,bnx2,tg3,bnx2x等可編程網(wǎng)卡,支持高性能方案,對(duì)e1000等網(wǎng)卡,支持通用方案。保證硬件兼容性。機(jī)制,真正做到網(wǎng)卡收包一次拷貝,所有進(jìn)程共享引用的方式,數(shù)據(jù)可以從網(wǎng)卡傳送到內(nèi)核、應(yīng)用層、虛擬機(jī)而無需再次拷貝。內(nèi)存池自動(dòng)增長,自動(dòng)回收。單數(shù)據(jù)線程親和鎖定到硬件線程,避免內(nèi)核和用戶空間之間的上下文切換、在理想情況下,當(dāng)數(shù)據(jù)包到達(dá)系統(tǒng)時(shí),所有處理該數(shù)據(jù)包所需的信息最好都已經(jīng)在內(nèi)核的本地高速緩存中。我們可以設(shè)想一下,如果當(dāng)數(shù)據(jù)包到達(dá)時(shí),查找表項(xiàng)目、數(shù)據(jù)流上下文、以及連接控制塊都已經(jīng)在高速緩存中的話,那么就可以直接對(duì)數(shù)據(jù)包進(jìn)行處理,而無需“掛起”并等待外部順序內(nèi)存訪問完成。內(nèi)核態(tài)的小BUG,可能導(dǎo)致系統(tǒng)宕機(jī),而應(yīng)用層進(jìn)程,最程死掉,我們?cè)O(shè)計(jì)了檢測(cè)監(jiān)控機(jī)制,在最極端的情況,即使進(jìn)程意外死亡,也數(shù)據(jù)平面負(fù)責(zé)報(bào)文的轉(zhuǎn)發(fā),是整個(gè)系統(tǒng)的核心,數(shù)據(jù)平面由多個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)線程和一個(gè)控制線程組成,控制線程負(fù)責(zé)接收控制進(jìn)程配置的消息,數(shù)據(jù)線程在數(shù)據(jù)線程中實(shí)現(xiàn)快速路徑與慢速路徑分離的報(bào)文處理方式,報(bào)文的轉(zhuǎn)發(fā)是基于session的,一條流匹配到一個(gè)session,該條流的第一個(gè)報(bào)文負(fù)責(zé)查找各種表項(xiàng),創(chuàng)建session,并將查找表項(xiàng)的結(jié)果記錄到session中,該條流的后續(xù)的報(bào)文只需查找session,并根據(jù)session中記錄的信息對(duì)報(bào)文進(jìn)行處理和轉(zhuǎn)系統(tǒng)中所有的報(bào)文都是由數(shù)據(jù)線程接收的,需要做轉(zhuǎn)發(fā)的報(bào)文,不需要送到linux協(xié)議棧,直接在數(shù)據(jù)線程中處理后從網(wǎng)卡發(fā)出,對(duì)于到設(shè)備本身的報(bào)文(如ssh,telnet,ospf,bgp,dhcp等等),數(shù)據(jù)線程無法直接處理,通過TUNaNet數(shù)據(jù)層面,在六核2.0GHz英特爾至強(qiáng)處理器L5638上使用最長前綴匹配(LPM)時(shí),對(duì)于使用六個(gè)核心中的四個(gè)核心、每個(gè)核一個(gè)線程、四個(gè)10G以太網(wǎng)端口的情況,64字節(jié)數(shù)據(jù)包的IP第三層轉(zhuǎn)發(fā)性能達(dá)到了900萬pps。這比原始Linux的性能差不多提高了九倍(原始Linux在雙處理器六核2.4GHz模式下的性能為100萬pps)。數(shù)據(jù)面為底層處理和數(shù)據(jù)包IO提供了與硬件打交道的功能,而應(yīng)用層協(xié)議棧在上方提供了一個(gè)優(yōu)化的網(wǎng)絡(luò)堆棧實(shí)現(xiàn)。與LinuxSMP解決方案相比,降低了對(duì)Linux內(nèi)核的依賴性,從而具有更好的擴(kuò)展性和穩(wěn)定性?!窨刂破矫嬗辛藬?shù)據(jù)面和協(xié)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論