版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
...wd......wd......wd...深信服超融合架構(gòu)技術(shù)文書深信服科技修訂記錄TOC\o"1-6"\h\z\u第1章、前言81.1IT時(shí)代的變革81.2白皮書總覽9第2章、深信服超融合技術(shù)架構(gòu)111.1超融合架構(gòu)概述111.1.1超融合架構(gòu)的定義111.2深信服超融合架構(gòu)組成模塊11系統(tǒng)總體架構(gòu)11aSV計(jì)算虛擬化平臺(tái)12.1概述12.2aSV技術(shù)原理13.2.1aSV的Hypervisor架構(gòu)14.2.2Hypervisor虛擬化實(shí)現(xiàn)17.3aSV的技術(shù)特性26.3.1內(nèi)存NUMA技術(shù)26.3.2SR-IOV27.3.3Faik-raid28.3.4虛擬機(jī)生命周期管理29.3.5虛擬交換機(jī)30.3.6動(dòng)態(tài)資源調(diào)度31.4aSV的特色技術(shù)31.4.1快虛31.4.2虛擬機(jī)熱遷移32.4.3虛擬磁盤加密33.4.4虛擬機(jī)的HA34.4.5多USB映射34aSAN存儲(chǔ)虛擬化36.1存儲(chǔ)虛擬化概述36.1.1虛擬后對(duì)存儲(chǔ)帶來(lái)的挑戰(zhàn)36.1.2分布式存儲(chǔ)技術(shù)的開展36.1.3深信服aSAN概述37.2aSAN技術(shù)原理37.2.1主機(jī)管理37.2.2文件副本38.2.3磁盤管理39.2.4SSD讀緩存原理46.2.5SSD寫緩存原理52.2.6磁盤故障處理機(jī)制55.3深信服aSAN功能特性68.3.1存儲(chǔ)精簡(jiǎn)配置68.3.2aSAN私網(wǎng)鏈路聚合69.3.3數(shù)據(jù)一致性檢查69aNet網(wǎng)絡(luò)虛擬化69.1網(wǎng)絡(luò)虛擬化概述69.2aNET網(wǎng)絡(luò)虛擬化技術(shù)原理70.2.1SDN70.2.2NFV71.2.3aNet底層的實(shí)現(xiàn)72.3功能特性76.3.1aSW分布式虛擬交換機(jī)76.3.2aRouter76.3.3vAF77.3.4vAD77.4深信服aNet的特色技術(shù)77.4.1網(wǎng)絡(luò)探測(cè)功能77.4.2全網(wǎng)流量可視78.4.3所畫即所得業(yè)務(wù)邏輯拓?fù)?81.2.2深信服超融合架構(gòu)產(chǎn)品介紹79產(chǎn)品概述79產(chǎn)品定位79第3章、深信服超融合架構(gòu)帶來(lái)的核心價(jià)值811.1可靠性:811.2安全性811.3靈活彈性811.4易操作性81第4章、超融合架構(gòu)最正確實(shí)踐82前言IT時(shí)代的變革20世紀(jì)90年代,隨著Windows的廣泛使用及Linux服務(wù)器操作系統(tǒng)的出現(xiàn)奠定了x86服務(wù)器的行業(yè)標(biāo)準(zhǔn)地位,然而x86服務(wù)器部署的增長(zhǎng)帶來(lái)了新的IT根基架構(gòu)和運(yùn)作難題,包括:根基架構(gòu)利用率低、物理根基架構(gòu)本錢日益攀升、IT管理本錢不斷提高以及對(duì)關(guān)鍵應(yīng)用故障和災(zāi)難保護(hù)缺乏等問(wèn)題。X86服務(wù)器虛擬化技術(shù)的出現(xiàn),通過(guò)將x86系統(tǒng)轉(zhuǎn)變成通用的共享硬件根基架構(gòu),充分挖掘硬件的潛力,提高硬件的利用效率,降低硬件和運(yùn)營(yíng)本錢,并且簡(jiǎn)化運(yùn)維降低管理本錢,最終幫助用戶把更多的時(shí)間和本錢轉(zhuǎn)移到對(duì)業(yè)務(wù)的投入上。隨著云計(jì)算和虛擬化技術(shù)向構(gòu)建新一代數(shù)據(jù)中心方向開展,關(guān)鍵以虛擬化為根基,實(shí)現(xiàn)管理以及業(yè)務(wù)的集中,對(duì)數(shù)據(jù)中心資源進(jìn)展動(dòng)態(tài)調(diào)整和分配,重點(diǎn)滿足企業(yè)關(guān)鍵應(yīng)用向X86系統(tǒng)遷移對(duì)于資源高性能、高可靠、安全性和高可適應(yīng)性上的要求,同時(shí)提高根基架構(gòu)的自動(dòng)化管理水平,確保滿足根基設(shè)施快速適應(yīng)業(yè)務(wù)的商業(yè)訴求,支持企業(yè)應(yīng)用云化部署。云計(jì)算并不是一種新的技術(shù),而是在一個(gè)新理念的驅(qū)動(dòng)下產(chǎn)生的技術(shù)組合。在云計(jì)算之前,企業(yè)部署一套服務(wù),需要經(jīng)歷組網(wǎng)規(guī)劃,容量規(guī)劃,設(shè)備選型,下單,付款,發(fā)貨,運(yùn)輸,安裝,部署,調(diào)試的整個(gè)完整過(guò)程。這個(gè)周期在大型工程中需要以周甚至月來(lái)計(jì)算。在引入云計(jì)算后,這整個(gè)周期縮短到以分鐘來(lái)計(jì)算。IT業(yè)有一條摩爾定律,芯片速度容量每18個(gè)月提升一倍。同時(shí),IT行業(yè)還有一條反摩爾定律,所有無(wú)法追隨摩爾定律的廠家將被淘汰。IT行業(yè)是快魚吃慢魚的行業(yè),使用云計(jì)算可以提升IT設(shè)施供應(yīng)效率,不使用則會(huì)拖慢產(chǎn)品或服務(wù)的擴(kuò)張腳步,一步慢步步慢。云計(jì)算當(dāng)然還會(huì)帶來(lái)別的好處,比方提升復(fù)用率縮減本錢,降低能源消耗,縮減維護(hù)人力本錢等方面的優(yōu)勢(shì),但在反摩爾定律面前,已經(jīng)顯得不是那么重要。業(yè)界關(guān)于云計(jì)算技術(shù)的定義,是通過(guò)虛擬化技術(shù),將不同的根基設(shè)施標(biāo)準(zhǔn)化為一樣的業(yè)務(wù)部件,然后利用這些業(yè)務(wù)部件,依據(jù)用戶需求自動(dòng)化組合來(lái)滿足各種個(gè)性化的訴求。云著重于虛擬化,標(biāo)準(zhǔn)化,和自動(dòng)化。深信服的超融合架構(gòu)是一款成熟的Iaas層的云計(jì)算解決方案,除滿足上面所述的虛擬化,標(biāo)準(zhǔn)化和自動(dòng)化訴求外,秉承深信服公司產(chǎn)品的優(yōu)秀基因,向您提供簡(jiǎn)單易用,安全可靠的產(chǎn)品。本文檔向您講述深信服超融合架構(gòu)解決方案中所用到的相關(guān)技術(shù),通過(guò)閱讀本文檔,您能夠了解到:云的虛擬化,標(biāo)準(zhǔn)化,易用性,易管理這些關(guān)鍵技術(shù)是如何在深信服的超融合架構(gòu)解決方案中表達(dá)的;超融合架構(gòu)解決方案是如何做到簡(jiǎn)單,安全可靠的;超融合解決方案所包含的部件,所涉及的主要技術(shù)領(lǐng)域,使用的主要的一些技術(shù);針對(duì)超融合架構(gòu)提供的各種技術(shù)選擇,您怎樣使用它們來(lái)滿足您的業(yè)務(wù)訴求。白皮書總覽本書介紹的內(nèi)容大致如下:第一章、在前言局部,給您對(duì)云計(jì)算,云平臺(tái)有一個(gè)概括性的認(rèn)識(shí),并對(duì)本文檔的閱讀給出指導(dǎo)。第二章、講述超融合架構(gòu)中的主要功能模塊,各個(gè)功能模塊的技術(shù)細(xì)節(jié)介紹。第三章、向您介紹深信服超融合架構(gòu)中的技術(shù)在為客戶帶來(lái)的核心價(jià)值。第四章、分享超融合架構(gòu)在客戶中的實(shí)際應(yīng)用場(chǎng)景,并給出深信服超融合架構(gòu)產(chǎn)品的體驗(yàn)途徑,非常歡送您來(lái)試用。深信服超融合技術(shù)架構(gòu)超融合架構(gòu)概述超融合架構(gòu)的定義超融合根基架構(gòu),這是一種將計(jì)算、網(wǎng)絡(luò)和存儲(chǔ)等資源作為根本組成元素,根據(jù)系統(tǒng)需求進(jìn)展選擇和預(yù)定義的一種技術(shù)架構(gòu),具體實(shí)現(xiàn)方式上一般是指在同一套單元節(jié)點(diǎn)〔x86服務(wù)器〕中融入軟件虛擬化技術(shù)〔包括計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)、安全等虛擬化〕,而每一套單元節(jié)點(diǎn)可以通過(guò)網(wǎng)絡(luò)聚合起來(lái),實(shí)現(xiàn)模塊化的無(wú)縫橫向擴(kuò)展〔scale-out〕,構(gòu)建統(tǒng)一的資源池。深信服超融合架構(gòu)組成模塊系統(tǒng)總體架構(gòu)深信服超融合架構(gòu)圖深信服超融合架構(gòu)在基于底層根基架構(gòu)〔標(biāo)準(zhǔn)的X86硬件〕上將計(jì)算、存儲(chǔ)、網(wǎng)絡(luò)、安全軟件化,通過(guò)這種軟件化的方式,即計(jì)算虛擬化aSV、存儲(chǔ)虛擬化aSAN、網(wǎng)絡(luò)虛擬化aNet,構(gòu)建了數(shù)據(jù)中心里所需的最小資源單元,通過(guò)資源池中的最小單元,提供了數(shù)據(jù)中心IT根基架構(gòu)中所需的全部資源。aSV計(jì)算虛擬化平臺(tái)概述計(jì)算資源虛擬化技術(shù)就是將通用的x86服務(wù)器經(jīng)過(guò)虛擬化軟件,對(duì)最終用戶呈現(xiàn)標(biāo)準(zhǔn)的虛擬機(jī)。這些虛擬機(jī)就像同一個(gè)廠家生產(chǎn)的系列化的產(chǎn)品一樣,具備系列化的硬件配置,使用一樣的驅(qū)動(dòng)程序。虛擬化技術(shù)起源于大型機(jī),最早可以追溯到上世紀(jì)六、七十年代大型機(jī)上的虛擬分區(qū)技術(shù),即允許在一臺(tái)主機(jī)上運(yùn)行多個(gè)操作系統(tǒng),讓用戶盡可能充分地利用昂貴的大型機(jī)資源。隨著技術(shù)的開展和市場(chǎng)競(jìng)爭(zhēng)的需要,虛擬化技術(shù)向小型機(jī)或UNIX服務(wù)器上移植,只是由于真正使用大型機(jī)和小型機(jī)的用戶還是少數(shù),加上各廠商產(chǎn)品和技術(shù)之間的不兼容,使得虛擬化技術(shù)不太被公眾所關(guān)注?!沧ⅲ河捎赬86架構(gòu)在設(shè)計(jì)之初并沒(méi)有考慮支持虛擬化技術(shù),它本身的構(gòu)造和復(fù)雜性使得在其之上進(jìn)展虛擬化非常困難,早期的X86架構(gòu)并沒(méi)有成為虛擬化技術(shù)的受益者〕20世紀(jì)90年代,虛擬化軟件廠商采用一種軟件解決方案,以VMM(VirtualMachineMonitor,VMM虛擬機(jī)監(jiān)視器)為中心使X86服務(wù)器平臺(tái)實(shí)現(xiàn)虛擬化。然而這種純軟件的“全虛擬化〞模式,每個(gè)GuestOS〔客戶操作系統(tǒng)〕獲得的關(guān)鍵平臺(tái)資源都要由VMM控制和分配,需要利用二進(jìn)制轉(zhuǎn)換,而二進(jìn)制轉(zhuǎn)換帶來(lái)的開銷使得“完全虛擬化〞的性能大打折扣。為解決性能問(wèn)題,出現(xiàn)了一種新的虛擬化技術(shù)“半虛擬化〞,即不需要二進(jìn)制轉(zhuǎn)換,而是通過(guò)對(duì)客戶操作系統(tǒng)進(jìn)展代碼級(jí)修改,使定制的GuestOS獲得額外的性能和高擴(kuò)展性,但是修改GuestOS也帶來(lái)了系統(tǒng)指令級(jí)的沖突及運(yùn)行效率問(wèn)題,需要投入大量?jī)?yōu)化的工作。當(dāng)前,虛擬化技術(shù)已經(jīng)開展到了硬件支持的階段,“硬件虛擬化〞技術(shù)就是把純軟件虛擬化技術(shù)的各項(xiàng)功能用硬件電路來(lái)實(shí)現(xiàn),可減少VMM運(yùn)行的系統(tǒng)開銷,可同時(shí)滿足CPU半虛擬化和二進(jìn)制轉(zhuǎn)換技術(shù)的需求,深信服的超融合架構(gòu)解決方案中的計(jì)算虛擬化采用aSV虛擬化系統(tǒng),通過(guò)將服務(wù)器資源虛擬化為多臺(tái)虛擬機(jī)。最終用戶可以在這些虛擬機(jī)上安裝各種軟件,掛載磁盤,調(diào)整配置,調(diào)整網(wǎng)絡(luò),就像普通的x86服務(wù)器一樣使用它。計(jì)算虛擬化是超融合的架構(gòu)中必不可少的關(guān)鍵因素,對(duì)于最終用戶,虛擬機(jī)比物理機(jī)的優(yōu)勢(shì)在于它可以很快速的發(fā)放,很方便的調(diào)整配置和組網(wǎng)。對(duì)于維護(hù)人員來(lái)講,虛擬機(jī)復(fù)用了硬件,這樣硬件更少,加上云平臺(tái)的自動(dòng)維護(hù)能力,這樣整個(gè)IT系統(tǒng)的本錢顯著降低。aSV技術(shù)原理服務(wù)器務(wù)器虛擬化前后的巨大差異,源于虛擬機(jī)與物理服務(wù)器的本質(zhì)區(qū)別上:虛擬機(jī)的定義:虛擬機(jī)(VirtualMachine)是由虛擬化層提供的高效、獨(dú)立的虛擬計(jì)算機(jī)系統(tǒng),每臺(tái)虛擬機(jī)都是一個(gè)完整的系統(tǒng),它具有處理器、內(nèi)存、網(wǎng)絡(luò)設(shè)備、存儲(chǔ)設(shè)備和BIOS,因此操作系統(tǒng)和應(yīng)用程序在虛擬機(jī)中的運(yùn)行方式與它們?cè)谖锢矸?wù)器上的運(yùn)行方式?jīng)]有什么區(qū)別。虛擬機(jī)的本質(zhì)區(qū)別:與物理服務(wù)器相比,虛擬機(jī)不是由真實(shí)的電子元件組成,而是由一組虛擬組件〔文件〕組成,這些虛擬組件與物理服務(wù)器的硬件配置無(wú)關(guān),關(guān)鍵與物理服務(wù)器相比,虛擬機(jī)具有以下優(yōu)勢(shì):抽象解耦:1.可在任何X86架構(gòu)的服務(wù)器上運(yùn)行;2.上層應(yīng)用操作系統(tǒng)不需修改即可運(yùn)行;分區(qū)隔離:1.可與其他虛擬機(jī)同時(shí)運(yùn)行;2.實(shí)現(xiàn)數(shù)據(jù)處理、網(wǎng)絡(luò)連接和數(shù)據(jù)存儲(chǔ)的安全隔離;封裝移動(dòng):1.可封裝于文件之中,通過(guò)簡(jiǎn)單的文件復(fù)制實(shí)現(xiàn)快速部署、備份及復(fù)原;2.可便捷地將整個(gè)系統(tǒng)〔包括虛擬硬件、操作系統(tǒng)和配置好的應(yīng)用程序〕在不同的物理服務(wù)器之間進(jìn)展遷移,甚至可以在虛擬機(jī)正在運(yùn)行的情況下進(jìn)展遷移;aSV的Hypervisor架構(gòu)Hypervisor是一種運(yùn)行在物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個(gè)操作系統(tǒng)和應(yīng)用共享一套根基物理硬件,因此也可以看作是虛擬環(huán)境中的“元〞操作系統(tǒng),它可以協(xié)調(diào)訪問(wèn)服務(wù)器上的所有物理設(shè)備和虛擬機(jī),也叫虛擬機(jī)監(jiān)視器〔VirtualMachineMonitor〕。Hypervisor是所有虛擬化技術(shù)的核心。非中斷地支持多工作負(fù)載遷移的能力是Hypervisor的根本功能。當(dāng)服務(wù)器啟動(dòng)并執(zhí)行Hypervisor時(shí),它會(huì)給每一臺(tái)虛擬機(jī)分配適量的內(nèi)存、CPU、網(wǎng)絡(luò)和磁盤,并加載所有虛擬機(jī)的客戶操作系統(tǒng)。虛擬化技術(shù)架構(gòu)Hypervisor,常見(jiàn)的Hypervisor分兩類:Type-I〔裸金屬型〕指VMM直接運(yùn)作在裸機(jī)上,使用和管理底層的硬件資源,GuestOS對(duì)真實(shí)硬件資源的訪問(wèn)都要通過(guò)VMM來(lái)完成,作為底層硬件的直接操作者,VMM擁有硬件的驅(qū)動(dòng)程序。裸金屬虛擬化中Hypervisor直接收理調(diào)用硬件資源,不需要底層操作系統(tǒng),也可以理解為Hypervisor被做成了一個(gè)很薄的操作系統(tǒng)。這種方案的性能處于主機(jī)虛擬化與操作系統(tǒng)虛擬化之間。代表是VMwareESXServer、CitrixXenServer和MicrosoftHyper-V,LinuxKVM。Type-II型〔宿主型〕指VMM之下還有一層宿主操作系統(tǒng),由于GuestOS對(duì)硬件的訪問(wèn)必須經(jīng)過(guò)宿主操作系統(tǒng),因而帶來(lái)了額外的性能開銷,但可充分利用宿主操作系統(tǒng)提供的設(shè)備驅(qū)動(dòng)和底層服務(wù)來(lái)進(jìn)展內(nèi)存管理、進(jìn)程調(diào)度和資源管理等。主機(jī)虛擬化中VM的應(yīng)用程序調(diào)用硬件資源時(shí)需要經(jīng)過(guò):VM內(nèi)核->Hypervisor->主機(jī)內(nèi)核,導(dǎo)致性能是三種虛擬化技術(shù)中最差的。主機(jī)虛擬化技術(shù)代表是VMwareServer〔GSX〕、Workstation和MicrosoftVirtualPC、VirtualServer等。由于主機(jī)型Hypervisor的效率問(wèn)題,深信服的aSV采用了裸機(jī)型Hypervisor中的LinuxKVM虛擬化,即為Type-I〔裸金屬型〕。KVM(Kenerl-basedVirtualMachine)是基于linux內(nèi)核虛擬化技術(shù),自linux2.6.20之后就集成在linux的各個(gè)主要發(fā)行版本中。它使用linux自身的調(diào)度器進(jìn)展管理,所以相對(duì)于xen,其核心源碼很少。KVM是基于硬件虛擬化擴(kuò)展〔Intel
VT-
X
和AMD-V〕和QEMU
的修改版,KVM屬于Linuxkernel的一個(gè)模塊,可以用命令modprobe去加載KVM模塊。加載了該模塊后,才能進(jìn)一步通過(guò)工具創(chuàng)立虛擬機(jī)。但是僅有KVM模塊是不夠的。因?yàn)橛脩魺o(wú)法直接控制內(nèi)核去做事情,還必須有一個(gè)運(yùn)行在用戶空間的工具才行。這個(gè)用戶空間的工具,我們選擇了已經(jīng)成型的開源虛擬化軟件QEMU。QEMU也是一個(gè)虛擬化軟件,它的特點(diǎn)是可虛擬不同的CPU,比方說(shuō)在x86的CPU上可虛擬一個(gè)power的CPU,并可利用它編譯出可運(yùn)行在power上的CPU,并可利用它編譯出可運(yùn)行在power上的程序。KVM使用了QEMU的一局部,并稍加改造,就成了可控制KVM的用戶空間工具了。這就是KVM和QEMU的關(guān)系。如以下列圖:KVM的實(shí)現(xiàn)模塊有兩個(gè),分別是:kvm.ko是提供核心虛擬化的根基架構(gòu);特定于處理器的模塊kvm-intel.ko和kvm-amd.ko。其設(shè)計(jì)目標(biāo)是在需要引導(dǎo)多個(gè)未改動(dòng)的PC操作系統(tǒng)時(shí)支持完整的硬件模擬。一個(gè)普通的linux進(jìn)程有兩種運(yùn)行模式:內(nèi)核和用戶。而KVM增加了第三種模式:客戶模式〔有自己的內(nèi)核和用戶模式〕。在kvm模型中,每一個(gè)虛擬機(jī)都是由linux調(diào)度程序管理的標(biāo)準(zhǔn)進(jìn)程。總體來(lái)說(shuō),kvm由兩個(gè)局部組成:一個(gè)是管理虛擬硬件的設(shè)備驅(qū)動(dòng),該驅(qū)動(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ò)展性〕保持開源開展模式〔強(qiáng)大的社區(qū)支持〕Hypervisor虛擬化實(shí)現(xiàn)VMM(VirtualMachineMonitor)對(duì)物理資源的虛擬可以劃分為三個(gè)局部:CPU虛擬化、內(nèi)存虛擬化和I/O設(shè)備虛擬化,其中以CPU的虛擬化最為關(guān)鍵。經(jīng)典的虛擬化方法:現(xiàn)代計(jì)算機(jī)體系構(gòu)造一般至少有兩個(gè)特權(quán)級(jí)〔即用戶態(tài)和核心態(tài),x86有四個(gè)特權(quán)級(jí)Ring0~Ring3〕用來(lái)分隔系統(tǒng)軟件和應(yīng)用軟件。那些只能在處理器的最高特權(quán)級(jí)〔內(nèi)核態(tài)〕執(zhí)行的指令稱之為特權(quán)指令,一般可讀寫系統(tǒng)關(guān)鍵資源的指令〔即敏感指令〕決大多數(shù)都是特權(quán)指令〔X86存在假設(shè)干敏感指令是非特權(quán)指令的情況〕。如果執(zhí)行特權(quán)指令時(shí)處理器的狀態(tài)不在內(nèi)核態(tài),通常會(huì)引發(fā)一個(gè)異常而交由系統(tǒng)軟件來(lái)處理這個(gè)非法訪問(wèn)〔陷入〕。經(jīng)典的虛擬化方法就是使用“特權(quán)解除〞和“陷入-模擬〞的方式,即將GuestOS運(yùn)行在非特權(quán)級(jí),而將VMM運(yùn)行于最高特權(quán)級(jí)〔完全控制系統(tǒng)資源〕。解除了GuestOS的特權(quán)級(jí)后,GuestOS的大局部指令仍可以在硬件上直接運(yùn)行,只有執(zhí)行到特權(quán)指令時(shí),才會(huì)陷入到VMM模擬執(zhí)行〔陷入-模擬〕。“陷入-模擬〞的本質(zhì)是保證可能影響VMM正確運(yùn)行的指令由VMM模擬執(zhí)行,大局部的非敏感指令還是照常運(yùn)行。因?yàn)閄86指令集中有假設(shè)干條指令是需要被VMM捕獲的敏感指令,但是卻不是特權(quán)指令〔稱為臨界指令〕,因此“特權(quán)解除〞并不能導(dǎo)致他們發(fā)生陷入模擬,執(zhí)行它們不會(huì)發(fā)生自動(dòng)的“陷入〞而被VMM捕獲,從而阻礙了指令的虛擬化,這也稱之為X86的虛擬化漏洞。X86架構(gòu)虛擬化的實(shí)現(xiàn)方式可分為:1、X86“全虛擬化〞〔指所抽象的VM具有完全的物理機(jī)特性,OS在其上運(yùn)行不需要任何修改〕Full派秉承無(wú)需修改直接運(yùn)行的理念,對(duì)“運(yùn)行時(shí)監(jiān)測(cè),捕捉后模擬〞的過(guò)程進(jìn)展優(yōu)化。該派內(nèi)部之實(shí)現(xiàn)又有些差異,其中以VMWare為代表的基于二進(jìn)制翻譯(BT)的全虛擬化為代表,其主要思想是在執(zhí)行時(shí)將VM上執(zhí)行的GuestOS指令,翻譯成x86指令集的一個(gè)子集,其中的敏感指令被替換成陷入指令。翻譯過(guò)程與指令執(zhí)行穿插進(jìn)展,不含敏感指令的用戶態(tài)程序可以不經(jīng)翻譯直接執(zhí)行。2、X86“半虛擬化〞〔指需OS協(xié)助的虛擬化,在其上運(yùn)行的OS需要修改〕Para派的根本思想是通過(guò)修改GuestOS的代碼,將含有敏感指令的操作,替換為對(duì)VMM的超調(diào)用Hypercall,類似OS的系統(tǒng)調(diào)用,將控制權(quán)轉(zhuǎn)移到VMM,該技術(shù)因VMM工程而廣為人知。該技術(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ā),來(lái)支持未經(jīng)修改的操作系統(tǒng)。3、X86“硬件輔助虛擬化〞:其根本思想就是引入新的處理器運(yùn)行模式和新的指令,使得VMM和GuestOS運(yùn)行于不同的模式下,GuestOS運(yùn)行于受控模式,原來(lái)的一些敏感指令在受控模式下全部會(huì)陷入VMM,這樣就解決了局部非特權(quán)的敏感指令的“陷入-模擬〞難題,而且模式切換時(shí)上下文的保存恢復(fù)由硬件來(lái)完成,這樣就大大提高了“陷入-模擬〞時(shí)上下文切換的效率。以IntelVT-x硬件輔助虛擬化技術(shù)為例,該技術(shù)增加了在虛擬狀態(tài)下的兩種處理器工作模式:根〔Root〕操作模式和非根〔Non-root〕操作模式。VMM運(yùn)作在Root操作模式下,而GuestOS運(yùn)行在Non-root操作模式下。這兩個(gè)操作模式分別擁有自己的特權(quán)級(jí)環(huán),VMM和虛擬機(jī)的GuestOS分別運(yùn)行在這兩個(gè)操作模式的0環(huán)。這樣,既能使VMM運(yùn)行在0環(huán),也能使GuestOS運(yùn)行在0環(huán),防止了修改GuestOS。Root操作模式和Non-root操作模式的切換是通過(guò)新增的CPU指令〔VMXON,VMXOFF等〕來(lái)完成。硬件輔助虛擬化技術(shù)消除了操作系統(tǒng)的ring轉(zhuǎn)換問(wèn)題,降低了虛擬化門檻,支持任何操作系統(tǒng)的虛擬化而無(wú)須修改OS內(nèi)核,得到了虛擬化軟件廠商的支持。硬件輔助虛擬化技術(shù)已經(jīng)逐漸消除軟件虛擬化技術(shù)之間的差異,并成為未來(lái)的開展趨勢(shì)。vCPU機(jī)制vCPU調(diào)度機(jī)制對(duì)虛擬機(jī)來(lái)說(shuō),不直接感知物理CPU,虛擬機(jī)的計(jì)算單元通過(guò)vCPU對(duì)象來(lái)呈現(xiàn)。虛擬機(jī)只看到VMM呈現(xiàn)給它的vCPU。在VMM中,每個(gè)vCPU對(duì)應(yīng)一個(gè)VMCS〔Virtual-MachineControlStructure〕構(gòu)造,當(dāng)vcpu被從物理CPU上切換下來(lái)的時(shí)候,其運(yùn)行上下文會(huì)被保存在其對(duì)應(yīng)的VMCS構(gòu)造中;當(dāng)vcpu被切換到pcpu上運(yùn)行時(shí),其運(yùn)行上下文會(huì)從對(duì)應(yīng)的VMCS構(gòu)造中導(dǎo)入到物理CPU上。通過(guò)這種方式,實(shí)現(xiàn)各vCPU之間的獨(dú)立運(yùn)行。從虛擬機(jī)系統(tǒng)的構(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)度在物理處理單元上可以采用任意的策略來(lái)分配物理資源,滿足虛擬機(jī)的不同需求。vCPU可以調(diào)度在一個(gè)或多個(gè)物理處理單元執(zhí)行〔分時(shí)復(fù)用或空間復(fù)用物理處理單元〕,也可以與物理處理單元建設(shè)一對(duì)一固定的映射關(guān)系〔限制訪問(wèn)指定的物理處理單元〕。內(nèi)存虛擬化圖3-6內(nèi)存虛擬化三層模型因?yàn)閂MM(VirtualMachineMonitor)掌控所有系統(tǒng)資源,因此VMM握有整個(gè)內(nèi)存資源,其負(fù)責(zé)頁(yè)式內(nèi)存管理,維護(hù)虛擬地址到機(jī)器地址的映射關(guān)系。因GuestOS本身亦有頁(yè)式內(nèi)存管理機(jī)制,則有VMM的整個(gè)系統(tǒng)就比正常系統(tǒng)多了一層映射:A.虛擬地址(VA),指GuestOS提供應(yīng)其應(yīng)用程序使用的線性地址空間;B.物理地址(PA),經(jīng)VMM抽象的、虛擬機(jī)看到的偽物理地址;C.機(jī)器地址(MA),真實(shí)的機(jī)器地址,即地址總線上出現(xiàn)的地址信號(hào);映射關(guān)系如下:GuestOS:PA=f(VA)、VMM:MA=g(PA)VMM維護(hù)一套頁(yè)表,負(fù)責(zé)PA到MA的映射。GuestOS維護(hù)一套頁(yè)表,負(fù)責(zé)VA到PA的映射。實(shí)際運(yùn)行時(shí),用戶程序訪問(wèn)VA1,經(jīng)GuestOS的頁(yè)表轉(zhuǎn)換得到PA1,再由VMM介入,使用VMM的頁(yè)表將PA1轉(zhuǎn)換為MA1。頁(yè)表虛擬化技術(shù)普通MMU只能完成一次虛擬地址到物理地址的映射,在虛擬機(jī)環(huán)境下,經(jīng)過(guò)MMU轉(zhuǎn)換所得到的“物理地址〞并不是真正的機(jī)器地址。假設(shè)需得到真正的機(jī)器地址,必須由VMM介入,再經(jīng)過(guò)一次映射才能得到總線上使用的機(jī)器地址。如果虛擬機(jī)的每個(gè)內(nèi)存訪問(wèn)都需要VMM介入,并由軟件模擬地址轉(zhuǎn)換的效率是很低下的,幾乎不具有實(shí)際可用性,為實(shí)現(xiàn)虛擬地址到機(jī)器地址的高效轉(zhuǎn)換,現(xiàn)普遍采用的思想是:由VMM根據(jù)映射f和g生成復(fù)合的映射fg,并直接將這個(gè)映射關(guān)系寫入MMU。當(dāng)前采用的頁(yè)表虛擬化方法主要是MMU類虛擬化〔MMUParavirtualization〕和影子頁(yè)表,后者已被內(nèi)存的硬件輔助虛擬化技術(shù)所替代。1、MMUParavirtualization其根本原理是:當(dāng)GuestOS創(chuàng)立一個(gè)新的頁(yè)表時(shí),會(huì)從它所維護(hù)的空閑內(nèi)存中分配一個(gè)頁(yè)面,并向VMM注冊(cè)該頁(yè)面,VMM會(huì)剝奪GuestOS對(duì)該頁(yè)表的寫權(quán)限,之后GuestOS對(duì)該頁(yè)表的寫操作都會(huì)陷入到VMM加以驗(yàn)證和轉(zhuǎn)換。VMM會(huì)檢查頁(yè)表中的每一項(xiàng),確保他們只映射了屬于該虛擬機(jī)的機(jī)器頁(yè)面,而且不得包含對(duì)頁(yè)表頁(yè)面的可寫映射。后VMM會(huì)根據(jù)自己所維護(hù)的映射關(guān)系,將頁(yè)表項(xiàng)中的物理地址替換為相應(yīng)的機(jī)器地址,最后再把修改正的頁(yè)表載入MMU。如此,MMU就可以根據(jù)修改正頁(yè)表直接完成虛擬地址到機(jī)器地址的轉(zhuǎn)換。2、內(nèi)存硬件輔助虛擬化內(nèi)存硬件輔助虛擬化技術(shù)原理圖內(nèi)存的硬件輔助虛擬化技術(shù)是用于替代虛擬化技術(shù)中軟件實(shí)現(xiàn)的“影子頁(yè)表〞的一種硬件輔助虛擬化技術(shù),其根本原理是:GVA〔客戶操作系統(tǒng)的虛擬地址〕->GPA〔客戶操作系統(tǒng)的物理地址〕->HPA〔宿主操作系統(tǒng)的物理地址〕兩次地址轉(zhuǎn)換都由CPU硬件自動(dòng)完成〔軟件實(shí)現(xiàn)內(nèi)存開銷大、性能差〕。以VT-x技術(shù)的頁(yè)表擴(kuò)大技術(shù)ExtendedPageTable〔EPT〕為例,首先VMM預(yù)先把客戶機(jī)物理地址轉(zhuǎn)換到機(jī)器地址的EPT頁(yè)表設(shè)置到CPU中;其次客戶機(jī)修改客戶機(jī)頁(yè)表無(wú)需VMM干預(yù);最后,地址轉(zhuǎn)換時(shí),CPU自動(dòng)查找兩張頁(yè)表完成客戶機(jī)虛擬地址到機(jī)器地址的轉(zhuǎn)換。使用內(nèi)存的硬件輔助虛擬化技術(shù),客戶機(jī)運(yùn)行過(guò)程中無(wú)需VMM干預(yù),去除了大量軟件開銷,內(nèi)存訪問(wèn)性能接近物理機(jī)。I/O設(shè)備虛擬化VMM通過(guò)I/O虛擬化來(lái)復(fù)用有限的外設(shè)資源,其通過(guò)截獲GuestOS對(duì)I/O設(shè)備的訪問(wèn)請(qǐng)求,然后通過(guò)軟件模擬真實(shí)的硬件,目前I/O設(shè)備的虛擬化方式主要有三種:設(shè)備接口完全模擬、前端/后端模擬、直接劃分。1、設(shè)備接口完全模擬:即軟件準(zhǔn)確模擬與物理設(shè)備完全一樣的接口,GuestOS驅(qū)動(dòng)無(wú)須修改就能驅(qū)動(dòng)這個(gè)虛擬設(shè)備,Vmware即使用該方法。優(yōu)點(diǎn):沒(méi)有額外的硬件開銷,可重用現(xiàn)有驅(qū)動(dòng)程序;缺點(diǎn):為完成一次操作要涉及到多個(gè)存放器的操作,使得VMM要截獲每個(gè)存放器訪問(wèn)并進(jìn)展相應(yīng)的模擬,這就導(dǎo)致屢次上下文切換;由于是軟件模擬,性能較低。2、前端/后端模擬:VMM提供一個(gè)簡(jiǎn)化的驅(qū)動(dòng)程序〔后端,Back-End〕,GuestOS中的驅(qū)動(dòng)程序?yàn)榍岸?Front-End,FE),前端驅(qū)動(dòng)將來(lái)自其他模塊的請(qǐng)求通過(guò)與GuestOS間的特殊通信機(jī)制直接發(fā)送給GuestOS的后端驅(qū)動(dòng),后端驅(qū)動(dòng)在處理完請(qǐng)求后再發(fā)回通知給前端,VMM即采用該方法。優(yōu)點(diǎn):基于事務(wù)的通信機(jī)制,能在很大程度上減少上下文切換開銷,沒(méi)有額外的硬件開銷;缺點(diǎn):需要GuestOS實(shí)現(xiàn)前端驅(qū)動(dòng),后端驅(qū)動(dòng)可能成為瓶頸。3、直接劃分:即直接將物理設(shè)備分配給某個(gè)GuestOS,由GuestOS直接訪問(wèn)I/O設(shè)備〔不經(jīng)VMM〕,目前與此相關(guān)的技術(shù)有IOMMU〔IntelVT-d,PCI-SIG之SR-IOV等〕,旨在建設(shè)高效的I/O虛擬化直通道。優(yōu)點(diǎn):可重用已有驅(qū)動(dòng),直接訪問(wèn)減少了虛擬化開銷;缺點(diǎn):需要購(gòu)置較多額外的硬件。aSV的技術(shù)特性內(nèi)存NUMA技術(shù)功能描述非統(tǒng)一內(nèi)存訪問(wèn)〔NUMA〕是服務(wù)器CPU和內(nèi)存設(shè)計(jì)的新架構(gòu)。傳統(tǒng)的服務(wù)器架構(gòu)下把內(nèi)存放到單一的存儲(chǔ)池中,這對(duì)于單處理器或單核心的系統(tǒng)工作良好。但是這種傳統(tǒng)的統(tǒng)一訪問(wèn)方式,在多核心同時(shí)訪問(wèn)內(nèi)存空間時(shí)會(huì)導(dǎo)致資源爭(zhēng)用和性能問(wèn)題。畢竟,CPU應(yīng)該可以訪問(wèn)所有的服務(wù)器內(nèi)存,但是不需要總是保持占用。實(shí)際上,CPU僅需要訪問(wèn)工作負(fù)載實(shí)際運(yùn)行時(shí)所需的內(nèi)存空間就可以了。因此NUMA改變了內(nèi)存對(duì)CPU的呈現(xiàn)方式。這是通過(guò)對(duì)服務(wù)器每個(gè)CPU的內(nèi)存進(jìn)展分區(qū)來(lái)實(shí)現(xiàn)的。每個(gè)分區(qū)〔或內(nèi)存塊〕稱為NUMA節(jié)點(diǎn),而和該分區(qū)相關(guān)的處理器可以更快地訪問(wèn)NUMA內(nèi)存,而且不需要和其它的NUMA節(jié)點(diǎn)爭(zhēng)用服務(wù)器上的資源〔其它的內(nèi)存分區(qū)分配給其它處理器〕。NUMA的概念跟緩存相關(guān)。處理器的速度要比內(nèi)存快得多,因此數(shù)據(jù)總是被移動(dòng)到更快的本地緩存,這里處理器訪問(wèn)的速度要比通用內(nèi)存快得多。NUMA本質(zhì)上為每個(gè)處理器配置了獨(dú)有的整體系統(tǒng)緩存,減少了多處理器試圖訪問(wèn)統(tǒng)一內(nèi)存空間時(shí)的爭(zhēng)用和延遲。NUMA與服務(wù)器虛擬化完全兼容,而且NUMA也可以支持任意一個(gè)處理器訪問(wèn)服務(wù)器上的任何一塊內(nèi)存區(qū)域。某個(gè)處理器當(dāng)然可以訪問(wèn)位于不同區(qū)域上的內(nèi)存數(shù)據(jù),但是需要更多本地NUMA節(jié)點(diǎn)之外的傳輸,并且需要目標(biāo)NUMA節(jié)點(diǎn)確實(shí)認(rèn)。這增加了整體開銷,影響了CPU和內(nèi)存子系統(tǒng)的性能。NUMA對(duì)虛擬機(jī)負(fù)載不存在任何兼容性問(wèn)題,但是理論上虛擬機(jī)最完美的方式應(yīng)該是在某個(gè)NUMA節(jié)點(diǎn)內(nèi)。這可以防止處理器需要跟其它的NUMA節(jié)點(diǎn)交互,從而導(dǎo)致工作負(fù)載性能下降。深信服的aSV支持NUMA技術(shù),使得hypervisor和上層OS內(nèi)存互連,這樣OS不會(huì)在CPU和NUMA節(jié)點(diǎn)之間遷移工作負(fù)載。SR-IOV功能描述:通常針對(duì)虛擬化服務(wù)器的技術(shù)是通過(guò)軟件模擬共享和虛擬化網(wǎng)絡(luò)適配器的一個(gè)物理端口,以滿足虛擬機(jī)的I/O需求,模擬軟件的多個(gè)層為虛擬機(jī)作了I/O決策,因此導(dǎo)致環(huán)境中出現(xiàn)瓶頸并影響I/O性能。aSV虛擬化平臺(tái)提供的SR-IOV是一種不需要軟件模擬就可以共享I/O設(shè)備I/O端口的物理功能的方法,主要利用iNIC實(shí)現(xiàn)網(wǎng)橋卸載虛擬網(wǎng)卡,允許將物理網(wǎng)絡(luò)適配器的SR-IOV虛擬功能直接分配給虛擬機(jī),可以提高網(wǎng)絡(luò)吞吐量,并縮短網(wǎng)絡(luò)延遲,同時(shí)減少處理網(wǎng)絡(luò)流量所需的主機(jī)CPU開銷。技術(shù)原理:SR-IOV〔SingleRootI/OVirtualization〕是PCI-SIG推出的一項(xiàng)標(biāo)準(zhǔn),是虛擬通道〔在物理網(wǎng)卡上對(duì)上層軟件系統(tǒng)虛擬出多個(gè)物理通道,每個(gè)通道具備獨(dú)立的I/O功能〕的一個(gè)技術(shù)實(shí)現(xiàn),用于將一個(gè)PCIe設(shè)備虛擬成多個(gè)PCIe設(shè)備,每個(gè)虛擬PCIe設(shè)備如同物理PCIe設(shè)備一樣向上層軟件提供服務(wù)。通過(guò)SR-IOV一個(gè)PCIe設(shè)備不僅可以導(dǎo)出多個(gè)PCI物理功能,還可以導(dǎo)出共享該I/O設(shè)備上的資源的一組虛擬功能,每個(gè)虛擬功能都可以被直接分配到一個(gè)虛擬機(jī),能夠讓網(wǎng)絡(luò)傳輸繞過(guò)軟件模擬層,直接分配到虛擬機(jī),實(shí)現(xiàn)了將PCI功能分配到多個(gè)虛擬接口以在虛擬化環(huán)境中共享一個(gè)PCI設(shè)備的目的,并且降低了軟加模擬層中的I/O開銷,因此實(shí)現(xiàn)了接近本機(jī)的性能。如以下列圖,在這個(gè)模型中,不需要任何透?jìng)?,因?yàn)樘摂M化在終端設(shè)備上發(fā)生,允許管理程序簡(jiǎn)單地將虛擬功能映射到VM上以實(shí)現(xiàn)本機(jī)設(shè)備性能和隔離安全。SR-IOV虛擬出的通道分為兩個(gè)類型:1、PF(PhysicalFunction)是完整的PCIe設(shè)備,包含了全面的管理、配置功能,Hypervisor通過(guò)PF來(lái)管理和配置網(wǎng)卡的所有I/O資源。2、VF(VirtualFunciton)是一個(gè)簡(jiǎn)化的PCIe設(shè)備,僅僅包含了I/O功能,通過(guò)PF衍生而來(lái)好象物理網(wǎng)卡硬件資源的一個(gè)切片,對(duì)于Hypervisor來(lái)說(shuō),這個(gè)VF同一塊普通的PCIe網(wǎng)卡一模一樣??蛻魞r(jià)值:可滿足高網(wǎng)絡(luò)IO應(yīng)用要求,無(wú)需特別安裝驅(qū)動(dòng),且無(wú)損熱遷移、內(nèi)存復(fù)用、虛擬機(jī)網(wǎng)絡(luò)管控等虛擬化特性。Faik-raid一般情況下,當(dāng)主機(jī)系統(tǒng)有多塊硬盤時(shí),通過(guò)組建Raid以提升磁盤性能或提供磁盤冗余,往往成為人們的首選考量。當(dāng)今主流raid實(shí)現(xiàn)方案大致可分為三種:硬件raid(hardwareraid):通過(guò)購(gòu)置昂貴的raid卡實(shí)現(xiàn)。軟件raid(softwareraid):通過(guò)操作系統(tǒng)內(nèi)軟件創(chuàng)立陣列,raid處理開銷由CPU負(fù)責(zé)。主板raid(fakeraid):通過(guò)主板內(nèi)建raid控制器創(chuàng)立陣列,由操作系統(tǒng)驅(qū)動(dòng)識(shí)別。相對(duì)于昂貴的硬件,主板raid(fakeraid)就成了我們不錯(cuò)的選擇。Fakeraid僅提供廉價(jià)的控制器,raid處理開銷仍由CPU負(fù)責(zé),因此性能與CPU占用根本與softwareraid持平。如果只有單個(gè)linux系統(tǒng),使用softwareraid一般比f(wàn)akeraid更強(qiáng)健,但是,在多啟動(dòng)環(huán)境中(例如windows與linux雙系統(tǒng)),為了使各個(gè)系統(tǒng)都能正確操作一樣的raid分區(qū),就必須使用fakeraid了。Linux下最重要的raid管理程序?yàn)镸DRAID。MDRAID是過(guò)濾不同文件系統(tǒng)〔比方說(shuō)ext2〕和比擬低級(jí)的磁盤驅(qū)動(dòng)〔比方說(shuō)AHCI驅(qū)動(dòng)和SAS驅(qū)動(dòng)〕之間數(shù)據(jù)的塊設(shè)備驅(qū)動(dòng)程序。以Intel的主板為例,在BIOS中有一塊可選的只讀存儲(chǔ)器元件〔或者光學(xué)只讀存儲(chǔ)器〕可以創(chuàng)立Intel快速存儲(chǔ)RAID卷并且在啟動(dòng)之前的環(huán)境中提供管理Intel快速存儲(chǔ)RAID卷的界面。在BIOS把控制權(quán)交給系統(tǒng)啟動(dòng)引導(dǎo)程序之前,這個(gè)只讀存儲(chǔ)在系統(tǒng)內(nèi)存中留下自己支持的RAID類型,比方RAID5。RAID管理程序MDRAID會(huì)讀到這份數(shù)據(jù),并決定當(dāng)創(chuàng)立Intel快速存儲(chǔ)RAID卷時(shí)該使用哪種RAID類型。aSV3.7融入了對(duì)Fake-RAID的支持,現(xiàn)可支持Fake-RAID安裝與使用Fake-RAID存儲(chǔ),目前可以使用intel模式的raid0,raid1,raid5,raid10,LSI模式的raid0虛擬機(jī)生命周期管理aSV提供了虛擬機(jī)從創(chuàng)立至刪除整個(gè)過(guò)程中的全面管理,就像人類的生命周期一樣,虛擬機(jī)最根本的生命周期就是創(chuàng)立、使用和刪除這三個(gè)狀態(tài)。當(dāng)然還包含如下幾個(gè)狀態(tài):創(chuàng)立虛擬機(jī)在虛擬機(jī)中安裝操作系統(tǒng)創(chuàng)立模板更新虛擬機(jī)硬件遷移虛擬機(jī)及/或虛擬機(jī)的存儲(chǔ)資源分析虛擬機(jī)的資源利用情況為虛擬機(jī)選擇數(shù)量適宜的內(nèi)存或磁盤資源/調(diào)整資源數(shù)量虛擬機(jī)備份虛擬機(jī)恢復(fù)刪除虛擬機(jī)在虛擬機(jī)生命周期內(nèi),虛擬機(jī)可能會(huì)在某一個(gè)時(shí)間點(diǎn)經(jīng)歷上述這些狀態(tài)。aSV提供了完善的虛擬機(jī)生命周期管理工具,我們可以通過(guò)對(duì)虛擬機(jī)生命周期的規(guī)劃,想要最大化的發(fā)揮虛擬機(jī)的作用。虛擬交換機(jī)虛擬交換機(jī)是虛擬網(wǎng)絡(luò)和物理網(wǎng)絡(luò)的紐帶,虛擬交換機(jī)運(yùn)行在虛擬服務(wù)器的Hypervisor內(nèi)部,虛擬機(jī)之間的流量、虛擬機(jī)到物理網(wǎng)絡(luò)之間的流量均通過(guò)vSwitch轉(zhuǎn)發(fā)。如圖:aSV提供了完善的虛擬交換機(jī)功能,包括:虛擬交換機(jī)端口Vlan的劃分,二層端口的類型切換,播送風(fēng)暴的抑制,端口流量的統(tǒng)計(jì),端口的狀態(tài)監(jiān)控。動(dòng)態(tài)資源調(diào)度在虛擬化環(huán)境中,如果生產(chǎn)環(huán)境的應(yīng)用整合到硬件資源相對(duì)匱乏的物理主機(jī)上,虛擬機(jī)的資源需求往往會(huì)成為瓶頸,全部資源需求很有可能超過(guò)主機(jī)的可用資源,這樣業(yè)務(wù)系統(tǒng)的性能也無(wú)法保障。aSV虛擬化管理平臺(tái)提供的動(dòng)態(tài)資源調(diào)度特性引入一個(gè)自動(dòng)化機(jī)制,通過(guò)持續(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ù)庫(kù)虛擬機(jī)〕,只要開啟了動(dòng)態(tài)資源調(diào)度功能,就可實(shí)現(xiàn)全自動(dòng)化的資源分配和負(fù)載平衡功能,也可以顯著地降低數(shù)據(jù)中心的本錢與運(yùn)營(yíng)費(fèi)用。aSV的動(dòng)態(tài)資源調(diào)度功能通過(guò)跨越集群之間的心跳機(jī)制,定時(shí)監(jiān)測(cè)集群內(nèi)主機(jī)的CPU和內(nèi)存等計(jì)算資源的利用率,并根據(jù)用戶自定義的規(guī)則來(lái)判斷是否需要為該主機(jī)在集群內(nèi)尋找有更多可用資源的主機(jī),以將該主機(jī)上的虛擬機(jī)遷移到另外一臺(tái)具有更多適宜資源的服務(wù)器上,或者將該服務(wù)器上其它的虛擬機(jī)遷移出去,從而保證某個(gè)關(guān)鍵虛擬機(jī)的資源需求。aSV的特色技術(shù)快虛在實(shí)際的IT應(yīng)用系統(tǒng)在部署虛擬化的時(shí)候,會(huì)存在虛擬化遷移的需求,為了實(shí)現(xiàn)將windows主機(jī)系統(tǒng)下的應(yīng)用系統(tǒng)平滑的遷移至VM環(huán)境中,除了傳統(tǒng)的P2V、V2V工具,深信服采用技術(shù)創(chuàng)新,基于Windows環(huán)境中,推出了獨(dú)有的快虛技術(shù)??焯摷夹g(shù)實(shí)現(xiàn)原理為:在Windows環(huán)境下,先創(chuàng)立一個(gè)虛擬磁盤文件,并使用Windows驅(qū)動(dòng)程序?qū)μ摂M磁盤進(jìn)展保護(hù),保證虛擬磁盤文件占用的物理扇區(qū)不會(huì)被移動(dòng).獲取虛擬磁盤文件所占的物理簇信息,并保存到當(dāng)前系統(tǒng)盤下的配置文件中,安裝aSV的引導(dǎo)程序以及內(nèi)核到當(dāng)前Windows系統(tǒng)盤下,安裝系統(tǒng)引導(dǎo)程序,并向系統(tǒng)引導(dǎo)中添加aSV的引導(dǎo)項(xiàng),默認(rèn)引導(dǎo)到aSV系統(tǒng).當(dāng)在aSV中向虛擬磁盤讀寫數(shù)據(jù)時(shí),虛擬磁盤驅(qū)動(dòng)根據(jù)讀寫的扇區(qū)位置重新定位到虛擬磁盤文件所對(duì)應(yīng)的物理扇區(qū),實(shí)現(xiàn)數(shù)據(jù)的存取,下次進(jìn)入aSV系統(tǒng)后仍然可以讀寫已有數(shù)據(jù)。通過(guò)快虛技術(shù),既實(shí)現(xiàn)了將應(yīng)用環(huán)境遷移到了虛擬機(jī)環(huán)境中,同時(shí)在現(xiàn)有的物理主機(jī)服務(wù)器之上,快速的構(gòu)建了虛擬化底層的hypervisor。虛擬機(jī)熱遷移虛擬化環(huán)境中,物理服務(wù)器和存儲(chǔ)上承載更多的業(yè)務(wù)和數(shù)據(jù),設(shè)備故障時(shí)造成的影響更大。aSV虛擬化平臺(tái)提供虛擬機(jī)熱遷移技術(shù),降低宕機(jī)帶來(lái)的風(fēng)險(xiǎn)、減少業(yè)務(wù)中斷的時(shí)間。aSV虛擬機(jī)熱遷移技術(shù)是指把一個(gè)虛擬機(jī)從一臺(tái)物理服務(wù)器遷移到另一臺(tái)物理服務(wù)器上,即虛擬機(jī)保存/恢復(fù)(Save/Restore)。首先將整個(gè)虛擬機(jī)的運(yùn)行狀態(tài)完整保存下來(lái),同時(shí)可以快速的恢復(fù)到目標(biāo)硬件平臺(tái)上,恢復(fù)以后虛擬機(jī)仍舊平滑運(yùn)行,用戶不會(huì)覺(jué)察到任何差異。虛擬機(jī)的熱遷移技術(shù)主要被用于雙機(jī)容錯(cuò)、負(fù)載均衡和節(jié)能降耗等應(yīng)用場(chǎng)景。aSV虛擬化平臺(tái)熱遷移提供內(nèi)存壓縮技術(shù),使熱遷移效率提升一倍,可支持并發(fā)8臺(tái)虛擬機(jī)同時(shí)遷移。功能價(jià)值:1.在設(shè)備維護(hù)過(guò)程中,通過(guò)熱遷移手動(dòng)將應(yīng)用遷移至另一臺(tái)服務(wù)器,維護(hù)完畢后再遷回來(lái),中間應(yīng)用不停機(jī),減少方案內(nèi)宕機(jī)時(shí)間。2.可結(jié)合資源動(dòng)態(tài)調(diào)度策略,例如在夜晚虛擬機(jī)負(fù)荷減少時(shí),通過(guò)預(yù)先配置自動(dòng)將虛擬機(jī)遷移集中至局部服務(wù)器,減少服務(wù)器的運(yùn)行數(shù)量,從而降低設(shè)備運(yùn)營(yíng)能耗上的支出。虛擬磁盤加密在虛擬化環(huán)境中,虛擬機(jī)的磁盤文件是沒(méi)有加密的,磁盤中的業(yè)務(wù)數(shù)據(jù)會(huì)存在泄漏的威脅。而對(duì)于數(shù)據(jù)保密程度要求較高的場(chǎng)景,可采用磁盤加密技術(shù),保證即使磁盤文件被竊取了,也無(wú)法獲取其中的數(shù)據(jù)。aSV提供了磁盤加密技術(shù),保障用戶業(yè)務(wù)的磁盤數(shù)據(jù)的安全防泄漏。aSV環(huán)境中,虛擬機(jī)鏡像是Qcow2格式的,Qcow2自身就支持用戶數(shù)據(jù)加密功能,VMP在其加密功能的根基上進(jìn)展了修改,使其更加強(qiáng)健。Qcow2只支持AES加密算法,VMP為其添加了RC4加密算法。VMP環(huán)境中僅支持對(duì)Qcow2格式的鏡像文件進(jìn)展加密,加密算法選用RC4,且不可以更換。虛擬機(jī)鏡像文件的密鑰〔以下簡(jiǎn)稱密碼〕由VDC管理,當(dāng)VDC通過(guò)VMP接口操作虛擬機(jī)時(shí),可以指定磁盤是否需要加密及對(duì)應(yīng)的密碼。如果一個(gè)虛擬機(jī)有多個(gè)磁盤需要加密,各磁盤可以分別指定密碼。虛擬機(jī)一旦創(chuàng)立成功,密碼不允許修改。VMP環(huán)境中使用密碼時(shí),會(huì)修改命令行參數(shù)中的密碼字符串為“*〞,防止管理員通過(guò)ps命令查看到密碼。前面提到的保存在鏡像文件中的經(jīng)過(guò)加密的密鑰,為了防止使用密碼字典或窮舉等方式暴力破解加密的鏡像文件,要求加密函數(shù)的執(zhí)行時(shí)間不能太短,可以使用重復(fù)加密的方式來(lái)到達(dá)這個(gè)目的。虛擬機(jī)的HAHA全稱是HighAvailability(高可用性)。在aSV環(huán)境中,HA虛擬機(jī)所連接的物理口網(wǎng)線被拔出、或存儲(chǔ)不能訪問(wèn)時(shí),會(huì)將此虛擬機(jī)切換到其他的主機(jī)運(yùn)行,保障虛擬機(jī)上的業(yè)務(wù)正常使用。aSV存在后臺(tái)進(jìn)程,通過(guò)輪詢的機(jī)制,每隔5s檢測(cè)一次虛擬機(jī)狀態(tài)是否異常,發(fā)現(xiàn)異常時(shí),切換HA虛擬機(jī)到其他主機(jī)運(yùn)行。下面任意一種情況發(fā)生,都會(huì)觸發(fā)HA虛擬機(jī)切換主機(jī),1、連續(xù)三次檢測(cè)到,虛擬機(jī)所連接的物理網(wǎng)卡被拔出〔不包括網(wǎng)卡被禁用情況〕2、連續(xù)兩次檢測(cè)到,虛擬機(jī)當(dāng)前主機(jī)無(wú)法訪問(wèn)虛擬機(jī)的存儲(chǔ)通過(guò)aSV的HA技術(shù),對(duì)業(yè)務(wù)系統(tǒng)提供了高可用性,極大縮短了由于各種故障引起的業(yè)務(wù)中斷時(shí)間。多USB映射當(dāng)物理服務(wù)器部署虛擬化之后。其中類似金蝶等需要通過(guò)usbkey進(jìn)展應(yīng)用加密的服務(wù)器,轉(zhuǎn)化到虛擬化后,需要將插在虛擬化平臺(tái)上的硬件key,映射給虛擬機(jī),而且需要滿足虛擬機(jī)熱遷移、跨主機(jī)映射的需求。業(yè)界給出的方案有三種:一、采用主機(jī)映射:直接采用主機(jī)映射的方式來(lái)完成,缺點(diǎn)是不支持網(wǎng)絡(luò)映射,無(wú)法支持熱遷移、網(wǎng)絡(luò)映射的需求。二、采用UsbAnywhere:通過(guò)使用中間設(shè)備,將中間設(shè)備IP化,然后在虛擬機(jī)上安裝驅(qū)動(dòng)并配置對(duì)端設(shè)備的方式進(jìn)展的。缺點(diǎn)是需要guest虛擬機(jī)內(nèi)部進(jìn)展修改安裝特定軟件,與第三方應(yīng)用進(jìn)展配合才能完成。三、采用底層硬件虛擬化加網(wǎng)絡(luò)代理:支持熱遷移、網(wǎng)絡(luò)映射、無(wú)需修改guest機(jī)內(nèi)部。最終實(shí)現(xiàn),物理設(shè)備遷移到虛擬化平臺(tái)后,可以直接無(wú)縫的操作讀取原usb硬件設(shè)備。同時(shí)解決上述兩種方案中的缺陷,破除了在虛擬化推廣中外設(shè)映射造成的阻礙。熱遷移功能的實(shí)現(xiàn)機(jī)制:由于整體方案是基于網(wǎng)絡(luò)代理處理,所以在遷移到對(duì)端設(shè)備,進(jìn)展虛擬機(jī)切換時(shí),發(fā)送消息,觸發(fā)usb服務(wù)程序修改連接的目的端ip,然后發(fā)起網(wǎng)絡(luò)重連。隧道一旦重連成功,usb設(shè)備通信隨即恢復(fù),對(duì)于guest上層來(lái)說(shuō),是無(wú)感知的。aSV采用上述的第三種方案,融入了對(duì)多USB的支持,帶來(lái)的優(yōu)勢(shì)有:1、usb設(shè)備動(dòng)態(tài)插入提示2、guest虛擬機(jī)無(wú)需安裝插件;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)重映射。aSAN存儲(chǔ)虛擬化存儲(chǔ)虛擬化概述虛擬后對(duì)存儲(chǔ)帶來(lái)的挑戰(zhàn)虛擬機(jī)技術(shù)給服務(wù)器帶來(lái)更高的利用率、給業(yè)務(wù)帶來(lái)更便捷的部署,降低了TCO,與此同時(shí),虛擬機(jī)應(yīng)用給存儲(chǔ)帶來(lái)以下挑戰(zhàn):第一,相比傳統(tǒng)的物理服務(wù)器方式,單個(gè)存儲(chǔ)系統(tǒng)承載了更多的業(yè)務(wù),存儲(chǔ)系統(tǒng)需要更強(qiáng)勁的性能來(lái)支撐;第二,采用共享存儲(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ī)訪問(wèn)競(jìng)爭(zhēng),保證對(duì)QoS要求高的虛擬機(jī)獲取到資源實(shí)現(xiàn)性能目標(biāo);第四,單個(gè)卷上承載較多的虛擬機(jī),需要卷具有很高的IO性能,這對(duì)傳統(tǒng)受限于固定硬盤的RAID技術(shù)提出挑戰(zhàn);第五,虛擬機(jī)的廣泛使用,需要更加高效的技術(shù)來(lái)提高虛擬機(jī)的部署效率,加快新業(yè)務(wù)的上線時(shí)間。分布式存儲(chǔ)技術(shù)的開展業(yè)界典型的分布式存儲(chǔ)技術(shù)主要有分布式文件系統(tǒng)存儲(chǔ)、分布式對(duì)象存儲(chǔ)和分布式塊設(shè)備存儲(chǔ)等幾種形式。分布式存儲(chǔ)技術(shù)及其軟件產(chǎn)品已經(jīng)日趨成熟,并在IT行業(yè)得到了廣泛的使用和驗(yàn)證,例如互聯(lián)網(wǎng)搜索引擎中使用的分布式文件存儲(chǔ),商業(yè)化公有云中使用的分布式塊存儲(chǔ)等。分布式存儲(chǔ)軟件系統(tǒng)具有以下特點(diǎn):第一,高性能:數(shù)據(jù)分散存放,實(shí)現(xiàn)全局負(fù)載均衡,不存在集中的數(shù)據(jù)熱點(diǎn),大容量分布式緩存;第二,高可靠:采用集群管理方式,不存在單點(diǎn)故障,靈活配置多數(shù)據(jù)副本,不同數(shù)據(jù)副本存放在不同的機(jī)架、服務(wù)器和硬盤上,單個(gè)物理設(shè)備故障不影響業(yè)務(wù)的使用,系統(tǒng)檢測(cè)到設(shè)備故障后可以自動(dòng)重建數(shù)據(jù)副本;第三,高擴(kuò)展:沒(méi)有集中式機(jī)頭,支持平滑擴(kuò)容,容量幾乎不受限制;第四,易管理:存儲(chǔ)軟件直接部署在服務(wù)器上,沒(méi)有單獨(dú)的存儲(chǔ)專用硬件設(shè)備,通過(guò)WebUI的方式進(jìn)展軟件管理,配置簡(jiǎn)單。深信服aSAN概述在充分掌握了用戶需求的根基上,深信服的超融合架構(gòu)中,推出以aSAN分布式存儲(chǔ)軟件為核心的解決方案,深信服虛擬存儲(chǔ)〔簡(jiǎn)稱aSAN〕是基于分布式文件系統(tǒng)開發(fā)的面對(duì)存儲(chǔ)虛擬化趨勢(shì)的一款產(chǎn)品。當(dāng)前aSAN集成在虛擬化管理平臺(tái)上面,通過(guò)網(wǎng)絡(luò)整合管理集群內(nèi)所有服務(wù)器的硬盤〔系統(tǒng)盤除外〕。aSAN屬于超融合解決方案中專門為云計(jì)算環(huán)境而設(shè)計(jì)、面向一體化市場(chǎng)應(yīng)用的新一代產(chǎn)品,融合分布式緩存、SSD緩存加速、全局負(fù)載均衡、及多重?cái)?shù)據(jù)保護(hù)等諸多存儲(chǔ)技術(shù),能夠滿足關(guān)鍵業(yè)務(wù)的需求,保證客戶業(yè)務(wù)高效穩(wěn)定運(yùn)行。aSAN技術(shù)原理aSAN通過(guò)主機(jī)管理、磁盤管理、緩存技術(shù)、存儲(chǔ)網(wǎng)絡(luò)、冗余副本等技術(shù),管理集群內(nèi)所有硬盤,“池化〞集群所有硬盤存儲(chǔ)的空間,通過(guò)向VMP提供訪問(wèn)接口,使得虛擬機(jī)可以進(jìn)展業(yè)務(wù)數(shù)據(jù)的保存、管理和讀寫等整個(gè)存儲(chǔ)過(guò)程中的操作。主機(jī)管理aSAN需要基于VMP集群獲取集群內(nèi)主機(jī)信息,因此在構(gòu)建aSAN時(shí),首先會(huì)要求建設(shè)VMP集群,所以在aSAN的環(huán)境中,至少需要2臺(tái)節(jié)點(diǎn)來(lái)構(gòu)建aSAN主機(jī)。文件副本由于下一節(jié)磁盤管理的策略與副本設(shè)置有直接收理,因此在講解磁盤管理前,我們要先介紹文件副本技術(shù)。所謂文件副本,即將文件數(shù)據(jù)保存多份的一種冗余技術(shù)。aSAN副本顆粒度是文件級(jí)別。例如2副本,即把文件A同時(shí)保存到磁盤1和磁盤2上。并且保證在無(wú)故障情況下,2個(gè)副本始終保持一致。技術(shù)特點(diǎn):存儲(chǔ)池可用空間=集群全部機(jī)械磁盤空間/副本數(shù)〔同構(gòu)情況〕,因此副本是會(huì)降低實(shí)際可用容量的。服務(wù)層是提供應(yīng)上層服務(wù)的訪問(wèn)入口,以目錄掛載點(diǎn)的方式提供。服務(wù)層看到的文件A實(shí)際是個(gè)被底層管理轉(zhuǎn)化后的邏輯視圖。底層管理的副本對(duì)上層服務(wù)是透明的,上層無(wú)法感知副本的存在。磁盤管理、副本分布由底層服務(wù)負(fù)責(zé),副本顆粒度是文件級(jí)。在沒(méi)有故障等異常情況下,文件副本數(shù)據(jù)是始終一致的,不存在所謂主副本和備副本之分。如果對(duì)文件A進(jìn)展修改,如寫入一段數(shù)據(jù),這段數(shù)據(jù)會(huì)被同時(shí)寫到2個(gè)副本文件。如果是從文件A讀取一段數(shù)據(jù),則只會(huì)從其中一個(gè)副本讀取。磁盤管理aSAN磁盤管理服務(wù)根據(jù)集群內(nèi)主機(jī)數(shù)和aSAN初始化時(shí)所選擇的副本數(shù)決定集群內(nèi)所有受管磁盤的組織策略。在多主機(jī)集群下,采用2副本或3副本組建aSAN的磁盤管理,為了支持主機(jī)故障而不影響數(shù)據(jù)完整性的目標(biāo),復(fù)制卷的磁盤組的每個(gè)磁盤都必須是在不同主機(jī)上。即需要做到跨主機(jī)副本??缰鳈C(jī)副本的關(guān)鍵在于復(fù)制卷磁盤分組算法。注意:下面的例子討論的主機(jī)都屬于同構(gòu)情況,即可每臺(tái)主機(jī)的磁盤個(gè)數(shù)、磁盤容量是一樣的情況,主機(jī)磁盤數(shù)異構(gòu)場(chǎng)景后文再另外表達(dá)。我們先從簡(jiǎn)單的場(chǎng)景開場(chǎng),當(dāng)主機(jī)數(shù)、集群磁盤數(shù)都可以被副本數(shù)整除時(shí)。如2主機(jī),每主機(jī)3個(gè)磁盤〔共6個(gè)〕組建2副本aSAN為例:2副本下,2主機(jī),主機(jī)磁盤數(shù)一樣時(shí)。主機(jī)間的磁盤會(huì)一一對(duì)應(yīng)組成復(fù)制卷。邏輯視圖如下:從邏輯視圖上,可以看出來(lái)和前文的單主機(jī)邏輯視圖并沒(méi)有本質(zhì)上的區(qū)別,只是最底層的磁盤分組時(shí),保證了復(fù)制卷內(nèi)下面的磁盤不在同一主機(jī)內(nèi),從而到達(dá)了文件跨主機(jī)副本的目標(biāo)。如果采用3主機(jī)建設(shè)3副本,分組方式也是類似的。SSD讀緩存原理在aSAN里面,會(huì)默認(rèn)把系統(tǒng)內(nèi)的SSD磁盤作為緩存盤使用。在aSAN1.X版本,SSD磁盤只作為讀緩存使用,aSAN2.0開場(chǎng)支持SSD寫緩存。下面介紹aSANSSD讀緩存原理。首先需要區(qū)分aSAN客戶端和服務(wù)端概念。在aSAN里面,負(fù)責(zé)處理底層磁盤IO稱為服務(wù)端;負(fù)責(zé)向上層提供存儲(chǔ)接口〔如訪問(wèn)的掛載點(diǎn)〕稱為客戶端。aSANSSD讀緩存工作在客戶端,而aSAN2.0的SSD寫緩存則工作在服務(wù)端。邏輯視圖如下:下面拋開底層的分布卷、復(fù)制卷、磁盤分組等概念,僅在客戶端上理解SSD讀緩存的原理。簡(jiǎn)單地看,SSD讀緩存模塊工作在文件訪問(wèn)入口和服務(wù)端通信層之間。所有對(duì)文件的IO動(dòng)作都會(huì)經(jīng)過(guò)SSD讀緩存模塊進(jìn)展處理。下面分別針對(duì)首次文件讀取、二次文件讀取、文件寫入3個(gè)過(guò)程說(shuō)明工作流程。SSD讀緩存的緩存顆粒度是按文件數(shù)據(jù)塊緩存,不是文件整體。例如,A、B、C3個(gè)文件,可以分別各緩存讀過(guò)的一局部數(shù)據(jù),沒(méi)讀過(guò)的局部不緩存。首次文件讀取未緩存數(shù)據(jù)塊的首次讀操作步驟說(shuō)明:從上層下來(lái)一個(gè)針對(duì)A文件的區(qū)間塊[A1,A2]的讀操作,由于該數(shù)據(jù)塊是首次讀取,沒(méi)命中SSD讀緩存。該讀操作會(huì)直接傳遞到下去,進(jìn)入流程2。[A1,A2]的讀操作繼續(xù)傳遞到服務(wù)端,進(jìn)展具體的讀操作,完成后返回,進(jìn)入流程3數(shù)據(jù)塊[A1,A2]在流程3里面返回到SSD讀緩存模塊,進(jìn)入流程4SSD讀緩存模塊會(huì)把數(shù)據(jù)塊[A1,A2]復(fù)制一份保存到SSD磁盤并建設(shè)相關(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ì)原操作造成延時(shí)。至此,數(shù)據(jù)塊[A1,A2]就被保存到SSD磁盤內(nèi),以備下次讀取直接從SSD磁盤讀取。二次文件讀取針對(duì)已緩存數(shù)據(jù)塊的二次讀取步驟說(shuō)明:假設(shè)數(shù)據(jù)塊[A1,A2]已經(jīng)緩存到SSD磁盤內(nèi)。從上層下來(lái)一個(gè)同樣是針對(duì)A文件的區(qū)間塊[A1,A2]的讀操作由于該數(shù)據(jù)塊[A1,A2]已經(jīng)有緩存,在SSD讀緩存模塊里面命中索引,從而直接向SSD磁盤發(fā)起讀出緩存數(shù)據(jù)塊[A1,A2]的操作。緩存數(shù)據(jù)塊[A1,A2]從SSD磁盤返回到SSD讀緩存模塊,進(jìn)入流程4SSD讀緩存模塊把緩存數(shù)據(jù)塊[A1,A2]返回給上層至此,對(duì)緩存數(shù)據(jù)塊[A1,A2]的重復(fù)讀取直接在客戶端返回,防止了服務(wù)端通信的流程,從而減少了延時(shí)和減輕了底層磁盤的IO壓力。文件寫入雖然當(dāng)前aSAN實(shí)現(xiàn)的讀緩存,但對(duì)于文件寫入操作,也需要做相應(yīng)的處理,以保證緩存的內(nèi)容始終和底層磁盤一致,并且是最新的。但這個(gè)針對(duì)文件寫入的處理并不是寫緩存。aSAN讀緩存模塊對(duì)寫操作進(jìn)展處理實(shí)質(zhì)是基于最近訪問(wèn)原則,即最近寫入的數(shù)據(jù)在不久的將來(lái)被讀出的概率會(huì)比擬高,例如文件共享服務(wù)器,某人傳到文件服務(wù)器的文件,很快會(huì)其他人讀出來(lái)下載。aSAN讀緩存對(duì)寫操作的處理從實(shí)現(xiàn)上分為首次寫預(yù)緩存、二次寫更新緩存。文件塊首次寫預(yù)緩存流程說(shuō)明:假設(shè)數(shù)據(jù)塊[A1,A2]是首次寫入。寫操作寫來(lái)經(jīng)過(guò)SSD讀緩存模塊。由于是寫操作,SSD讀緩存會(huì)直接PASS到下層寫操作一直傳遞到服務(wù)端,寫入到底層磁盤,操作完成后會(huì)返回結(jié)果,進(jìn)入流程3返回結(jié)果經(jīng)過(guò)SSD讀緩存模塊,如果返回結(jié)果是成功的,表示底層數(shù)據(jù)已經(jīng)成功寫入,則進(jìn)入流程4。如果返回結(jié)果是失敗,則不會(huì)進(jìn)入流程4,而是直接返回結(jié)果到上層。SSD讀緩存模塊會(huì)把數(shù)據(jù)塊[A1,A2]復(fù)制一份保存到SSD磁盤并建設(shè)相關(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磁盤上,以備下次訪問(wèn)。下次訪問(wèn)的流程與二次文件讀取流程一樣。文件塊二次寫更新緩存SSD讀緩存文件塊寫更新是指對(duì)SSD讀緩存已緩存的數(shù)據(jù)塊進(jìn)展更新的動(dòng)作。假設(shè)數(shù)據(jù)塊[A1,A2]原來(lái)已經(jīng)有緩存了,現(xiàn)在上層再次對(duì)[A1,A2]來(lái)一次寫操作〔例如更新內(nèi)容〕。寫操作寫來(lái)經(jīng)過(guò)SSD讀緩存模塊,由于是寫操作,SSD讀緩存會(huì)直接PASS到下層寫操作一直傳遞到服務(wù)端,寫入到底層磁盤,操作完成后會(huì)返回結(jié)果,進(jìn)入流程3返回結(jié)果經(jīng)過(guò)SSD讀緩存模塊,如果返回結(jié)果是成功的,表示底層數(shù)據(jù)已經(jīng)成功寫入,可以更新SSD讀緩存數(shù)據(jù),進(jìn)入流程4。如果返回結(jié)果是失敗,則不會(huì)進(jìn)入更新流程。SSD讀緩存模塊會(huì)把數(shù)據(jù)塊[A1,A2]復(fù)制一份更新到SSD磁盤并建設(shè)相關(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開場(chǎng)支持。如前文所說(shuō),SSD寫緩存工作在服務(wù)端。由于寫緩存工作在服務(wù)端,也就是說(shuō)在每個(gè)副本上都有寫緩存,即SSD寫緩存也是多副本的。即使有SSD磁盤突然損壞,也能在副本數(shù)范圍內(nèi)保證數(shù)據(jù)的安全。SSD寫緩存模塊構(gòu)造SSD寫緩存原理是在機(jī)械硬盤上增加一層SSD寫緩存層,見(jiàn)以下列圖:SSD寫緩存數(shù)據(jù)流分成藍(lán)色和紅色兩局部。這兩局部是同時(shí)在運(yùn)行的,沒(méi)有先后關(guān)系。藍(lán)色局部是虛擬機(jī)有數(shù)據(jù)寫入SSD緩存,紅色局部是從SSD緩存讀出數(shù)據(jù)回寫到機(jī)械磁盤。流程如下:上層寫入數(shù)據(jù)請(qǐng)求到達(dá)SSD寫緩存模塊SSD寫緩存模塊把數(shù)據(jù)寫入到SSD磁盤,并獲得返回值。SSD寫緩存模塊在確定數(shù)據(jù)寫入SSD磁盤后,即立即返回上層模塊寫入成功SSD寫緩存模塊在緩存數(shù)據(jù)累計(jì)到一定量后,從SSD磁盤讀出數(shù)據(jù)SSD寫緩存把從SSD磁盤讀出的數(shù)據(jù)回寫到機(jī)械磁盤。其中,第4、5步是在后臺(tái)自動(dòng)進(jìn)展的,不會(huì)干擾第1、2、3步的邏輯。SSD寫緩存數(shù)據(jù)讀命中從SSD磁盤回寫到機(jī)械磁盤是需要累積一定數(shù)據(jù)量后才會(huì)進(jìn)展觸發(fā)的。這時(shí)如果來(lái)了一個(gè)讀數(shù)據(jù)的請(qǐng)求,SSD寫緩存模塊會(huì)先確認(rèn)該讀請(qǐng)求是否在SSD寫緩存數(shù)據(jù)內(nèi),如果有則從SSD緩存內(nèi)返回;如果沒(méi)有則透到機(jī)械硬盤去讀取。流程說(shuō)明:上層下發(fā)讀請(qǐng)求SSD寫緩存模塊先檢查數(shù)據(jù)是否還在緩存內(nèi)未回寫命中緩存,返回?cái)?shù)據(jù)〔如果不命中緩存,則會(huì)返回從底層數(shù)據(jù)盤讀取〕向上層返回?cái)?shù)據(jù)SSD寫緩存寫滿后處理如果上層持續(xù)對(duì)SSD寫緩存進(jìn)展大量不連續(xù)的數(shù)據(jù)寫入,直到SSD寫緩存空間用完。這時(shí)的上次繼續(xù)寫入數(shù)據(jù)的速度就會(huì)下降至約等于寫緩存回寫機(jī)械盤的速度。當(dāng)SSD磁盤用滿時(shí)會(huì)出現(xiàn)寫入數(shù)據(jù)流速度<=回寫數(shù)據(jù)流速度。在虛擬機(jī)層面看,就是寫入數(shù)據(jù)下降到機(jī)械盤速度。如果持續(xù)出現(xiàn)這種情況,說(shuō)明SSD磁盤容量缺乏以應(yīng)對(duì)業(yè)務(wù)IO寫性能,需要增加SSD緩存盤解決。當(dāng)SSD磁盤故障或離線時(shí)的處理如前文所說(shuō),SSD寫緩存工作于brick服務(wù)端,有多副本機(jī)制。在多主機(jī)多副本場(chǎng)景下,如果一個(gè)SSD磁盤損壞后,其他副本的SSD還正常情況下,對(duì)數(shù)據(jù)安全不會(huì)造成影響。但對(duì)寫入性能會(huì)有影響。一旦SSD離線超過(guò)10分鐘,緩存數(shù)據(jù)就視作失效,進(jìn)入副本修復(fù)流程。由于所有數(shù)據(jù)都是被SSD接收的,這時(shí)的數(shù)據(jù)修復(fù)量會(huì)非常大。因此如果是誤拔出SSD硬盤,需要在10分鐘內(nèi)插回來(lái),否則會(huì)認(rèn)為該副本數(shù)據(jù)全部需要重建磁盤故障處理機(jī)制人工介入替換故障磁盤當(dāng)磁盤出現(xiàn)故障后,在WEBUI上可以看到如下提示:〔或顯示為磁盤損壞〕這時(shí)拔出故障磁盤,插入容量不低于故障磁盤的新磁盤,點(diǎn)擊“更新磁盤〞按步驟操作即可。更換故障磁盤的內(nèi)部過(guò)程:故障磁盤在出現(xiàn)故障時(shí),對(duì)應(yīng)磁盤的服務(wù)會(huì)先停頓完成新磁盤替換后,服務(wù)會(huì)重新啟動(dòng)新磁盤對(duì)應(yīng)的服務(wù)啟動(dòng)后,發(fā)現(xiàn)其所在復(fù)制卷1上的另一個(gè)磁盤是A1,會(huì)根據(jù)A1的數(shù)據(jù)重建副本,即復(fù)制所有文件建設(shè)新副本。整個(gè)重建過(guò)程在線進(jìn)展,無(wú)需關(guān)停機(jī),副本重建過(guò)程不中斷業(yè)務(wù)。比照RAID系統(tǒng),需要關(guān)機(jī)中斷業(yè)務(wù)重建數(shù)據(jù)是一大優(yōu)勢(shì)。磁盤故障超時(shí)后aSAN自動(dòng)重建如果在磁盤故障后,超過(guò)了設(shè)置的超時(shí)時(shí)間依然沒(méi)有人工介入處理,aSAN將會(huì)自動(dòng)進(jìn)展數(shù)據(jù)重建,以保證數(shù)據(jù)副本數(shù)完備,確保數(shù)據(jù)可靠性。同時(shí)采用了熱備盤的保障機(jī)制。在aSAN1.2版本里面,在初始化階段會(huì)自動(dòng)配置至少把集群里副本數(shù)個(gè)磁盤作為熱備盤。注意不是每個(gè)主機(jī)一個(gè)熱備盤,而是一個(gè)集群里面全局使用。熱備盤在初始化時(shí)不會(huì)納入aSAN復(fù)制卷內(nèi),只是作為一個(gè)不使用的磁盤帶電存在,因此熱備盤的空間不會(huì)反映到aSAN的空間里面。例如2副本時(shí)會(huì)至少保存2個(gè)熱備盤,3副本時(shí)會(huì)至少保存3個(gè)熱備盤。這些熱備盤不會(huì)集中在一個(gè)主機(jī)上面,而是分布在不同主機(jī)上〔符合副本跨主機(jī)原則〕。下面以3主機(jī)2副本,每主機(jī)4個(gè)硬盤為例子。上圖是3主機(jī)2副本,每主機(jī)4磁盤的分組例子。其中磁盤A4、磁盤C3是作為熱備盤保存的,并沒(méi)有組成復(fù)制卷參加到aSAN存儲(chǔ)池內(nèi)。當(dāng)任何一個(gè)主機(jī)的任意一個(gè)硬盤發(fā)生故障時(shí),都可以按照跨主機(jī)副本原則自動(dòng)使用A4或者C3來(lái)替換。例1:C2損壞〔C3或者A4均可以用作替換〕例2:A3損壞〔C3或者A4均可以用作替換〕例3:B4損壞〔注意:這時(shí)只能用A4替換,原因是C3和C4同主機(jī)〕在aSAN自動(dòng)使用熱備盤替換故障磁盤后,再去UI替換故障硬盤〔或顯示為磁盤損壞〕在aSAN自動(dòng)使用熱備盤替換故障磁盤后,UI上依然會(huì)顯示原來(lái)的故障磁盤損壞,可以進(jìn)展更換磁盤。這時(shí)新替換的硬盤會(huì)作為新熱備盤使用,不需要執(zhí)行數(shù)據(jù)回遷。這一點(diǎn)與前文沒(méi)有熱備盤會(huì)做數(shù)據(jù)回遷是不一樣的。以上面例子3為例,B4損壞后,熱備盤A4自動(dòng)替換B4和C4建成新復(fù)制卷5。然后人工介入,把損壞的B4用新磁盤替換,這時(shí)新B4會(huì)直接做熱備盤使用,不再由數(shù)據(jù)回遷。故障磁盤替換所有過(guò)程都可以帶業(yè)務(wù)進(jìn)展,不需要停機(jī)停頓業(yè)務(wù),就可以完成故障磁盤的替換,數(shù)據(jù)重建,相比RAID系統(tǒng)停業(yè)務(wù)重建有更大的可用性。主機(jī)故障處理aSAN在多主機(jī)集群下,復(fù)制卷有個(gè)最高原則:跨主機(jī)建設(shè)復(fù)制卷。該原則的目的是為了到達(dá)在主機(jī)出現(xiàn)故障時(shí),數(shù)據(jù)依然可用。最簡(jiǎn)單例子如下:主機(jī)A主機(jī)A磁盤A1磁盤A2磁盤A3主機(jī)B磁盤B1磁盤B2磁盤B3復(fù)制卷1復(fù)制卷2復(fù)制卷3在2主機(jī)2副本模式下,當(dāng)主機(jī)B整個(gè)離線或,可以看到任何一個(gè)復(fù)制卷都依然有一個(gè)副本存在主機(jī)A上,數(shù)據(jù)依然可用,影響只是少了個(gè)副本。略為復(fù)雜的例子〔先不考慮有熱備盤〕:主機(jī)C離線后,剩余在線的復(fù)制卷任何一個(gè)都依然保持至少一個(gè)副本在線,因此這時(shí)全局?jǐn)?shù)據(jù)依然可用。在主機(jī)故障后,在aSAN高級(jí)設(shè)備里面有這樣一個(gè)故障時(shí)間策略執(zhí)行相應(yīng)的處理:主機(jī)故障未超時(shí)人工介入處理當(dāng)主機(jī)故障未超時(shí)時(shí),人工介入處理是通過(guò)替換主機(jī)功能解決主機(jī)故障的。UI操作例子,點(diǎn)擊后按步驟進(jìn)展即可〔詳見(jiàn)部署配置文件〕。替換主機(jī)的硬件配置要求是新主機(jī)配置不可以低于故障主機(jī),包括CPU、內(nèi)存、磁盤個(gè)數(shù)、磁盤容量、網(wǎng)口個(gè)數(shù)。替換主機(jī)的內(nèi)部原理:主機(jī)C主機(jī)B主機(jī)A主機(jī)C主機(jī)B主機(jī)A磁盤A1磁盤B1磁盤C1復(fù)制卷1磁盤A1磁盤B1磁盤C1復(fù)制卷1磁盤A2磁盤B2磁盤C2復(fù)制卷2磁盤A2磁盤B2磁盤C2復(fù)制卷2復(fù)制卷3復(fù)制卷3磁盤A3磁盤B3磁盤C3磁盤A3磁盤B3磁盤C3在aSAN層面,主機(jī)替換和磁盤替換并無(wú)差異,區(qū)別是主機(jī)替換是同時(shí)執(zhí)行多個(gè)磁盤替換。因?yàn)榍懊嬗行轮鳈C(jī)的硬件配置不低于故障主機(jī),因此磁盤數(shù)和容量是可以保證替換后足夠的。主機(jī)替換完成后,會(huì)根據(jù)新復(fù)制卷,在新主機(jī)的磁盤上重建文件副本。主機(jī)故障超時(shí)后aSAN自動(dòng)處理假設(shè)入主機(jī)故障后直到超過(guò)設(shè)定的故障時(shí)間依然沒(méi)有人工介入處理,那么aSAN會(huì)采取自動(dòng)替換動(dòng)作在其他主機(jī)上重建副本。例子:3主機(jī)2副本,主機(jī)C出現(xiàn)故障。比照上面2張圖,可以看出在主機(jī)C故障并超時(shí)后,aSAN會(huì)在集群范圍內(nèi)尋找最正確借用磁盤組建復(fù)制卷,從而重建副本。這里的主機(jī)副本自動(dòng)重建機(jī)制和單個(gè)故障硬盤的自動(dòng)重建機(jī)制并沒(méi)有本質(zhì)差異,只是同時(shí)做了多個(gè)故障盤的重建。如果其中有熱備盤,這是會(huì)自動(dòng)使用熱備盤。注意,主機(jī)自動(dòng)重建是有代價(jià)的,會(huì)復(fù)用其他磁盤的空間和性能。因此在條件允許情況下,應(yīng)盡快替換主機(jī)。如果不想aSAN才超時(shí)自動(dòng)重建,可以到高級(jí)設(shè)置關(guān)閉主機(jī)自動(dòng)重建功能。副本修復(fù)副本修復(fù)是指當(dāng)某個(gè)磁盤出現(xiàn)離線再上線后,保存在上面的文件副本可能是舊數(shù)據(jù),需要按照其他在線的文件副本進(jìn)展修復(fù)的一個(gè)行為。典型的情況是主機(jī)短暫斷網(wǎng),導(dǎo)致副本不一致。在aSAN1.0、aSAN1.1版本,副本修復(fù)是整個(gè)文件進(jìn)展比照修復(fù),會(huì)占用比擬大的IO。因此保證網(wǎng)絡(luò)穩(wěn)定性在aSAN里面是核心要求之一。在aSAN1.2版本里面,支持副本快速修復(fù),對(duì)于短暫離線的副本,可以做到只修復(fù)少量差異數(shù)據(jù),到達(dá)快速修改的目的。文件A文件A磁盤2不一定是本地磁盤,也可以是其他主機(jī)的磁盤,由管理服務(wù)通過(guò)網(wǎng)絡(luò)訪問(wèn)磁盤2磁盤1磁盤2不一定是本地磁盤,也可以是其他主機(jī)的磁盤,由管理服務(wù)通過(guò)網(wǎng)絡(luò)訪問(wèn)磁盤2磁盤1文件A(副本2)文件A(副本2)文件A(副本1)例如,上圖磁盤2和磁盤1不在一個(gè)主機(jī)上。由于網(wǎng)絡(luò)原因離線了1分鐘。這一分鐘內(nèi),虛擬鏡像文件A有修改,這時(shí)修改只會(huì)寫入到副本1上。一分鐘后,磁盤2上線,aSAN會(huì)感知到副本1和副本2有差異并且副本1是在用副本,即啟動(dòng)副本修復(fù)流程,以副本1為源修復(fù)到副本2上。在修復(fù)過(guò)程中,任何讀動(dòng)作都是從副本1去讀取的,寫動(dòng)作依然同時(shí)寫到2個(gè)副本修復(fù)完成后,副本1、副本2會(huì)到達(dá)完全一致的狀態(tài)。在aSAN1.2以上版本,副本修復(fù)支持快速修復(fù)。aSAN會(huì)記錄副本離線時(shí)的數(shù)據(jù)更改記錄,短時(shí)間的副本離線,當(dāng)離線副本上線時(shí),直接修復(fù)差異局部數(shù)據(jù)。同時(shí),aSAN對(duì)業(yè)務(wù)IO和修復(fù)IO做了優(yōu)先級(jí)控制,副本修復(fù)IO對(duì)業(yè)務(wù)IO的降低影響平均不超過(guò)20%。當(dāng)然,即使有快速修復(fù),數(shù)據(jù)校驗(yàn)和傳輸依然會(huì)占用CPU和網(wǎng)絡(luò)帶寬,因此建議盡量保證aSAN存儲(chǔ)網(wǎng)絡(luò)穩(wěn)定,減少副本修復(fù)的產(chǎn)生。深信服aSAN功能特性存儲(chǔ)精簡(jiǎn)配置自動(dòng)精簡(jiǎn)配置〔ThinProvisioning〕是一種先進(jìn)的、智能的、高效的容量分配和管理技術(shù),它擴(kuò)展了存儲(chǔ)管理功能,可以用小的物理容量為操作系統(tǒng)提供超大容量的虛擬存儲(chǔ)空間。并且隨著應(yīng)用的數(shù)據(jù)量增長(zhǎng),實(shí)際存儲(chǔ)空間也可以及時(shí)擴(kuò)展,而無(wú)須手動(dòng)擴(kuò)展。一句話而言,自動(dòng)精簡(jiǎn)配置提供的是“運(yùn)行時(shí)空間〞,可以顯著減少已分配但是未使用的存儲(chǔ)空間。如果采用傳統(tǒng)的磁盤分配方法,需要用戶對(duì)當(dāng)前和未來(lái)業(yè)務(wù)開展規(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ǔ)資源,而沒(méi)有一點(diǎn)的浪費(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ù)據(jù)時(shí),才按照預(yù)先設(shè)定好的策略從物理空間分配實(shí)際容量。aSAN私網(wǎng)鏈路聚合aSAN的私網(wǎng)鏈路聚合是為了提高網(wǎng)絡(luò)可靠性和性能設(shè)置而提出的。使用aSAN私網(wǎng)鏈路聚合不需要交換機(jī)上配置鏈路聚合,由存儲(chǔ)私網(wǎng)負(fù)責(zé)鏈路聚合的功能,使用普通的二層交換機(jī),保證接線正確即可。傳統(tǒng)的鏈路聚合是按主機(jī)IP進(jìn)展均分,即每2臺(tái)主機(jī)間只能用1條物理鏈路。而aSAN私網(wǎng)鏈路聚合采用按照TCP連接進(jìn)展均分,兩臺(tái)主機(jī)間的不同TCP連接可使用不同物理鏈路。數(shù)據(jù)一致性檢查aSAN采用一致性復(fù)制協(xié)議來(lái)保證多個(gè)副本數(shù)據(jù)的一致性,即只有當(dāng)所有副本都寫成功,才返回寫入磁盤成功。正常情況下aSAN保證每個(gè)副本上的數(shù)據(jù)都是完全一致,從任一副本讀到的數(shù)據(jù)都是一樣的。如果某個(gè)副本中的某個(gè)磁盤短暫故障,aSAN會(huì)暫時(shí)不寫這個(gè)副本,等恢復(fù)后再恢復(fù)該副本上的數(shù)據(jù);如果磁盤長(zhǎng)時(shí)間或者永久故障,aSAN會(huì)把這個(gè)磁盤從群集中移除掉,并為副本尋找新的副本磁盤,再通過(guò)重建機(jī)制使得數(shù)據(jù)在各個(gè)磁盤上的分布均勻。aNet網(wǎng)絡(luò)虛擬化網(wǎng)絡(luò)虛擬化概述網(wǎng)絡(luò)虛擬化是構(gòu)建超融合架構(gòu)中,非常重要的一局部,我們通過(guò)aSV實(shí)現(xiàn)了服務(wù)器虛擬化,aSAN實(shí)現(xiàn)了通過(guò)服務(wù)器節(jié)點(diǎn)構(gòu)建了存儲(chǔ)虛擬化,但還是存在沒(méi)有解決的問(wèn)題:一、如何保障虛擬機(jī)可以在我的物理網(wǎng)絡(luò)環(huán)境中進(jìn)展順利的遷移,虛擬化后的數(shù)據(jù)中心涉及業(yè)務(wù)眾多,對(duì)外部提供云接入服務(wù)時(shí),傳統(tǒng)的Vlan技術(shù)已經(jīng)無(wú)法滿足業(yè)務(wù)隔離的需求,怎么解決大規(guī)模租戶和租戶之間、業(yè)務(wù)和業(yè)務(wù)之間的安全隔離也是面臨的首要問(wèn)題。二、虛擬化后的數(shù)據(jù)中心的業(yè)務(wù)系統(tǒng)的構(gòu)建和上線對(duì)網(wǎng)絡(luò)功能的快速部署、靈活彈性甚至本錢,提出了更高的要求。三、在傳統(tǒng)網(wǎng)絡(luò)中,不管底層的IT根基設(shè)施還是上層的應(yīng)用,都由專屬設(shè)備來(lái)完成。這些設(shè)備本錢高昂,能力和位置僵化,難以快速響應(yīng)新業(yè)務(wù)對(duì)網(wǎng)絡(luò)快速、靈活部署的需求?;谏鲜鰡?wèn)題,深信服采用了業(yè)界成熟的SDN+NFV的解決方案,我們稱之為aNet,通過(guò)Overylay的方式來(lái)構(gòu)建大二層和實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)之間的租戶隔離,通過(guò)NFV實(shí)現(xiàn)網(wǎng)絡(luò)中的所需各類網(wǎng)絡(luò)功能資源〔包括根基的路由交換、安全以及應(yīng)用交付等〕按需分配和靈活調(diào)度,從而實(shí)現(xiàn)超融合架構(gòu)中的網(wǎng)絡(luò)虛擬化。aNET網(wǎng)絡(luò)虛擬化技術(shù)原理SDNSDN〔SoftwareDefinedNetwork,軟件定義網(wǎng)絡(luò)〕是一種創(chuàng)新性的網(wǎng)絡(luò)架構(gòu),它通過(guò)標(biāo)準(zhǔn)化技術(shù)〔比方openflow〕實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備的控制層面和數(shù)據(jù)層面的別離,進(jìn)而實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)流量的靈活化、集中化、細(xì)粒度的控制,從而為網(wǎng)絡(luò)的集中管理和應(yīng)用的加速創(chuàng)新提供了良好的平臺(tái),由此可獲得對(duì)網(wǎng)絡(luò)的前所未有的可編程性、自動(dòng)化和控制能力,使網(wǎng)絡(luò)很容易適應(yīng)變化的業(yè)務(wù)需求,從而建設(shè)高度可擴(kuò)展的彈性網(wǎng)絡(luò)。從SDN的實(shí)現(xiàn)方式來(lái)看,廣義和狹義兩種。在廣義的SDN下分為3個(gè)流派,分別是:網(wǎng)絡(luò)虛擬化NV〔主要指的是Overlay〕,網(wǎng)絡(luò)功能虛擬化NFV。狹義的SDN主要指的是通過(guò)OpenFlow來(lái)實(shí)現(xiàn)。aNet中的SDN實(shí)現(xiàn)沒(méi)有采用上述的廣義的SDN的方案,但由于實(shí)現(xiàn)架構(gòu)上大同小異,用一副標(biāo)準(zhǔn)的SDN標(biāo)準(zhǔn)圖來(lái)說(shuō)明下:可以這幅圖看出實(shí)現(xiàn)SDN的重點(diǎn)在Dataplane和Controllerplane,SDN的核心思想就是數(shù)據(jù)面與控制面別離。NFV以開放取代封閉,以通用替代專有——將原本專業(yè)的網(wǎng)元設(shè)備上的網(wǎng)絡(luò)功能提取出來(lái)虛擬化,運(yùn)行在通用的硬件平臺(tái)上,業(yè)界稱這種變化為NFV。NFV〔NetworkFunctionsVirtualisation網(wǎng)絡(luò)功能虛擬化〕的目標(biāo)是希望通過(guò)廣泛采用的硬件承載各種各樣的網(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與SDN有很強(qiáng)的互補(bǔ)性,NFV增加了功能部署的靈活性,SDN可進(jìn)一步推動(dòng)NFV功能部署的靈活性和方便性。通過(guò)NFV技術(shù),將網(wǎng)絡(luò)功能資源進(jìn)展虛擬化,使得網(wǎng)絡(luò)資源升級(jí)為虛擬化、可流動(dòng)的流態(tài)資源,Overlay模型使流態(tài)網(wǎng)絡(luò)資源的流動(dòng)范圍跳出了物理網(wǎng)絡(luò)的束縛,可以在全網(wǎng)范圍內(nèi)按需流動(dòng),呈現(xiàn)出網(wǎng)絡(luò)資源的統(tǒng)一池化狀態(tài),最終實(shí)現(xiàn)了超融合架構(gòu)中網(wǎng)絡(luò)資源的靈活定義、按需分配、隨需調(diào)整。aNet底層的實(shí)現(xiàn)aNet的實(shí)現(xiàn)主要包含兩個(gè)層面:數(shù)據(jù)平面和控制平面。傳統(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)的過(guò)程占了包處理中很大一局部時(shí)間,這可能會(huì)出乎有些人的預(yù)料。換句話說(shuō),即使用戶空間應(yīng)用程序什么都不做,而只是將數(shù)據(jù)包從接收端口傳送到發(fā)送端口,那么仍然會(huì)花費(fèi)大量的處理時(shí)間。當(dāng)網(wǎng)卡從網(wǎng)絡(luò)接收到一個(gè)數(shù)據(jù)幀后,會(huì)使用直接內(nèi)存訪問(wèn)〔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)用程序就接收到了這些數(shù)據(jù)。進(jìn)展傳輸時(shí),用戶應(yīng)用程序通過(guò)系統(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)程序會(huì)更新適當(dāng)?shù)膫鬏斆枋龇h(huán),并通知網(wǎng)卡有一個(gè)等待處理的傳輸任務(wù)。網(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)成功傳輸,從而使內(nèi)核釋放與該數(shù)據(jù)幀
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 玩具國(guó)際貿(mào)易與跨境電商考核試卷
- 影視設(shè)備行業(yè)報(bào)告編寫咨詢服務(wù)批發(fā)考核試卷
- 2024年員工知識(shí)產(chǎn)權(quán)與保密協(xié)議范本:企業(yè)知識(shí)產(chǎn)權(quán)合規(guī)管理與風(fēng)險(xiǎn)防范3篇
- 求拓?fù)湫蛄信判蛘n程設(shè)計(jì)
- 汽輪機(jī)設(shè)備安裝與施工質(zhì)量保障考核試卷
- 2024年納稅擔(dān)保制度:稅務(wù)優(yōu)化與風(fēng)險(xiǎn)控制
- 溫州色彩搭配課程設(shè)計(jì)
- 2024年智能網(wǎng)聯(lián)汽車牌照租賃服務(wù)合同3篇
- 早教課程設(shè)計(jì)和教學(xué)設(shè)計(jì)
- T-ZAWS 004-2024 金屬非金屬露天礦山安全現(xiàn)狀評(píng)價(jià)報(bào)告編制導(dǎo)則
- 2025年中小學(xué)春節(jié)安全教育主題班會(huì)課件
- 工商注冊(cè)租房合同范例
- GB/T 18281.3-2024醫(yī)療保健產(chǎn)品滅菌生物指示物第3部分:濕熱滅菌用生物指示物
- 班會(huì)課件高中
- 《設(shè)計(jì)實(shí)訓(xùn)2》課程教學(xué)大綱
- 部編版一年級(jí)上冊(cè)語(yǔ)文第一單元-作業(yè)設(shè)計(jì)
- 計(jì)量經(jīng)濟(jì)學(xué)練習(xí)題
- 探索心理學(xué)的奧秘智慧樹知到期末考試答案章節(jié)答案2024年北京大學(xué)
- 《微觀經(jīng)濟(jì)學(xué)》課程思政教學(xué)案例(一等獎(jiǎng))
- 我國(guó)互聯(lián)網(wǎng)企業(yè)價(jià)值評(píng)估的研究——以阿里巴巴網(wǎng)絡(luò)公司為例
- 導(dǎo)游實(shí)務(wù)課件
評(píng)論
0/150
提交評(píng)論