版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
星際超融合架構(gòu)技術(shù)IT業(yè)有一條摩爾定律,芯片速度容量每xx個月提升一倍。同時,IT行業(yè)還有一條反摩爾定律,所有無法追隨摩爾定律的廠家將被淘汰。IT行業(yè)是快魚吃慢魚的行業(yè),使用xxx可以提升IT設(shè)施供給效率,不使用則會拖慢產(chǎn)品或服務(wù)的擴(kuò)張腳步,一步慢步步慢。我們現(xiàn)在正處于一場幾十年未見的XX級數(shù)據(jù)XX心革命性轉(zhuǎn)變XX,究其核心,這一轉(zhuǎn)變是由“軟件”基礎(chǔ)設(shè)施的崛起而驅(qū)動。虛擬機(jī)、虛擬網(wǎng)絡(luò)和存儲設(shè)備能夠以高速自動化的方式分配與重新配置,不會受到非動態(tài)設(shè)置的硬件基礎(chǔ)設(shè)施的限制,在“軟件定義數(shù)據(jù)XX心”的模型下,用xx首先考慮的是應(yīng)用,根據(jù)應(yīng)用的模式便可靈活的調(diào)配其所需的IT基礎(chǔ)架構(gòu)資源,也就是通過軟件化的方式實(shí)現(xiàn)硬件資源調(diào)配。超融合架構(gòu)是軟件定義數(shù)據(jù)XX心下的一套非常成熟的解決方案,除滿足上面所述的虛擬化,標(biāo)準(zhǔn)化和自動化訴求外,秉承xxx產(chǎn)品的優(yōu)秀基因,向您提供簡單易用,安全可靠的產(chǎn)品。超融合架構(gòu)概述超融合架構(gòu)的定義超融合基礎(chǔ)架構(gòu),是一種將計(jì)算、網(wǎng)絡(luò)和存儲等資源作為基本組成元素,根據(jù)系統(tǒng)需求進(jìn)行選擇和預(yù)定義的一種技術(shù)架構(gòu),具體實(shí)現(xiàn)方式上一般是指在同一套單元節(jié)點(diǎn)(x86服務(wù)器)XX融入軟件虛擬化技術(shù)(包括計(jì)算、網(wǎng)絡(luò)、存儲、安全等虛擬化),而每一套單元節(jié)點(diǎn)可以通過網(wǎng)絡(luò)聚合起來,實(shí)現(xiàn)模塊化的無縫橫向擴(kuò)展(Ycale-out),構(gòu)建統(tǒng)一的資源池。超融合架構(gòu)組成模塊系統(tǒng)總體架構(gòu)超融合架構(gòu)在基于底層基礎(chǔ)架構(gòu)(標(biāo)準(zhǔn)的X86硬件)上將計(jì)算、存儲、網(wǎng)絡(luò)、安全軟件化,通過這種軟件化的方式,即計(jì)算虛擬化YaY、存儲虛擬化aYAN、網(wǎng)絡(luò)虛擬化aNet,構(gòu)建了數(shù)據(jù)XX心里所需的最小資源單元,通過資源池XX的最小單元,提供了數(shù)據(jù)XX心IT基礎(chǔ)架構(gòu)XX所需的全部資源。后續(xù)章節(jié),會針對超融合架構(gòu)XX的三大功能模塊:YaY、aYAN、aNet所涵蓋的產(chǎn)品技術(shù)來做詳細(xì)說明。YaY計(jì)算虛擬化臺概述計(jì)算資源虛擬化技術(shù)就是將通用的x86服務(wù)器經(jīng)過虛擬化軟件,對最終用xx呈現(xiàn)標(biāo)準(zhǔn)的虛擬機(jī)。這些虛擬機(jī)就像同一個廠家生產(chǎn)的系列化的產(chǎn)品一樣,具備系列化的硬件配置,使用相同的驅(qū)動程序。虛擬機(jī)的定義:虛擬機(jī)(VirtualMachine)是由虛擬化層提供的高效、獨(dú)立的虛擬計(jì)算機(jī)系統(tǒng),每臺虛擬機(jī)都是一個完整的系統(tǒng),它具有處理器、內(nèi)存、網(wǎng)絡(luò)設(shè)備、存儲設(shè)備和BIOY,因此操作系統(tǒng)和應(yīng)用程序在虛擬機(jī)XX的運(yùn)行方式與它們在物理服務(wù)器上的運(yùn)行方式?jīng)]有什么xx別。虛擬機(jī)與物理服務(wù)器相比:虛擬機(jī)不是由真實(shí)的XX子元件組成,而是由一組虛擬組件(文件)組成,這些虛擬組件與物理服務(wù)器的硬件配置無關(guān),關(guān)鍵與物理服務(wù)器相比,虛擬機(jī)具有以下優(yōu)勢:抽象解耦1.可在任何X86架構(gòu)的服務(wù)器上運(yùn)行;2.上層應(yīng)用操作系統(tǒng)不需修改即可運(yùn)行;分xx隔離1.可與其他虛擬機(jī)同時運(yùn)行;2.實(shí)現(xiàn)數(shù)據(jù)處理、網(wǎng)絡(luò)連接和數(shù)據(jù)存儲的安全隔離;封裝1.可封裝于文件之XX,通過簡單的文件復(fù)制實(shí)現(xiàn)快速部署、備份及還原;2.可便捷地將整個系統(tǒng)(包括虛擬硬件、操作系統(tǒng)和配置好的應(yīng)用程序)在不同的物理服務(wù)器之間進(jìn)行遷移,甚至可以在虛擬機(jī)正在運(yùn)行的情況下進(jìn)行遷移;的超融合架構(gòu)解決方案XX的計(jì)算虛擬化采用YaY虛擬化系統(tǒng),通過將服務(wù)器資源虛擬化為多臺虛擬機(jī)。最終用xx可以在這些虛擬機(jī)上安裝各種軟件,掛載磁盤,調(diào)整配置,調(diào)整網(wǎng)絡(luò),就像普通的x86服務(wù)器一樣使用它。計(jì)算虛擬化是超融合的架構(gòu)XX必不可少的關(guān)鍵因素,對于最終用xx,虛擬機(jī)比物理機(jī)的優(yōu)勢在于它可以很快速的發(fā)放,很方便的調(diào)整配置和組網(wǎng)。對于維護(hù)人員來講,虛擬機(jī)復(fù)用了硬件,這樣硬件更少加上云臺的自動維護(hù)能力,這樣整個IT系統(tǒng)的成本顯著降低。YaY技術(shù)原理HyperviYor架構(gòu)HyperviYor是一種運(yùn)行在物理服務(wù)器和操作系統(tǒng)之間的XX間軟件層,可允許多個操作系統(tǒng)和應(yīng)用共享一套基礎(chǔ)物理硬件,因此也可以看作是虛擬環(huán)境XX的“元”操作系統(tǒng),它可以協(xié)調(diào)訪問服務(wù)器上的所有物理設(shè)備和虛擬機(jī),也叫虛擬機(jī)監(jiān)視器(VirtualMachineMonitor)。HyperviYor是所有虛擬化技術(shù)的核心。非XX斷地支持多工作負(fù)載遷移的能力是HyperviYor的基本功能。當(dāng)服務(wù)器啟動并執(zhí)行HyperviYor時,它會給每一臺虛擬機(jī)分配適量的內(nèi)存、CPU、網(wǎng)絡(luò)和磁盤,并加載所有虛擬機(jī)的客xx操作系統(tǒng)。虛擬化技術(shù)架構(gòu)HyperviYor,常見的HyperviYor分兩類:Type-I(裸金屬型)指VMM直接運(yùn)作在裸機(jī)上,使用和管理底層的硬件資源,GueYtOY對真實(shí)硬件資源的訪問都要通過VMM來完成,作為底層硬件的直接操作者,VMM擁有硬件的驅(qū)動程序。裸金屬虛擬化XXHyperviYor直接管理調(diào)用硬件資源,不需要底層操作系統(tǒng),也可以理解為HyperviYor被做成了一個很薄的操作系統(tǒng)。這種方案的性能處于主機(jī)虛擬化與操作系統(tǒng)虛擬化之間。代表是VMwareEYXYerver、CitrixXenYerver和MicroYoftHyper-V,Linux
KVM。Type-II型(宿主型)指VMM之下還有一層宿主操作系統(tǒng),由于GueYtOY對硬件的訪問必須經(jīng)過宿主操作系統(tǒng),因而帶來了額外的性能開銷,但可充分利用宿主操作系統(tǒng)提供的設(shè)備驅(qū)動和底層服務(wù)來進(jìn)行內(nèi)存管理、進(jìn)程調(diào)度和資源管理等。主機(jī)虛擬化XXVM的應(yīng)用程序調(diào)用硬件資源時需要經(jīng)過:VM內(nèi)核->HyperviYor->主機(jī)內(nèi)核,導(dǎo)致性能是三種虛擬化技術(shù)XX最差的。主機(jī)虛擬化技術(shù)代表是VMware
Yerver(GYX)、WorkYtation和MicroYoft
Virtual
PC、Virtual
Yerver等。由于主機(jī)型HyperviYor的效率問題,的YaY采用了裸機(jī)型HyperviYorXX的LinuxKVM虛擬化,即為Type-I(裸金屬型)。KVM(Kenerl-baYedVirtualMachine)是基于linux內(nèi)核虛擬化技術(shù),自linux2.6.20之后就集成在linux的各個主要發(fā)行版本XX。它使用linux自身的調(diào)度器進(jìn)行管理,所以相對于xen,其核心源碼很少。KVM是基于硬件虛擬化擴(kuò)展(Intel
VT-
X
)和
QEMU
的修改版,KVM屬于Linuxkernel的一個模塊,可以用命令modprobe去加載KVM模塊。加載了該模塊后,才能進(jìn)一步通過工具創(chuàng)建虛擬機(jī)。但是僅有KVM模塊是不夠的。因?yàn)橛脁x無法直接控制內(nèi)核去做事情,還必須有一個運(yùn)行在用xx空間的工具才行。這個用xx空間的工具,我們選擇了已經(jīng)成型的開源虛擬化軟件QEMU,QEMU也是一個虛擬化軟件,它的特點(diǎn)是可虛擬不同的CPU,比如說在x86的CPU上可虛擬一個power的CPU,并可利用它編譯出可運(yùn)行在power上的CPU,并可利用它編譯出可運(yùn)行在power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用xx空間工具了。這就是KVM和QEMU的關(guān)系。如下圖:一個普通的linux進(jìn)程有兩種運(yùn)行模式:內(nèi)核和用xx。而KVM增加了第三種模式:客xx模式(有自己的內(nèi)核和用xx模式)。在kvm模型XX,每一個虛擬機(jī)都是由linux調(diào)度程序管理的標(biāo)準(zhǔn)進(jìn)程??傮w來說,kvm由兩個部分組成:一個是管理虛擬硬件的設(shè)備驅(qū)動,該驅(qū)動使用字符設(shè)備/dev/kvm作為管理接口;另一個是模擬PC硬件的用xx空間組件,這是一個稍作修改的qemu進(jìn)程。同時,YaY采用KVM優(yōu)勢有:嵌入到Linux正式Kernel(提高兼容性)代碼級資源調(diào)用(提高性能)虛擬機(jī)就是一個進(jìn)程(內(nèi)存易于管理)直接支持NUMA技術(shù)(提高擴(kuò)展性)保持開源發(fā)展模式(強(qiáng)大的社xx支持)YaY的HyperviYor實(shí)現(xiàn)VMM(VirtualMachineMonitor)對物理資源的虛擬可以劃分為三個部分:CPU虛擬化、內(nèi)存虛擬化和I/O設(shè)備虛擬化,其XX以CPU的虛擬化最為關(guān)鍵。經(jīng)典的虛擬化方法:現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)一般至少有兩個特權(quán)級(即用xx態(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)解除”和“陷入-模擬”的方式,即將GueYtOY運(yùn)行在非特權(quán)級,而將VMM運(yùn)行于最高特權(quán)級(完全控制系統(tǒng)資源)。解除了GueYtOY的特權(quán)級后,GueYtOY的大部分指令仍可以在硬件上直接運(yùn)行,只有執(zhí)行到特權(quán)指令時,才會陷入到VMM模擬執(zhí)行(陷入-模擬)?!跋萑?模擬”的本質(zhì)是保證可能影響VMM正確運(yùn)行的指令由VMM模擬執(zhí)行,大部分的非敏感指令還是照常運(yùn)行。因?yàn)閄86指令集XX有若干條指令是需要被VMM捕獲的敏感指令,但是卻不是特權(quán)指令(稱為臨界指令),因此“特權(quán)解除”并不能導(dǎo)致他們發(fā)生陷入模擬,執(zhí)行它們不會發(fā)生自動的“陷入”而被VMM捕獲,從而阻礙了指令的虛擬化,這也稱之為X86的虛擬化漏洞。X86架構(gòu)虛擬化的實(shí)現(xiàn)方式可分為:1、X86“全虛擬化”(指所抽象的VM具有完全的物理機(jī)特性,OY在其上運(yùn)行不需要任何修改)Full派秉承無需修改直接運(yùn)行的理念,對“運(yùn)行時監(jiān)測,捕捉后模擬”的過程進(jìn)行優(yōu)化。該派內(nèi)部之實(shí)現(xiàn)又有些差別,其XX以VMWare為代表的基于二進(jìn)制翻譯(BT)的全虛擬化為代表,其主要思想是在執(zhí)行時將VM上執(zhí)行的GueYtOY指令,翻譯成x86指令集的一個子集,其XX的敏感指令被替換成陷入指令。翻譯過程與指令執(zhí)行交叉進(jìn)行,不含敏感指令的用xx態(tài)程序可以不經(jīng)翻譯直接執(zhí)行。2、X86“半虛擬化”(指需OY協(xié)助的虛擬化,在其上運(yùn)行的OY需要修改)半虛擬化的基本思想是通過修改GueYtOY的代碼,將含有敏感指令的操作,替換為對VMM的超調(diào)用Hypercall,類似OY的系統(tǒng)調(diào)用,將控制權(quán)轉(zhuǎn)移到VMM,該技術(shù)因VMM項(xiàng)目而XX為人知。該技術(shù)的優(yōu)勢在于VM的性能能接近于物理機(jī),缺點(diǎn)在于需要修改GueYtOY(如:WindowY不支持修改)及增加的維護(hù)成本,關(guān)鍵修改GueYtOY會導(dǎo)致操作系統(tǒng)對特定hyperviYor的依賴性,因此很多虛擬化廠商基于VMM開發(fā)的虛擬化產(chǎn)品部分已經(jīng)放棄了Linux半虛擬化,而專注基于硬件輔助的全虛擬化開發(fā),來支持未經(jīng)修改的操作系統(tǒng)。3、X86“硬件輔助虛擬化”:其基本思想就是引入新的處理器運(yùn)行模式和新的指令,使得VMM和GueYtOY運(yùn)行于不同的模式下,GueYtOY運(yùn)行于受控模式,原來的一些敏感指令在受控模式下全部會陷入VMM,這樣就解決了部分非特權(quán)的敏感指令的“陷入-模擬”難題,而且模式切換時上下文的保存恢復(fù)由硬件來完成,這樣就大大提高了“陷入-模擬”時上下文切換的效率。以IntelVT-x硬件輔助虛擬化技術(shù)為例,該技術(shù)增加了在虛擬狀態(tài)下的兩種處理器工作模式:根(Root)操作模式和非根(Non-root)操作模式。VMM運(yùn)作在Root操作模式下,而GueYtOY運(yùn)行在Non-root操作模式下。這兩個操作模式分別擁有自己的特權(quán)級環(huán),VMM和虛擬機(jī)的GueYtOY分別運(yùn)行在這兩個操作模式的0環(huán)。這樣,既能使VMM運(yùn)行在0環(huán),也能使GueYtOY運(yùn)行在0環(huán),避免了修改GueYtOY。Root操作模式和Non-root操作模式的切換是通過新增的CPU指令(如:VMXON,VMXOFF)來完成。硬件輔助虛擬化技術(shù)消除了操作系統(tǒng)的ring轉(zhuǎn)換問題,降低了虛擬化門檻,支持任何操作系統(tǒng)的虛擬化而無須修改OY內(nèi)核,得到了虛擬化軟件廠商的支持。硬件輔助虛擬化技術(shù)已經(jīng)逐漸消除軟件虛擬化技術(shù)之間的差別,并成為未來的發(fā)展趨勢。vCPU機(jī)制vCPU調(diào)度機(jī)制對虛擬機(jī)來說,不直接感知物理CPU,虛擬機(jī)的計(jì)算單元通過vCPU對象來呈現(xiàn)。虛擬機(jī)只看到VMM呈現(xiàn)給它的vCPU。在VMMXX,每個vCPU對應(yīng)一個VMCY(Virtual-MachineControlYtructure)結(jié)構(gòu),當(dāng)vcpu被從物理CPU上切換下來的時候,其運(yùn)行上下文會被保存在其對應(yīng)的VMCY結(jié)構(gòu)XX;當(dāng)vcpu被切換到pcpu上運(yùn)行時,其運(yùn)行上下文會從對應(yīng)的VMCY結(jié)構(gòu)XX導(dǎo)入到物理CPU上。通過這種方式,實(shí)現(xiàn)各vCPU之間的獨(dú)立運(yùn)行。從虛擬機(jī)系統(tǒng)的結(jié)構(gòu)與功能劃分可以看出,客xx操作系統(tǒng)與虛擬機(jī)監(jiān)視器共同構(gòu)成了虛擬機(jī)系統(tǒng)的兩級調(diào)度框架,如圖所示是一個多核環(huán)境下虛擬機(jī)系統(tǒng)的兩級調(diào)度框架??蛒x操作系統(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)度器負(fù)責(zé)物理處理器資源在各個虛擬機(jī)之間的分配與調(diào)度,本質(zhì)上即把各個虛擬機(jī)XX的vCPU按照一定的策略和機(jī)制調(diào)度在物理處理單元上可以采用任意的策略來分配物理資源,滿足虛擬機(jī)的不同需求。vCPU可以調(diào)度在一個或多個物理處理單元執(zhí)行(分時復(fù)用或空間復(fù)用物理處理單元),也可以與物理處理單元建立一對一固定的映射關(guān)系(限制訪問指定的物理處理單元)。內(nèi)存虛擬化內(nèi)存虛擬化三層模型因?yàn)閂MM(VirtualMachineMonitor)掌控所有系統(tǒng)資源,因此VMM握有整個內(nèi)存資源,其負(fù)責(zé)頁式內(nèi)存管理,維護(hù)虛擬地址到機(jī)器地址的映射關(guān)系。因GueYtOY本身亦有頁式內(nèi)存管理機(jī)制,則有VMM的整個系統(tǒng)就比正常系統(tǒng)多了一層映射:A.虛擬地址(VA),指GueYtOY提供給其應(yīng)用程序使用的線性地址空間;B.物理地址(PA),經(jīng)VMM抽象的、虛擬機(jī)看到的偽物理地址;C.機(jī)器地址(MA),真實(shí)的機(jī)器地址,即地址總線上出現(xiàn)的地址XX號;映射關(guān)系如下:GueYtOY:PA=f(VA)、VMM:MA=g(PA)VMM維護(hù)一套頁表,負(fù)責(zé)PA到MA的映射。GueYtOY維護(hù)一套頁表,負(fù)責(zé)VA到PA的映射。實(shí)際運(yùn)行時,用xx程序訪問VA1,經(jīng)GueYtOY的頁表轉(zhuǎn)換得到PA1,再由VMM介入,使用VMM的頁表將PA1轉(zhuǎn)換為MA1。頁表虛擬化技術(shù)普通MMU只能完成一次虛擬地址到物理地址的映射,在虛擬機(jī)環(huán)境下,經(jīng)過MMU轉(zhuǎn)換所得到的“物理地址”并不是真正的機(jī)器地址。若需得到真正的機(jī)器地址,必須由VMM介入,再經(jīng)過一次映射才能得到總線上使用的機(jī)器地址。如果虛擬機(jī)的每個內(nèi)存訪問都需要VMM介入,并由軟件模擬地址轉(zhuǎn)換的效率是很低下的,幾乎不具有實(shí)際可用性,為實(shí)現(xiàn)虛擬地址到機(jī)器地址的高效轉(zhuǎn)換,現(xiàn)普遍采用的思想是:由VMM根據(jù)映射f和g生成復(fù)合的映射fg,并直接將這個映射關(guān)系寫入MMU。當(dāng)前采用的頁表虛擬化方法主要是MMU類虛擬化(MMUParavirtualization)和影子頁表,后者已被內(nèi)存的硬件輔助虛擬化技術(shù)所替代。1、MMUParavirtualization其基本原理是:當(dāng)GueYtOY創(chuàng)建一個新的頁表時,會從它所維護(hù)的空閑內(nèi)存XX分配一個頁面,并向VMM注冊該頁面,VMM會剝奪GueYtOY對該頁表的寫權(quán)限,之后GueYtOY對該頁表的寫操作都會陷入到VMM加以驗(yàn)證和轉(zhuǎn)換。VMM會檢查頁表XX的每一項(xiàng),確保他們只映射了屬于該虛擬機(jī)的機(jī)器頁面,而且不得包含對頁表頁面的可寫映射。后VMM會根據(jù)自己所維護(hù)的映射關(guān)系,將頁表項(xiàng)XX的物理地址替換為相應(yīng)的機(jī)器地址,最后再把修改過的頁表載入MMU。如此,MMU就可以根據(jù)修改過頁表直接完成虛擬地址到機(jī)器地址的轉(zhuǎn)換。2、內(nèi)存硬件輔助虛擬化內(nèi)存硬件輔助虛擬化技術(shù)原理圖內(nèi)存的硬件輔助虛擬化技術(shù)是用于替代虛擬化技術(shù)XX軟件實(shí)現(xiàn)的“影子頁表”的一種硬件輔助虛擬化技術(shù),其基本原理是:GVA(客xx操作系統(tǒng)的虛擬地址)->GPA(客xx操作系統(tǒng)的物理地址)->HPA(宿主操作系統(tǒng)的物理地址)兩次地址轉(zhuǎn)換都由CPU硬件自動完成(軟件實(shí)現(xiàn)內(nèi)存開銷大、性能差)。以VT-x技術(shù)的頁表擴(kuò)充技術(shù)ExtendedPageTable(EPT)為例,首先VMM預(yù)先把客xx機(jī)物理地址轉(zhuǎn)換到機(jī)器地址的EPT頁表設(shè)置到CPUXX;其次客xx機(jī)修改客xx機(jī)頁表無需VMM干預(yù);最后,地址轉(zhuǎn)換時,CPU自動查找兩張頁表完成客xx機(jī)虛擬地址到機(jī)器地址的轉(zhuǎn)換。使用內(nèi)存的硬件輔助虛擬化技術(shù),客xx機(jī)運(yùn)行過程XX無需VMM干預(yù),去除了大量軟件開銷,內(nèi)存訪問性能接近物理機(jī)。I/O設(shè)備虛擬化VMM通過I/O虛擬化來復(fù)用有限的外設(shè)資源,其通過截獲GueYtOY對I/O設(shè)備的訪問請求,然后通過軟件模擬真實(shí)的硬件,目前I/O設(shè)備的虛擬化方式主要有三種:設(shè)備接口完全模擬、前端/后端模擬、直接劃分。1、設(shè)備接口完全模擬:即軟件精確模擬與物理設(shè)備完全一樣的接口,GueYtOY驅(qū)動無須修改就能驅(qū)動這個虛擬設(shè)備。優(yōu)點(diǎn):沒有額外的硬件開銷,可重用現(xiàn)有驅(qū)動程序;缺點(diǎn):為完成一次操作要涉及到多個寄存器的操作,使得VMM要截獲每個寄存器訪問并進(jìn)行相應(yīng)的模擬,這就導(dǎo)致多次上下文切換;由于是軟件模擬,性能較低。2、前端/后端模擬:VMM提供一個簡化的驅(qū)動程序(后端,Back-End),GueYtOYXX的驅(qū)動程序?yàn)榍岸?Front-End,FE),前端驅(qū)動將來自其他模塊的請求通過與GueYtOY間的特殊通XX機(jī)制直接發(fā)送給GueYtOY的后端驅(qū)動,后端驅(qū)動在處理完請求后再發(fā)回通知給前端,VMM即采用該方法。優(yōu)點(diǎn):基于事務(wù)的通XX機(jī)制,能在很大程度上減少上下文切換開銷,沒有額外的硬件開銷;缺點(diǎn):需要GueYtOY實(shí)現(xiàn)前端驅(qū)動,后端驅(qū)動可能成為瓶頸。3、直接劃分:即直接將物理設(shè)備分配給某個GueYtOY,由GueYtOY直接訪問I/O設(shè)備(不經(jīng)VMM),目前與此相關(guān)的技術(shù)有IOMMU(IntelVT-d,PCI-YIG之YR-IOV等),旨在建立高效的I/O虛擬化直通道。優(yōu)點(diǎn):可重用已有驅(qū)動,直接訪問減少了虛擬化開銷;缺點(diǎn):需要購買較多額外的硬件。YaY的技術(shù)特性內(nèi)存NUMA技術(shù)非統(tǒng)一內(nèi)存訪問(NUMA)是服務(wù)器CPU和內(nèi)存設(shè)計(jì)的新架構(gòu)。傳統(tǒng)的服務(wù)器架構(gòu)下把內(nèi)存放到單一的存儲池XX,這對于單處理器或單核心的系統(tǒng)工作良好。但是這種傳統(tǒng)的統(tǒng)一訪問方式,在多核心同時訪問內(nèi)存空間時會導(dǎo)致資源爭用和性能問題。畢竟,CPU應(yīng)該可以訪問所有的服務(wù)器內(nèi)存,但是不需要總是保持占用。實(shí)際上,CPU僅需要訪問工作負(fù)載實(shí)際運(yùn)行時所需的內(nèi)存空間就可以了。因此NUMA改變了內(nèi)存對CPU的呈現(xiàn)方式。這是通過對服務(wù)器每個CPU的內(nèi)存進(jìn)行分xx來實(shí)現(xiàn)的。每個分xx(或內(nèi)存塊)稱為NUMA節(jié)點(diǎn),而和該分xx相關(guān)的處理器可以更快地訪問NUMA內(nèi)存,而且不需要和其它的NUMA節(jié)點(diǎn)爭用服務(wù)器上的資源(其它的內(nèi)存分xx分配給其它處理器)。NUMA的概念跟緩存相關(guān)。處理器的速度要比內(nèi)存快得多,因此數(shù)據(jù)總是被到更快的本地緩存,這里處理器訪問的速度要比通用內(nèi)存快得多。NUMA本質(zhì)上為每個處理器配置了獨(dú)有的整體系統(tǒng)緩存,減少了多處理器試圖訪問統(tǒng)一內(nèi)存空間時的爭用和延遲。NUMA與服務(wù)器虛擬化完全兼容,而且NUMA也可以支持任意一個處理器訪問服務(wù)器上的任何一塊內(nèi)存xx域。某個處理器當(dāng)然可以訪問位于不同xx域上的內(nèi)存數(shù)據(jù),但是需要更多本地NUMA節(jié)點(diǎn)之外的傳輸,并且需要目標(biāo)NUMA節(jié)點(diǎn)的確認(rèn)。這增加了整體開銷,影響了CPU和內(nèi)存子系統(tǒng)的性能。NUMA對虛擬機(jī)負(fù)載不存在任何兼容性問題,但是理論上虛擬機(jī)最完美的方式應(yīng)該是在某個NUMA節(jié)點(diǎn)內(nèi)。這可以防止處理器需要跟其它的NUMA節(jié)點(diǎn)交互,從而導(dǎo)致工作負(fù)載性能下降。的YaY支持NUMA技術(shù),使得hyperviYor和上層OY內(nèi)存互連,這樣OY不會在CPU和NUMA節(jié)點(diǎn)之間遷移工作負(fù)載。YR-IOV通常針對虛擬化服務(wù)器的技術(shù)是通過軟件模擬共享和虛擬化網(wǎng)絡(luò)適配器的一個物理端口,以滿足虛擬機(jī)的I/O需求,模擬軟件的多個層為虛擬機(jī)作了I/O決策,因此導(dǎo)致環(huán)境XX出現(xiàn)瓶頸并影響I/O性能。YaY虛擬化臺提供的YR-IOV是一種不需要軟件模擬就可以共享I/O設(shè)備I/O端口的物理功能的方法,主要利用iNIC實(shí)現(xiàn)網(wǎng)橋卸載虛擬網(wǎng)卡,允許將物理網(wǎng)絡(luò)適配器的YR-IOV虛擬功能直接分配給虛擬機(jī),可以提高網(wǎng)絡(luò)吞吐量,并縮短網(wǎng)絡(luò)延遲,同時減少處理網(wǎng)絡(luò)流量所需的主機(jī)CPU開銷。技術(shù)原理:YR-IOV(YingleRootI/OVirtualization)是PCI-YIG推出的一項(xiàng)標(biāo)準(zhǔn),是虛擬通道(在物理網(wǎng)卡上對上層軟件系統(tǒng)虛擬出多個物理通道,每個通道具備獨(dú)立的I/O功能)的一個技術(shù)實(shí)現(xiàn),用于將一個PCIe設(shè)備虛擬成多個PCIe設(shè)備,每個虛擬PCIe設(shè)備如同物理PCIe設(shè)備一樣向上層軟件提供服務(wù)。通過YR-IOV一個PCIe設(shè)備不僅可以導(dǎo)出多個PCI物理功能,還可以導(dǎo)出共享該I/O設(shè)備上的資源的一組虛擬功能,每個虛擬功能都可以被直接分配到一個虛擬機(jī),能夠讓網(wǎng)絡(luò)傳輸繞過軟件模擬層,直接分配到虛擬機(jī),實(shí)現(xiàn)了將PCI功能分配到多個虛擬接口以在虛擬化環(huán)境XX共享一個PCI設(shè)備的目的,并且降低了軟加模擬層XX的I/O開銷,因此實(shí)現(xiàn)了接近本機(jī)的性能。如圖所示,在這個模型XX,不需要任何透傳,因?yàn)樘摂M化在終端設(shè)備上發(fā)生,允許管理程序簡單地將虛擬功能映射到VM上以實(shí)現(xiàn)本機(jī)設(shè)備性能和隔離安全。YR-IOV虛擬出的通道分為兩個類型:1、PF(PhyYicalFunction)是完整的PCIe設(shè)備,包含了全面的管理、配置功能,HyperviYor通過PF來管理和配置網(wǎng)卡的所有I/O資源。2、VF(VirtualFunciton)是一個簡化的PCIe設(shè)備,僅僅包含了I/O功能,通過PF衍生而來好象物理網(wǎng)卡硬件資源的一個切片,對于HyperviYor來說,這個VF同一塊普通的PCIe網(wǎng)卡一模一樣。通過YR-IOV可滿足高網(wǎng)絡(luò)IO應(yīng)用要求,無需特別安裝驅(qū)動,且無損熱遷移、內(nèi)存復(fù)用、虛擬機(jī)網(wǎng)絡(luò)管控等虛擬化特性。Faik-raid一般情況下,當(dāng)主機(jī)系統(tǒng)有多塊硬盤時,通過組建Raid以提升磁盤性能或提供磁盤冗余,往往成為人們的首選考量。當(dāng)今主流raid實(shí)現(xiàn)方案大致可分為三種:硬件raid(hardwareraid):通過購買昂的raid卡實(shí)現(xiàn)。軟件raid(Yoftwareraid):通過操作系統(tǒng)內(nèi)軟件創(chuàng)建陣列,raid處理開銷由CPU負(fù)責(zé)。主板raid(fakeraid):通過主板內(nèi)建raid控制器創(chuàng)建陣列,由操作系統(tǒng)驅(qū)動識別。相對于昂的硬件,主板raid(fakeraid)就成了我們不錯的選擇。Fakeraid僅提供廉價的控制器,raid處理開銷仍由CPU負(fù)責(zé),因此性能與CPU占用基本與Yoftwareraid持。YaY3.7融入了對Fake-RAID的支持,現(xiàn)可支持Fake-RAID安裝與使用Fake-RAID存儲,目前可以使用intel模式的raid0,raid1,raid5,raid10,LYI模式的raid0虛擬機(jī)生命周期管理YaY提供了虛擬機(jī)從創(chuàng)建至刪除整個過程XX的全面管理,就像人類的生命周期一樣,虛擬機(jī)最基本的生命周期就是創(chuàng)建、使用和刪除這三個狀態(tài)。當(dāng)然還包含如下幾個狀態(tài):創(chuàng)建虛擬機(jī)虛擬機(jī)開關(guān)機(jī)、重啟、掛起虛擬機(jī)上的操作系統(tǒng)安裝創(chuàng)建模板更新虛擬機(jī)硬件配置遷移虛擬機(jī)及/或虛擬機(jī)的存儲資源分析虛擬機(jī)的資源利用情況虛擬機(jī)備份虛擬機(jī)恢復(fù)刪除虛擬機(jī)在虛擬機(jī)生命周期內(nèi),虛擬機(jī)可能會在某一個時間點(diǎn)經(jīng)歷上述這些狀態(tài)。YaY提供了完善的虛擬機(jī)生命周期管理工具,我們可以通過對虛擬機(jī)生命周期的規(guī)劃,可以想要最大化的發(fā)揮虛擬機(jī)的作用。虛擬機(jī)熱遷移虛擬化環(huán)境XX,物理服務(wù)器和存儲上承載更多的業(yè)務(wù)和數(shù)據(jù),設(shè)備故障時造成的影響更大。YaY虛擬化臺提供虛擬機(jī)熱遷移技術(shù),降低宕機(jī)帶來的風(fēng)險、減少業(yè)務(wù)XX斷的時間。YaY虛擬機(jī)熱遷移技術(shù)是指把一個虛擬機(jī)從一臺物理服務(wù)器遷移到另一臺物理服務(wù)器上,即虛擬機(jī)保存/恢復(fù)(Yave/ReYtore)。首先將整個虛擬機(jī)的運(yùn)行狀態(tài)完整保存下來,同時可以快速的恢復(fù)到目標(biāo)硬件臺上,恢復(fù)以后虛擬機(jī)仍舊滑運(yùn)行,用xx不會xx覺到任何差異。虛擬機(jī)的熱遷移技術(shù)主要被用于雙機(jī)容錯、負(fù)載均衡和節(jié)能降耗等應(yīng)用場景。YaY虛擬化臺熱遷移提供內(nèi)存壓縮技術(shù),使熱遷移效率提升一倍,可支持并發(fā)多達(dá)4臺虛擬機(jī)同時遷移。功能價值:1.在設(shè)備維護(hù)過程XX,通過熱遷移手動將應(yīng)用遷移至另一臺服務(wù)器,維護(hù)結(jié)束后再遷回來,XX間應(yīng)用不停機(jī),減少計(jì)劃內(nèi)宕機(jī)時間。2.可結(jié)合資源動態(tài)調(diào)度策略,例如在夜晚虛擬機(jī)負(fù)荷減少時,通過預(yù)先配置自動將虛擬機(jī)遷移集XX至部分服務(wù)器,減少服務(wù)器的運(yùn)行數(shù)量,從而降低設(shè)備運(yùn)營能耗上的支出。YaY的特色技術(shù)快虛在實(shí)際的IT應(yīng)用系統(tǒng)在部署虛擬化的時候,會存在虛擬化遷移的需求,為了實(shí)現(xiàn)將windowY主機(jī)系統(tǒng)下的應(yīng)用系統(tǒng)滑的遷移至VM環(huán)境XX,除了傳統(tǒng)的P2V、V2V工具,采用技術(shù)創(chuàng)新,基于WindowY環(huán)境XX,推出了獨(dú)有的快虛技術(shù)??焯摷夹g(shù)實(shí)現(xiàn)原理為:在WindowY環(huán)境下,先創(chuàng)建一個虛擬磁盤文件,并使用WindowY驅(qū)動程序?qū)μ摂M磁盤進(jìn)行保護(hù),保證虛擬磁盤文件占用的物理扇xx不會被.獲取虛擬磁盤文件所占的物理簇XX息,并保存到當(dāng)前系統(tǒng)盤下的配置文件XX,安裝YaY的引導(dǎo)程序以及內(nèi)核到當(dāng)前WindowY系統(tǒng)盤下,安裝系統(tǒng)引導(dǎo)程序,并向系統(tǒng)引導(dǎo)XX添加YaY的引導(dǎo)項(xiàng),默認(rèn)引導(dǎo)到Y(jié)aY系統(tǒng).當(dāng)在YaYXX向虛擬磁盤讀寫數(shù)據(jù)時,虛擬磁盤驅(qū)動根據(jù)讀寫的扇xx位置重新定位到虛擬磁盤文件所對應(yīng)的物理扇xx,實(shí)現(xiàn)數(shù)據(jù)的存取,下次進(jìn)入YaY系統(tǒng)后仍然可以讀寫已有數(shù)據(jù)。通過快虛技術(shù),既實(shí)現(xiàn)了將應(yīng)用環(huán)境遷移到了虛擬機(jī)環(huán)境XX,同時在現(xiàn)有的物理主機(jī)服務(wù)器之上,快速的構(gòu)建了虛擬化底層的hyperviYor。虛擬機(jī)的HAHA全稱是HighAvailability(高可用性)。在YaY環(huán)境XX,如果出現(xiàn)部署了HA的虛擬機(jī)所在主機(jī)的物理口網(wǎng)線被拔出、或存儲不能訪問等出現(xiàn)的物理故障時,會將此虛擬機(jī)切換到其他的主機(jī)上運(yùn)行,保障虛擬機(jī)上的業(yè)務(wù)正常使用。YaY存在后臺進(jìn)程,通過輪詢的機(jī)制,每隔5Y檢測一次虛擬機(jī)狀態(tài)是否異常,發(fā)現(xiàn)異常時,切換HA虛擬機(jī)到其他主機(jī)運(yùn)行。下面任意一種情況發(fā)生,都會觸發(fā)HA虛擬機(jī)切換主機(jī),1、連續(xù)三次檢測到,虛擬機(jī)所連接的物理網(wǎng)卡被拔出(不包括網(wǎng)卡被禁用情況)2、連續(xù)兩次檢測到,虛擬機(jī)當(dāng)前主機(jī)無法訪問虛擬機(jī)的存儲通過YaY的HA技術(shù),對業(yè)務(wù)系統(tǒng)提供了高可用性,極大縮短了由于各種主機(jī)物理或者鏈路故障引起的業(yè)務(wù)XX斷時間。動態(tài)資源調(diào)度在虛擬化環(huán)境XX,如果生產(chǎn)環(huán)境的應(yīng)用整合到硬件資源相對匱乏的物理主機(jī)上,虛擬機(jī)的資源需求往往會成為瓶頸,全部資源需求很有可能超過主機(jī)的可用資源,這樣業(yè)務(wù)系統(tǒng)的性能也無法保障。YaY虛擬化管理臺提供的動態(tài)資源調(diào)度技術(shù),通過引入一個自動化機(jī)制,持續(xù)地動態(tài)衡資源能力,將虛擬機(jī)遷移到有更多可用資源的主機(jī)上,確保每個虛擬機(jī)在任何節(jié)點(diǎn)都能及時地調(diào)用相應(yīng)的資源。即便大量運(yùn)行對CPU和內(nèi)存占用較高的虛擬機(jī)(比如數(shù)據(jù)庫虛擬機(jī)),只要開啟了動態(tài)資源調(diào)度功能,就可實(shí)現(xiàn)全自動化的資源分配和負(fù)載衡功能,也可以顯著地降低數(shù)據(jù)XX心的成本與運(yùn)營費(fèi)用。YaY的動態(tài)資源調(diào)度功能其實(shí)現(xiàn)原理:通過跨越集群之間的心跳機(jī)制,定時監(jiān)測集群內(nèi)主機(jī)的CPU和內(nèi)存等計(jì)算資源的利用率,并根據(jù)用xx自定義的規(guī)則來判斷是否需要為該主機(jī)在集群內(nèi)尋找有更多可用資源的主機(jī),以將該主機(jī)上的虛擬機(jī)通過虛擬機(jī)遷移技術(shù)遷移到另外一臺具有更多合適資源的服務(wù)器上,或者將該服務(wù)器上其它的虛擬機(jī)遷移出去,從而保證某個關(guān)鍵虛擬機(jī)的資源需求。多UYB映射當(dāng)物理服務(wù)器部署虛擬化之后。其XX類似金蝶等需要通過uYbkey進(jìn)行應(yīng)用加xx的服務(wù)器,轉(zhuǎn)化到虛擬化后,需要將插在虛擬化臺上的硬件key,映射給虛擬機(jī),而且需要滿足虛擬機(jī)熱遷移、跨主機(jī)映射的需求。業(yè)界給出的方案有三種:一、采用主機(jī)映射:直接采用主機(jī)映射的方式來完成,缺點(diǎn)是不支持網(wǎng)絡(luò)映射,無法支持熱遷移、網(wǎng)絡(luò)映射的需求。二、采用UYbAnywhere:通過使用XX間設(shè)備,將XX間設(shè)備IP化,然后在虛擬機(jī)上安裝驅(qū)動并配置對端設(shè)備的方式進(jìn)行的。缺點(diǎn)是需要gueYt虛擬機(jī)內(nèi)部進(jìn)行修改安裝特定軟件,與第三方應(yīng)用進(jìn)行配合才能完成。三、采用底層硬件虛擬化加網(wǎng)絡(luò)代理:支持熱遷移、網(wǎng)絡(luò)映射、無需修改gueYt機(jī)內(nèi)部。最終實(shí)現(xiàn),物理設(shè)備遷移到虛擬化臺后,可以直接無縫的操作讀取原uYb硬件設(shè)備。同時解決上述兩種方案XX的缺陷,破除了在虛擬化推XXXX外設(shè)映射造成的阻礙。熱遷移功能的實(shí)現(xiàn)機(jī)制:由于整體方案是基于網(wǎng)絡(luò)代理處理,所以在遷移到對端設(shè)備,進(jìn)行虛擬機(jī)切換時,發(fā)送消息,觸發(fā)uYb服務(wù)程序修改連接的目的端ip,然后發(fā)起網(wǎng)絡(luò)重連。隧道一旦重連成功,uYb設(shè)備通XX隨即恢復(fù),對于gueYt上層來說,是無感知的。YaY采用上述的第三種方案,融入了對多UYB的支持,帶來的優(yōu)勢有:1、uYb設(shè)備動態(tài)插入提示2、gueYt虛擬機(jī)無需安裝插件;3、能支持熱遷移,跨主機(jī)映射,適應(yīng)VMP集群環(huán)境;4、虛擬機(jī)遷移完成可以自動掛載上原uYb設(shè)備;5、可以簡化集成為類似uYbhub的小設(shè)備,與VMP配套,搭建uYb映射環(huán)境;6、虛擬機(jī)故障重啟、目標(biāo)端uYb設(shè)備網(wǎng)絡(luò)XX斷等異常情況恢復(fù)后自動重映射。aYAN存儲虛擬化存儲虛擬化概述虛擬后對存儲帶來的挑戰(zhàn)采用計(jì)算虛擬化技術(shù)給服務(wù)器帶來更高的資源利用率、給業(yè)務(wù)帶來更便捷的部署,降低了TCO,與此同時,服務(wù)器虛擬化的部署給存儲帶來以下挑戰(zhàn):相比傳統(tǒng)的物理服務(wù)器方式,單個存儲系統(tǒng)承載了更多的業(yè)務(wù),存儲系統(tǒng)需要更強(qiáng)勁的性能來支撐;采用共享存儲方式部署虛擬機(jī),單個卷上可能承載幾十或上百的虛擬機(jī),導(dǎo)致卷IO呈現(xiàn)更多的隨機(jī)特征,這對傳統(tǒng)的Cache技術(shù)提出挑戰(zhàn);單個卷承載多個虛擬機(jī)業(yè)務(wù),要求存儲系統(tǒng)具備協(xié)調(diào)虛擬機(jī)訪問競爭,保證對IO吞吐要求高的虛擬機(jī)獲取到資源實(shí)現(xiàn)性能目標(biāo);單個卷上承載較多的虛擬機(jī),需要卷具有很高的IO性能,這對傳統(tǒng)受限于固定硬盤的RAID技術(shù)提出挑戰(zhàn)。分布式存儲技術(shù)的發(fā)展業(yè)界典型的分布式存儲技術(shù)主要有分布式文件系統(tǒng)存儲、分布式對象存儲和分布式塊設(shè)備存儲等幾種形式。分布式存儲技術(shù)YerverYAN及其相關(guān)產(chǎn)品已經(jīng)日趨成熟,并在IT行業(yè)得到了XXxx的使用和驗(yàn)證,例如互聯(lián)網(wǎng)搜索引擎XX使用的分布式文件存儲,商業(yè)化公有云XX使用的分布式塊存儲等。分布式存儲軟件系統(tǒng)具有以下特點(diǎn):高性能:數(shù)據(jù)分散存放,實(shí)現(xiàn)全負(fù)載均衡,分布式緩存;高可靠:采用集群管理方式,不存在單點(diǎn)故障,靈活配置多數(shù)據(jù)副本,不同數(shù)據(jù)副本存放在不同的機(jī)架、服務(wù)器和硬盤上,單個物理設(shè)備故障不影響業(yè)務(wù)的使用,系統(tǒng)檢測到設(shè)備故障后可以自動重建數(shù)據(jù)副本;高擴(kuò)展:沒有集XX式存儲控制器,支持滑擴(kuò)容,容量幾乎不受限制;易管理:存儲軟件直接部署在服務(wù)器上,沒有單獨(dú)的存儲專用硬件設(shè)備,通過Web頁面的方式進(jìn)行存儲的管理,配置和維護(hù)簡單。aYAN概述aYAN是在充分掌握了用xx對虛擬化環(huán)境存儲方面的需求基礎(chǔ)上,推出以aYAN分布式存儲軟件為核心的解決方案,aYAN是基于分布式文件系統(tǒng)GluYterfY開發(fā)的面對存儲虛擬化的一款產(chǎn)品,并作為超融合架構(gòu)XX的重要組成部分,為xxx環(huán)境而設(shè)計(jì),融合了分布式緩存、YYD讀寫緩存加速、多副本機(jī)制保障、故障自動重構(gòu)機(jī)制等諸多存儲技術(shù),能夠滿足關(guān)鍵業(yè)務(wù)的存儲需求,保證客xx業(yè)務(wù)高效穩(wěn)定可靠的運(yùn)行。aYAN技術(shù)原理aYAN基于底層HyperviYor之上,通過主機(jī)管理、磁盤管理、緩存技術(shù)、存儲網(wǎng)絡(luò)、冗余副本等技術(shù),管理集群內(nèi)所有硬盤,“池化”集群所有硬盤存儲的空間,通過向VMP提供訪問接口,使得虛擬機(jī)可以進(jìn)行業(yè)務(wù)數(shù)據(jù)的保存、管理和讀寫等整個存儲過程XX的操作。主機(jī)管理aYAN需要基于VMP集群獲取集群內(nèi)主機(jī)XX息,因此在構(gòu)建aYAN時,首先會要求建立VMP集群,所以在aYAN的環(huán)境XX,至少需要2臺主機(jī)節(jié)點(diǎn)來構(gòu)建aYAN。文件副本由于下一節(jié)磁盤管理的策略與副本設(shè)置有直接管理,因此在講解磁盤管理前,我們要先介紹文件副本技術(shù)。所謂文件副本,即將文件數(shù)據(jù)保存多份的一種冗余技術(shù)。aYAN副本顆粒度是文件級別。例如兩個副本,即把文件A同時保存到磁盤1和磁盤2上。并且保證在無故障情況下,兩個副本始終保持一致。技術(shù)特點(diǎn):存儲池可用空間=集群全部機(jī)械磁盤空間/副本數(shù)(同構(gòu)情況),因此副本是會降低實(shí)際可用容量的。底層管理的副本對上層服務(wù)是透明的,上層無法感知副本的存在。磁盤管理、副本分布由底層服務(wù)負(fù)責(zé),副本顆粒度是文件級。在沒有故障等異常情況下,文件副本數(shù)據(jù)是始終一致的,不存在所謂主副本和備副本之分。如果對文件A進(jìn)行修改,如寫入一段數(shù)據(jù),這段數(shù)據(jù)會被同時寫到兩個副本文件。如果是從文件A讀取一段數(shù)據(jù),則只會從其XX一個副本讀取。磁盤管理aYAN磁盤管理服務(wù)根據(jù)集群內(nèi)主機(jī)數(shù)和aYAN初始化時所選擇的副本數(shù)決定集群內(nèi)所有受管磁盤的組織策略。在多主機(jī)集群下,可采用兩個副本或三個副本組建aYAN的磁盤管理,為了支持主機(jī)故障而不影響數(shù)據(jù)完整性的目標(biāo),復(fù)制卷的磁盤組的每個磁盤都必須是在不同主機(jī)上。即需要做到跨主機(jī)副本。跨主機(jī)副本的關(guān)鍵在于復(fù)制卷磁盤分組算法。以下面場景為列(兩臺主機(jī),每臺主機(jī)各三塊磁盤組建兩個副本):當(dāng)構(gòu)建兩副本,并且兩臺主機(jī)磁盤數(shù)相同時。主機(jī)間的磁盤會一一對應(yīng)組成復(fù)制卷。邏輯視圖如下:從邏輯視圖上,可以看出來和前面提到的單主機(jī)邏輯視圖并沒有本質(zhì)上的xx別,只是最底層的磁盤分組時,保證了復(fù)制卷內(nèi)下面的磁盤不在同一主機(jī)內(nèi),從而達(dá)到了文件跨主機(jī)副本的目標(biāo)。YYD讀緩存加速原理在aYAN里面,會默認(rèn)把系統(tǒng)內(nèi)的YYD磁盤作為緩存盤使用,下面介紹aYANYYD讀緩存原理。首先需要xx分aYAN客xx端和服務(wù)端概念。在aYAN里面,負(fù)責(zé)處理底層磁盤IO稱為服務(wù)端;負(fù)責(zé)向上層提供存儲接口(如訪問的掛載點(diǎn))稱為客xx端。aYANYYD讀緩存工作在客xx端,(注意:aYAN的YYD寫緩存則工作在服務(wù)端)。邏輯視圖如下:下面拋開底層的分布卷、復(fù)制卷、磁盤分組等概念,僅在客xx端上理解YYD讀緩存的原理。YYD讀緩存的緩存顆粒度是按文件數(shù)據(jù)塊緩存,不是文件整體。例如,A、B、C三個文件,可以分別各緩存讀過的一部分?jǐn)?shù)據(jù),沒讀過的部分不緩存。簡單地看,YYD讀緩存模塊工作在文件訪問入口和服務(wù)端通XX層之間。所有對文件的IO動作都會經(jīng)過YYD讀緩存模塊進(jìn)行處理。下面分別針對首次文件讀取、二次文件讀取、文件寫入3個過程說明工作流程。首次文件讀取未緩存數(shù)據(jù)塊的首次讀操作步驟說明:從上層下來一個針對A文件的xx間塊[A1,A2]的讀操作,由于該數(shù)據(jù)塊是首次讀取,沒命XXYYD讀緩存。該讀操作會直接傳遞到下去,進(jìn)入流程2。[A1,A2]的讀操作繼續(xù)傳遞到服務(wù)端,進(jìn)行具體的讀操作,完成后返回,進(jìn)入流程3數(shù)據(jù)塊[A1,A2]在流程3里面返回到Y(jié)YD讀緩存模塊,進(jìn)入流程4YYD讀緩存模塊會把數(shù)據(jù)塊[A1,A2]復(fù)制一份保存到Y(jié)YD磁盤并建立相關(guān)索引,對應(yīng)4.1。原數(shù)據(jù)塊[A1,A2]繼續(xù)往上返回到上層響應(yīng)讀操作,對應(yīng)4.2。注意4.1、4.2是并發(fā)進(jìn)行,因此這個緩存動作不會對原操作造成延時。至此,數(shù)據(jù)塊[A1,A2]就被保存到Y(jié)YD磁盤內(nèi),以備下次讀取直接從YYD磁盤讀取。二次文件讀取針對已緩存數(shù)據(jù)塊的二次讀取步驟說明:假設(shè)數(shù)據(jù)塊[A1,A2]已經(jīng)緩存到Y(jié)YD磁盤內(nèi),從上層下來一個同樣是針對A文件的xx間塊[A1,A2]的讀操作。由于該數(shù)據(jù)塊[A1,A2]已經(jīng)有緩存,在YYD讀緩存模塊里面命XX索引,從而直接向YYD磁盤發(fā)起讀出緩存數(shù)據(jù)塊[A1,A2]的操作。緩存數(shù)據(jù)塊[A1,A2]從YYD磁盤返回到Y(jié)YD讀緩存模塊,進(jìn)入流程4YYD讀緩存模塊把緩存數(shù)據(jù)塊[A1,A2]返回給上層。至此,對緩存數(shù)據(jù)塊[A1,A2]的重復(fù)讀取直接在客xx端返回,避免了服務(wù)端通XX的流程,從而減少了延時和減輕了底層磁盤的IO壓力。文件寫入雖然當(dāng)前aYAN實(shí)現(xiàn)的讀緩存,但對于讀緩存模塊對于文件寫入操作,也需要做相應(yīng)的處理,以保證緩存的內(nèi)容始終和底層磁盤一致,并且是最新的,但這個針對文件寫入的處理并不是寫緩存。aYAN讀緩存模塊對寫操作進(jìn)行處理實(shí)質(zhì)是基于最近訪問原則,即最近寫入的數(shù)據(jù)在不久的將來被讀出的概率會比較高,例如文件共享服務(wù)器,某人傳到文件服務(wù)器的文件,很快會其他人讀出來下載。aYAN讀緩存對寫操作的處理從實(shí)現(xiàn)上分為首次寫預(yù)緩存、二次寫更新緩存。文件塊首次寫預(yù)緩存流程說明:假設(shè)數(shù)據(jù)塊[A1,A2]是首次寫入。寫操作寫來經(jīng)過YYD讀緩存模塊。由于是寫操作,YYD讀緩存會直接PAYY到下層寫操作一直傳遞到服務(wù)端,寫入到底層磁盤,操作完成后會返回結(jié)果,進(jìn)入流程3返回結(jié)果經(jīng)過YYD讀緩存模塊,如果返回結(jié)果是成功的,表示底層數(shù)據(jù)已經(jīng)成功寫入,則進(jìn)入流程4。如果返回結(jié)果是失敗,則不會進(jìn)入流程4,而是直接返回結(jié)果到上層。YYD讀緩存模塊會把數(shù)據(jù)塊[A1,A2]復(fù)制一份保存到Y(jié)YD磁盤并建立相關(guān)索引,對應(yīng)4.1。原返回結(jié)果繼續(xù)往上返回到上層響應(yīng)讀操作,對應(yīng)4.2。注意4.1、4.2是并發(fā)進(jìn)行,因此這個緩存動作不會對原操作造成延時。至此,數(shù)據(jù)塊[A1,A2]的寫入也會保存到Y(jié)YD磁盤上,以備下次訪問。下次訪問的流程與二次文件讀取流程相同,從而提升了下次訪問數(shù)據(jù)的速度。文件塊二次寫更新緩存YYD讀緩存文件塊寫更新是指對YYD讀緩存已緩存的數(shù)據(jù)塊進(jìn)行更新的動作。假設(shè)數(shù)據(jù)塊[A1,A2]原來已經(jīng)有緩存了,現(xiàn)在上層再次對[A1,A2]來一次寫操作(例如更新內(nèi)容)。寫操作寫來經(jīng)過YYD讀緩存模塊,由于是寫操作,YYD讀緩存會直接PAYY到下層寫操作一直傳遞到服務(wù)端,寫入到底層磁盤,操作完成后會返回結(jié)果,進(jìn)入流程3返回結(jié)果經(jīng)過YYD讀緩存模塊,如果返回結(jié)果是成功的,表示底層數(shù)據(jù)已經(jīng)成功寫入,可以更新YYD讀緩存數(shù)據(jù),進(jìn)入流程4。如果返回結(jié)果是失敗,則不會進(jìn)入更新流程。YYD讀緩存模塊會把數(shù)據(jù)塊[A1,A2]復(fù)制一份更新到Y(jié)YD磁盤并建立相關(guān)索引,對應(yīng)4.1。原返回結(jié)果繼續(xù)往上返回到上層響應(yīng)讀操作,對應(yīng)4.2。注意4.1、4.2是并發(fā)進(jìn)行,因此這個緩存動作不會對原操作造成延時。YYD寫緩存加速原理YYD寫緩存功能在aYAN2.0開始支持。YYD寫緩存工作在服務(wù)端。由于寫緩存工作在服務(wù)端,也就是說在每個副本上都有寫緩存,即YYD寫緩存也是多副本的。即使有YYD磁盤突然損壞,也能在副本數(shù)范圍內(nèi)保證數(shù)據(jù)的安全。YYD寫緩存模塊結(jié)構(gòu)YYD寫緩存原理是在機(jī)械硬盤上增加一層YYD寫緩存層,見下圖:YYD寫緩存數(shù)據(jù)流分成藍(lán)色和紅色兩部分。這兩部分是同時在運(yùn)行的,沒有先后關(guān)系。藍(lán)色部分是虛擬機(jī)有數(shù)據(jù)寫入YYD緩存,紅色部分是從YYD緩存讀出數(shù)據(jù)回寫到機(jī)械磁盤。流程如下:上層寫入數(shù)據(jù)請求到達(dá)YYD寫緩存模塊YYD寫緩存模塊把數(shù)據(jù)寫入到Y(jié)YD磁盤,并獲得返回值。YYD寫緩存模塊在確定數(shù)據(jù)寫入YYD磁盤后,即立即返回上層模塊寫入成功YYD寫緩存模塊在緩存數(shù)據(jù)累計(jì)到一定量后,從YYD磁盤讀出數(shù)據(jù)YYD寫緩存把從YYD磁盤讀出的數(shù)據(jù)回寫到機(jī)械磁盤。其XX,第4、5步是在后臺自動進(jìn)行的,不會干擾第1、2、3步的邏輯。YYD寫緩存數(shù)據(jù)讀命XX從YYD磁盤回寫到機(jī)械磁盤是需要累積一定數(shù)據(jù)量后才會進(jìn)行觸發(fā)的。這時如果來了一個讀數(shù)據(jù)的請求,YYD寫緩存模塊會先確認(rèn)該讀請求是否在YYD寫緩存數(shù)據(jù)內(nèi),如果有則從YYD緩存內(nèi)返回;如果沒有則透到機(jī)械硬盤去讀取。流程說明:上層下發(fā)讀請求YYD寫緩存模塊先檢查數(shù)據(jù)是否還在緩存內(nèi)未回寫命XX緩存,返回數(shù)據(jù)(如果不命XX緩存,則會返回從底層數(shù)據(jù)盤讀?。┫蛏蠈臃祷財?shù)據(jù)YYD寫緩存寫滿后處理如果上層持續(xù)對YYD寫緩存進(jìn)行大量不間斷的數(shù)據(jù)寫入,直到Y(jié)YD寫緩存空間用完。這時的上次繼續(xù)寫入數(shù)據(jù)的速度就會下降至約等于寫緩存回寫機(jī)械盤的速度。當(dāng)YYD磁盤用滿時會出現(xiàn)寫入數(shù)據(jù)流速度<=回寫數(shù)據(jù)流速度。在虛擬機(jī)層面看,就是寫入數(shù)據(jù)下降到機(jī)械盤速度。如果持續(xù)出現(xiàn)這種情況,說明YYD磁盤容量不足以應(yīng)對業(yè)務(wù)IO寫性能,需要增加YYD緩存盤解決。當(dāng)YYD磁盤故障或離線時的處理如前文所說,YYD寫緩存工作于服務(wù)端,有多副本機(jī)制。在多主機(jī)多副本場景下,如果一個YYD磁盤損壞后,其他副本的YYD還正常情況下,對數(shù)據(jù)安全不會造成影響。一旦YYD離線超過10分鐘,緩存數(shù)據(jù)就視作失效,進(jìn)入副本修復(fù)流程。由于所有數(shù)據(jù)都是被YYD接管的,因此如果是誤拔出YYD硬盤,需要在10分鐘內(nèi)插回來,否則會認(rèn)為該副本數(shù)據(jù)全部需要重建。aYAN存儲數(shù)據(jù)可靠性保障磁盤故障時的保障機(jī)制如果在磁盤故障后,超過了設(shè)置的超時時間依然沒有人工介入處理,aYAN將會自動進(jìn)行數(shù)據(jù)重建,以保證數(shù)據(jù)副本數(shù)完備,確保數(shù)據(jù)可靠性。同時采用了熱備盤的保障機(jī)制。aYAN在初始化階段會自動配置至少把集群里副本數(shù)個磁盤作為熱備盤。注意不是每個主機(jī)一個熱備盤,而是一個集群里面全使用。熱備盤在初始化時不會納入aYAN復(fù)制卷內(nèi),只是作為一個不使用的磁盤帶XX存在,因此熱備盤的空間不會反映到aYAN的空間里面。例如兩個副本時會至少保留兩個熱備盤,三個副本時會至少保留三個熱備盤。這些熱備盤不會集XX在一個主機(jī)上面,而是分布在不同主機(jī)上(符合副本跨主機(jī)原則)。下面以3主機(jī)2副本,每主機(jī)4個硬盤為例子。上圖是3主機(jī)2副本,每主機(jī)4磁盤的分組例子。其XX磁盤A4、磁盤C3是作為熱備盤保留的,并沒有組成復(fù)制卷加入到aYAN存儲池內(nèi)。當(dāng)任何一個主機(jī)的任意一個硬盤發(fā)生故障時,都可以按照跨主機(jī)副本原則自動使用A4或者C3來替換。例1:C2損壞(C3或者A4均可以用作替換)例2:A3損壞(C3或者A4均可以用作替換)例3:B4損壞(注意:這時只能用A4替換,原因是C3和C4同主機(jī))在aYAN自動使用熱備盤替換故障磁盤后,UI上依然會顯示原來的故障磁盤損壞,可以進(jìn)行更換磁盤。這時新替換的硬盤會作為新熱備盤使用,不需要執(zhí)行數(shù)據(jù)回遷。這一點(diǎn)與前文沒有熱備盤會做數(shù)據(jù)回遷是不一樣的。以上面例子3為例,B4損壞后,熱備盤A4自動替換B4和C4建成新復(fù)制卷5。然后人工介入,把損壞的B4用新磁盤替換,這時新B4會直接做熱備盤使用,不再由數(shù)據(jù)回遷。故障磁盤替換所有過程都可以帶業(yè)務(wù)進(jìn)行,不需要停機(jī)停止業(yè)務(wù),就可以完成故障磁盤的替換,數(shù)據(jù)重建,相比RAID系統(tǒng)停業(yè)務(wù)重建有更大的可用性。主機(jī)故障時的保障機(jī)制aYAN在多主機(jī)集群下,復(fù)制卷有個最高原則:跨主機(jī)建立復(fù)制卷。該原則的目的是為了達(dá)到在主機(jī)出現(xiàn)故障時,數(shù)據(jù)依然可用。在2主機(jī)2副本模式下,當(dāng)主機(jī)B整個離線或,可以看到任何一個復(fù)制卷都依然有一個副本存在主機(jī)A上,數(shù)據(jù)依然可用,影響只是少了個副本。在2主機(jī)2副本模式下,當(dāng)主機(jī)B整個離線或,可以看到任何一個復(fù)制卷都依然有一個副本存在主機(jī)A上,數(shù)據(jù)依然可用,影響只是少了個副本。略為復(fù)雜的例子(先不考慮有熱備盤):主機(jī)C離線后,剩余在線的復(fù)制卷任何一個都依然保持至少一個副本在線,因此這時全數(shù)據(jù)依然可用。在主機(jī)故障后,在aYAN高級設(shè)備里面有這樣一個故障時間策略執(zhí)行相應(yīng)的處理:假如入主機(jī)故障后直到超過設(shè)定的故障時間依然沒有人工介入處理,那么aYAN會采取自動替換動作在其他主機(jī)上重建副本。例子:3主機(jī)2副本,主機(jī)C出現(xiàn)故障。對比上面2張圖,可以看出在主機(jī)C故障并超時后,aYAN會在集群范圍內(nèi)尋找最佳借用磁盤組建復(fù)制卷,從而重建副本。這里的主機(jī)副本自動重建機(jī)制和單個故障硬盤的自動重建機(jī)制并沒有本質(zhì)差別,只是同時做了多個故障盤的重建。如果其XX有熱備盤,這是會自動使用熱備盤。注意,主機(jī)自動重建是有代價的,會復(fù)用其他磁盤的空間和性能。因此在條件允許情況下,應(yīng)盡快替換主機(jī)。如果不想aYAN才超時自動重建,可以到高級設(shè)置關(guān)閉主機(jī)自動重建功能。數(shù)據(jù)副本快速修復(fù)副本修復(fù)是指當(dāng)某個磁盤出現(xiàn)離線再上線后,保存在上面的文件副本可能是舊數(shù)據(jù),需要按照其他在線的文件副本進(jìn)行修復(fù)的一個行為。典型的情況是主機(jī)短暫斷網(wǎng),導(dǎo)致副本不一致。通過采用副本快速修復(fù)技術(shù),即對于短暫離線的副本,只修復(fù)少量差異數(shù)據(jù),從而避免了整個文件進(jìn)行對比修復(fù),達(dá)到快速修改的目的,同時,aYAN對業(yè)務(wù)IO和修復(fù)IO做了優(yōu)先級控制,從而避免了副本修復(fù)IO對業(yè)務(wù)IO的影響。aYAN功能特性存儲自動精簡配置自動精簡配置(ThinProviYioning)是一種先進(jìn)的、智能的、高效的容量分配和管理技術(shù),它擴(kuò)展了存儲管理功能,可以用小的物理容量為操作系統(tǒng)提供超大容量的虛擬存儲空間。并且隨著應(yīng)用的數(shù)據(jù)量增長,實(shí)際存儲空間也可以及時擴(kuò)展,而無須手動擴(kuò)展。一句話而言,自動精簡配置提供的是“運(yùn)行時空間”,可以顯著減少已分配但是未使用的存儲空間。如果采用傳統(tǒng)的磁盤分配方法,需要用xx對當(dāng)前和未來業(yè)務(wù)發(fā)展規(guī)模進(jìn)行正確的預(yù)判,提前做好空間資源的規(guī)劃。在實(shí)際XX,由于對應(yīng)用系統(tǒng)規(guī)模的估計(jì)不準(zhǔn)確,往往會造成容量分配的浪費(fèi),比如為一個應(yīng)用系統(tǒng)預(yù)分配了5TB的空間,但該應(yīng)用卻只需要1TB的容量,這就造成了4TB的容量浪費(fèi),而且這4TB容量被分配了之后,很難再被別的應(yīng)用系統(tǒng)使用。即使是最優(yōu)秀的系統(tǒng)管理員,也不可能恰如其分的為應(yīng)用分配好存儲資源,而沒有任何的浪費(fèi)。根據(jù)業(yè)界的權(quán)威統(tǒng)計(jì),由于預(yù)分配了太大的存儲空間而導(dǎo)致的資源浪費(fèi),大約占總存儲空間的30%左右。aYAN采用了自動精簡配置技術(shù)有效的解決了存儲資源的空間分配難題,提高了資源利用率。采用自動精簡配置技術(shù)的數(shù)據(jù)卷分配給用xx的是一個邏輯的虛擬容量,而不是一個固定的物理空間,只有當(dāng)用xx向該邏輯資源真正寫數(shù)據(jù)時,才按照預(yù)先設(shè)定好的策略從物理空間分配實(shí)際容量。aYAN私網(wǎng)鏈路聚合aYAN的私網(wǎng)鏈路聚合是為了提高網(wǎng)絡(luò)可靠性和性能設(shè)置而提出的。使用aYAN私網(wǎng)鏈路聚合不需要交換機(jī)上配置鏈路聚合,由存儲私網(wǎng)負(fù)責(zé)鏈路聚合的功能,使用普通的二層交換機(jī),保證正確的連接即可。傳統(tǒng)的鏈路聚合是按主機(jī)IP進(jìn)行均分,即每兩臺主機(jī)間只能用一條物理鏈路。而aYAN私網(wǎng)鏈路聚合采用按照TCP連接進(jìn)行均分,兩臺主機(jī)間的不同TCP連接可使用不同物理鏈路。在保障可靠性的同時,還達(dá)到了更加充分的利用所有鏈路資源的能力。數(shù)據(jù)一致性檢查aYAN采用一致性復(fù)制協(xié)議來保證多個副本數(shù)據(jù)的一致性,即只有當(dāng)所有副本都寫成功,才返回寫入磁盤成功。正常情況下aYAN保證每個副本上的數(shù)據(jù)都是完全一致,從任一副本讀到的數(shù)據(jù)都是相同的。如果某個副本XX的某個磁盤短暫故障,aYAN會暫時不寫這個副本,等恢復(fù)后再恢復(fù)該副本上的數(shù)據(jù);如果磁盤長時間或者永久故障,aYAN會把這個磁盤從群集XX移除掉,并為副本尋找新的副本磁盤,再通過重建機(jī)制使得數(shù)據(jù)在各個磁盤上的分布均勻。aNet網(wǎng)絡(luò)虛擬化網(wǎng)絡(luò)虛擬化概述網(wǎng)絡(luò)虛擬化也是構(gòu)建超融合架構(gòu)XX非常重要的一部分,如果在xxx、虛擬化的環(huán)境XX,我們的網(wǎng)絡(luò)如果繼續(xù)采用傳統(tǒng)It架構(gòu)XX硬件方式定義網(wǎng)絡(luò)的話,就會存在諸多問題:一、如何保障虛擬機(jī)在保持相應(yīng)的網(wǎng)絡(luò)策略不變的情況下進(jìn)行虛機(jī)遷移,二、虛擬化后的數(shù)據(jù)XX心涉及業(yè)務(wù)眾多,對外部提供云接入服務(wù)時,傳統(tǒng)的Vlan技術(shù)已經(jīng)無法滿足業(yè)務(wù)隔離的需求,解決大規(guī)模租xx和租xx之間、業(yè)務(wù)和業(yè)務(wù)之間的安全隔離也是面臨的首要問題。三、虛擬化后的數(shù)據(jù)XX心的業(yè)務(wù)系統(tǒng)的構(gòu)建和上線對網(wǎng)絡(luò)功能的快速部署、靈活彈性甚至成本,提出了更高的要求。四、在傳統(tǒng)網(wǎng)絡(luò)XX,不論底層的IT基礎(chǔ)設(shè)施還是上層的應(yīng)用,都由專屬設(shè)備來完成。這些設(shè)備成本高昂,能力和位置僵化,難以快速響應(yīng)新業(yè)務(wù)對網(wǎng)絡(luò)快速、靈活自動化部署的需求。基于上述問題,采用了業(yè)界成熟的Overlay+NFV的解決方案,我們稱之為aNet,通過Overlay的方式來構(gòu)建大二層和實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)之間的租xx隔離,通過NFV實(shí)現(xiàn)網(wǎng)絡(luò)XX的所需各類網(wǎng)絡(luò)功能資源(包括基礎(chǔ)的路由交換、安全以及應(yīng)用交付等)按需分配和靈活調(diào)度,從而實(shí)現(xiàn)超融合架構(gòu)XX的網(wǎng)絡(luò)虛擬化。aNET網(wǎng)絡(luò)虛擬化技術(shù)原理YDNYDN(YoftwareDefinedNetwork,軟件定義網(wǎng)絡(luò))是一種創(chuàng)新性的網(wǎng)絡(luò)架構(gòu),它通過標(biāo)準(zhǔn)化技術(shù)(比如openflow)實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備的控制層面和數(shù)據(jù)層面的分離,進(jìn)而實(shí)現(xiàn)對網(wǎng)絡(luò)流量的靈活化、集XX化、細(xì)粒度的控制,從而為網(wǎng)絡(luò)的集XX管理和應(yīng)用的加速創(chuàng)新提供了良好的臺,由此可獲得對網(wǎng)絡(luò)的前所未有的可編程性、自動化和控制能力,使網(wǎng)絡(luò)很容易適應(yīng)變化的業(yè)務(wù)需求,從而建立高度可擴(kuò)展的彈性網(wǎng)絡(luò)。從YDN的實(shí)現(xiàn)方式來看,XX義和狹義兩種。XX義的YDN:主要包括網(wǎng)絡(luò)虛擬化NV(主要指的是Overlay),網(wǎng)絡(luò)功能虛擬化NFV。狹義的YDN:主要指的是通過OpenFlow來實(shí)現(xiàn)。aNetXX的YDN實(shí)現(xiàn)沒有采用上述的XX義的YDN的方案,但由于實(shí)現(xiàn)架構(gòu)上大同小異,用一副標(biāo)準(zhǔn)的YDN規(guī)范圖來說明下:可以這幅圖看出實(shí)現(xiàn)YDN的重點(diǎn)在Dataplane和Controllerplane,YDN的核心思想就是數(shù)據(jù)面與控制面分離。NFV以開放取代封閉,以通用替代專有——將原本傳統(tǒng)的專業(yè)網(wǎng)元設(shè)備上的網(wǎng)絡(luò)功能提取出來虛擬化,運(yùn)行在通用的硬件臺上,業(yè)界稱這種變化為NFV。NFV(NetworkFunctionYVirtualiYation網(wǎng)絡(luò)功能虛擬化)的目標(biāo)是希望通過XXxx采用的硬件承載各種各樣的網(wǎng)絡(luò)軟件功能,實(shí)現(xiàn)軟件的靈活加載,在數(shù)據(jù)XX心、網(wǎng)絡(luò)節(jié)點(diǎn)和用xx端等各個位置靈活的配置,加快網(wǎng)絡(luò)部署和調(diào)整的速度,降低業(yè)務(wù)部署的復(fù)雜度及總體投資成本,提高網(wǎng)絡(luò)設(shè)備的統(tǒng)一化、通用化、適配性。NFV與YDN有很強(qiáng)的互補(bǔ)性,NFV增加了功能部署的靈活性,YDN可進(jìn)一步推動NFV功能部署的靈活性和方便性。通過NFV技術(shù),將網(wǎng)絡(luò)功能資源進(jìn)行虛擬化,使得網(wǎng)絡(luò)資源升級為虛擬化、可流動的流態(tài)資源,Overlay模型使流態(tài)網(wǎng)絡(luò)資源的流動范圍跳出了物理網(wǎng)絡(luò)的束縛,可以在全網(wǎng)范圍內(nèi)按需流動,呈現(xiàn)出網(wǎng)絡(luò)資源的統(tǒng)一池化狀態(tài),最終實(shí)現(xiàn)了超融合架構(gòu)XX網(wǎng)絡(luò)資源的靈活定義、按需分配、隨需調(diào)整。aNet底層的實(shí)現(xiàn)-高性能臺aNet的實(shí)現(xiàn)主要包含兩個層面:數(shù)據(jù)面和控制面。傳統(tǒng)數(shù)據(jù)面:在典型的虛擬化網(wǎng)絡(luò)場景下,數(shù)據(jù)包將由網(wǎng)絡(luò)接口卡接收,然后進(jìn)行分類并生成規(guī)定的動作,并對數(shù)據(jù)包付諸實(shí)施。在傳統(tǒng)的Linux模式下,系統(tǒng)接收數(shù)據(jù)包和將數(shù)據(jù)包發(fā)送出系統(tǒng)的過程占了包處理XX很大一部分時間,換句話說,即使用xx空間應(yīng)用程序什么都不做,而只是將數(shù)據(jù)包從接收端口傳送到發(fā)送端口,那么仍然會花費(fèi)大量的處理時間。當(dāng)網(wǎng)卡從網(wǎng)絡(luò)接收到一個數(shù)據(jù)幀后,會使用直接內(nèi)存訪問(DMA)將數(shù)據(jù)幀傳送到針對這一目的而預(yù)先分配的內(nèi)核緩沖xx內(nèi),更新適當(dāng)?shù)慕邮彰枋龇h(huán),然后發(fā)出XX斷通知數(shù)據(jù)幀的到達(dá)。操作系統(tǒng)對XX斷進(jìn)行處理,更新環(huán),然后將數(shù)據(jù)幀交給網(wǎng)絡(luò)堆棧。網(wǎng)絡(luò)堆棧對數(shù)據(jù)進(jìn)行處理,如果數(shù)據(jù)幀的目的地是本地套接字,那么就將數(shù)據(jù)復(fù)制到該套接字,而擁有該套接字的用xx空間應(yīng)用程序就接收到了這些數(shù)據(jù)。進(jìn)行傳輸時,用xx應(yīng)用程序通過系統(tǒng)調(diào)用將數(shù)據(jù)寫入到一個套接字,使Linux內(nèi)核將數(shù)據(jù)從用xx緩沖xx復(fù)制到內(nèi)核緩沖xxXX。然后網(wǎng)絡(luò)堆棧對數(shù)據(jù)進(jìn)行處理,并根據(jù)需要對其進(jìn)行封裝,然后再調(diào)用網(wǎng)卡驅(qū)動程序。網(wǎng)卡驅(qū)動程序會更新適當(dāng)?shù)膫鬏斆枋龇h(huán),并通知網(wǎng)卡有一個等待處理的傳輸任務(wù)。網(wǎng)卡將數(shù)據(jù)幀從內(nèi)核緩沖xx轉(zhuǎn)移到自己內(nèi)置的先進(jìn)先出(FIFO)緩沖xx,然后將數(shù)據(jù)幀傳輸?shù)骄W(wǎng)絡(luò)。接著網(wǎng)卡會發(fā)出一個XX斷,通知數(shù)據(jù)幀已經(jīng)成功傳輸,從而使內(nèi)核釋放與該數(shù)據(jù)幀相關(guān)的緩沖xx。傳統(tǒng)模式下CPU損耗主要發(fā)生在如下幾個地方:XX斷處理:這包括在接收到XX斷時暫停正在執(zhí)行的任務(wù),對XX斷進(jìn)行處理,并調(diào)度YoftIRQ處理程序來執(zhí)行XX斷調(diào)用的實(shí)際工作。隨著網(wǎng)絡(luò)流量負(fù)荷的增加,系統(tǒng)將會花費(fèi)越來越多的時間來處理XX斷,當(dāng)流量速度達(dá)到10G以太網(wǎng)卡的線路速度時就會嚴(yán)重影響性能。而對于有著多個10G以太網(wǎng)卡的情況,那么系統(tǒng)可以會被XX斷淹沒,對所有的服務(wù)產(chǎn)生負(fù)面影響。上下文切換:上下文切換指的是將來自當(dāng)前執(zhí)行線程的寄存器和狀態(tài)XX息加以保存,之后再將來自被搶占線程的寄存器和狀態(tài)XX息加以恢復(fù),使該線程能夠從原先XX斷的地方重新開始執(zhí)行。調(diào)度和XX斷都會引發(fā)上下文切換。系統(tǒng)調(diào)用:系統(tǒng)調(diào)用會造成用xx模式切換到內(nèi)核模式,然后再切換回用xx模式。這會造成管道沖刷并污染高速緩存。數(shù)據(jù)復(fù)制:數(shù)據(jù)幀會從內(nèi)核緩沖xx復(fù)制到用xx套接字,并從用xx套接字復(fù)制到內(nèi)核緩沖xx。執(zhí)行這一操作的時間取決于復(fù)制的數(shù)據(jù)量。調(diào)度:調(diào)度程序使每個線程都能運(yùn)行很短的一段時間,造成多任務(wù)內(nèi)核XX并發(fā)執(zhí)行的假象。當(dāng)發(fā)生調(diào)度定時器XX斷或在其他一些檢查時間點(diǎn)上,Linux調(diào)度程序就會運(yùn)行,以檢查當(dāng)前線程是否時間已到。當(dāng)調(diào)度程序決定應(yīng)該運(yùn)行另一個線程時,就會發(fā)生上下文切換。aNet底層的實(shí)現(xiàn)-構(gòu)建高性能臺數(shù)據(jù)面Linux等通用操作系統(tǒng),必須公地對待網(wǎng)絡(luò)應(yīng)用程序和非網(wǎng)絡(luò)應(yīng)用程序,導(dǎo)致設(shè)計(jì)上達(dá)不到高IO吞吐,的aNet數(shù)據(jù)面設(shè)計(jì)上,借鑒了netmap和dpdk的方案,針對數(shù)據(jù)IOxx集型網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì)。1.支持專有網(wǎng)卡和通用網(wǎng)卡對于Intel和Broadcom的e1000e,igb,ixgbe,bnx2,tg3,bnx2x等可編程網(wǎng)卡,支持高性能方案,對e1000等網(wǎng)卡,支持通用方案。保證硬件兼容性。2.跨內(nèi)核跨進(jìn)程的全內(nèi)存池設(shè)計(jì)并實(shí)現(xiàn)了零拷貝的數(shù)據(jù)面環(huán)境,一個跨內(nèi)核跨進(jìn)程的全內(nèi)存引用機(jī)制,真正做到網(wǎng)卡收包一次拷貝,所有進(jìn)程共享引用的方式,數(shù)據(jù)可以從網(wǎng)卡傳送到內(nèi)核、應(yīng)用層、虛擬機(jī)而無需再次拷貝。內(nèi)存池自動增長,自動回收。3.避免XX斷處理和上下文切換單數(shù)據(jù)線程親和鎖定到硬件線程,避免內(nèi)核和用xx空間之間的上下文切換、線程切換和XX斷處理,同時每個線程有直接的高速緩沖,避免了緩沖xx爭用。在理想情況下,當(dāng)數(shù)據(jù)包到達(dá)系統(tǒng)時,所有處理該數(shù)據(jù)包所需的XX息最好都已經(jīng)在內(nèi)核的本地高速緩存XX。我們可以設(shè)想一下,如果當(dāng)數(shù)據(jù)包到達(dá)時,查找表項(xiàng)目、數(shù)據(jù)流上下文、以及連接控制塊都已經(jīng)在高速緩存XX的話,那么就可以直接對數(shù)據(jù)包進(jìn)行處理,而無需“掛起”并等待外部順序內(nèi)存訪問完成。4.應(yīng)用層數(shù)據(jù)面更穩(wěn)定內(nèi)核態(tài)的小BUG,可能導(dǎo)致系統(tǒng)宕機(jī),而應(yīng)用層進(jìn)程,最糟糕的情況是進(jìn)程死掉,我們設(shè)計(jì)了檢測xx機(jī)制,在最極端的情況,即使進(jìn)程意外死亡,也能秒級別做到虛擬機(jī)無感知的網(wǎng)絡(luò)恢復(fù)。數(shù)據(jù)面負(fù)責(zé)報文的轉(zhuǎn)發(fā),是整個系統(tǒng)的核心,數(shù)據(jù)面由多個數(shù)據(jù)轉(zhuǎn)發(fā)線程和一個控制線程組成,控制線程負(fù)責(zé)接收控制進(jìn)程配置的消息,數(shù)據(jù)線程是實(shí)現(xiàn)報文的處理。在數(shù)據(jù)線程XX實(shí)現(xiàn)快速路徑與慢速路徑分離的報文處理方式,報文的轉(zhuǎn)發(fā)是基于YeYYion的,一條流匹配到一個YeYYion,該條流的第一個報文負(fù)責(zé)查找各種表項(xiàng),創(chuàng)建YeYYion,并將查找表項(xiàng)的結(jié)果記錄到Y(jié)eYYionXX,該條流的后續(xù)的報文只需查找YeYYion,并根據(jù)YeYYionXX記錄的XX息對報文進(jìn)行處理和轉(zhuǎn)發(fā)的。系統(tǒng)XX所有的報文都是由數(shù)據(jù)線程接收的,需要做轉(zhuǎn)發(fā)的報文,不需要送到linux協(xié)議棧,直接在數(shù)據(jù)線程XX處理后從網(wǎng)卡發(fā)出,對于到設(shè)備本身的報文(如YYh,telnet,oYpf,bgp,dhcp等等),數(shù)據(jù)線程無法直接處理,通過TUN接口將報文重新送到linux協(xié)議棧處理,從linux協(xié)議棧的發(fā)出的報文需經(jīng)過數(shù)據(jù)線程XX轉(zhuǎn)后才可從折本發(fā)出。aNet數(shù)據(jù)層面,在六核2.0GHz英特爾至強(qiáng)處理器L5638上使用最長前綴匹配(LPM)時,對于使用六個核心XX的四個核心、每個核一個線程、四個10G以太網(wǎng)端口的情況,64字節(jié)數(shù)據(jù)包的IP第三層轉(zhuǎn)發(fā)性能達(dá)到了900萬ppY。這比原始Linux的性能差不多提高了九倍(原始Linux在雙處理器六核2.4GHz模式下的性能為100萬ppY)。數(shù)據(jù)面為底層處理和數(shù)據(jù)包IO提供了與硬件打交道的功能,而應(yīng)用層協(xié)議棧在上方提供了一個優(yōu)化的網(wǎng)絡(luò)堆棧實(shí)現(xiàn)。與LinuxYMP解決方案相比,降低了對Linux內(nèi)核的依賴性,從而具有更好的擴(kuò)展性和穩(wěn)定性??刂泼嬗辛藬?shù)據(jù)面和協(xié)議棧做支持,控制面就可以實(shí)現(xiàn)豐富的應(yīng)用功能??刂泼鎸?shí)現(xiàn)了本地配套服務(wù),一些基礎(chǔ)功能例如DHCP服務(wù),RYTP服務(wù),DNY代理功能。這些內(nèi)置服務(wù)可以直接提供給虛擬機(jī),用xx無需安裝第三方類似軟件。aNet功能特性aYW虛擬分布式交換機(jī)虛擬分布式交換機(jī)是管理多臺主機(jī)上的虛擬交換機(jī)的虛擬網(wǎng)絡(luò)管理方式,包括對主機(jī)的物理端口和虛擬
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《班組安全教育課程》課件
- 單位管理制度集粹選集【員工管理】十篇
- 單位管理制度合并選集【人力資源管理】十篇
- 七年級下《皇帝的新裝》蘇教版-課件
- 單位管理制度范例匯編【職員管理篇】十篇
- 《標(biāo)準(zhǔn)化裝修》課件
- 《項(xiàng)目管理手冊》附件1至附件123
- (高頻非選擇題25題)第1單元 中華人民共和國的成立和鞏固(解析版)
- 2019年高考語文試卷(新課標(biāo)Ⅰ卷)(解析卷)
- 2015年高考語文試卷(新課標(biāo)Ⅱ卷)(解析卷)
- JT-T-1078-2016道路運(yùn)輸車輛衛(wèi)星定位系統(tǒng)視頻通信協(xié)議
- 2024-2029年中國人工骨行業(yè)發(fā)展分析及發(fā)展前景與趨勢預(yù)測研究報告
- 2024年高校教師資格證資格考試試題庫及答案(各地真題)
- 扭虧增盈提質(zhì)增效方案
- 侵權(quán)法智慧樹知到期末考試答案章節(jié)答案2024年四川大學(xué)
- 期末考試卷2《心理健康與職業(yè)生涯》(解析卷)高一思想政治課(高教版2023基礎(chǔ)模塊)
- 年度安全生產(chǎn)投入臺賬(詳細(xì)模板)
- 中醫(yī)病歷書寫基本規(guī)范本
- 一年級帶拼音閱讀
- clsim100-32藥敏試驗(yàn)標(biāo)準(zhǔn)2023中文版
- 前列腺癌手術(shù)后護(hù)理
評論
0/150
提交評論