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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

10、架構(gòu)涵蓋的產(chǎn)品。第三章、向您介紹深信服超融合架構(gòu)中的技術(shù)在為客戶帶來的核心價(jià)值。第四章、分享超融合架構(gòu)在客戶中的實(shí)際應(yīng)用場景,并給出深信服超融合架構(gòu)產(chǎn)品的體驗(yàn)途徑,非常歡迎您來試用。深信服超融合技術(shù)架構(gòu)超融合架構(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ù)器)中融入軟件虛擬化技術(shù)(包括計(jì)算、網(wǎng)絡(luò)、存儲、安全等虛擬化),而每一套單元節(jié)點(diǎn)可以通過網(wǎng)絡(luò)聚合起來,實(shí)現(xiàn)模塊化的無縫橫向擴(kuò)展(scale-out),構(gòu)建統(tǒng)一的資源池。深信服超融合架構(gòu)組成模塊系統(tǒng)總體架構(gòu)深信服

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

12、義: 虛擬機(jī) (Virtual Machine) 是由虛擬化層提供的高效、獨(dú)立的虛擬計(jì)算機(jī)系統(tǒng),每臺虛擬機(jī)都是一個(gè)完整的系統(tǒng),它具有處理器、內(nèi)存、網(wǎng)絡(luò)設(shè)備、存儲設(shè)備和BIOS,因此操作系統(tǒng)和應(yīng)用程序在虛擬機(jī)中的運(yùn)行方式與它們在物理服務(wù)器上的運(yùn)行方式?jīng)]有什么區(qū)別。虛擬機(jī)與物理服務(wù)器相比:虛擬機(jī)不是由真實(shí)的電子元件組成,而是由一組虛擬組件(文件)組成,這些虛擬組件與物理服務(wù)器的硬件配置無關(guān),關(guān)鍵與物理服務(wù)器相比,虛擬機(jī)具有以下優(yōu)勢:抽象解耦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ù)存儲的安全隔

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

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

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

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

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

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

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

20、兩個(gè)特權(quán)級(即用戶態(tài)和核心態(tài),x86 有四個(gè)特權(quán)級Ring0 Ring3)用來分隔系統(tǒng)軟件和應(yīng)用軟件。那些只能在處理器的最高特權(quán)級(內(nèi)核態(tài))執(zhí)行的指令稱之為特權(quán)指令,一般可讀寫系統(tǒng)關(guān)鍵資源的指令(即敏感指令)決大多數(shù)都是特權(quán)指令(X86 存在若干敏感指令是非特權(quán)指令的情況)。如果執(zhí)行特權(quán)指令時(shí)處理器的狀態(tài)不在內(nèi)核態(tài),通常會引發(fā)一個(gè)異常而交由系統(tǒng)軟件來處理這個(gè)非法訪問(陷入)。經(jīng)典的虛擬化方法就是使用“特權(quán)解除”和“陷入-模擬”的方式,即將 GuestOS 運(yùn)行在非特權(quán)級,而將 VMM 運(yùn)行于最高特權(quán)級(完全控制系統(tǒng)資源)。解除了 GuestOS 的特權(quán)級后,Guest OS 的大部分指令仍可以

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

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

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

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

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

26、VMCS(Virtual-MachineControl Structure)結(jié)構(gòu),當(dāng) vcpu 被從物理 CPU 上切換下來的時(shí)候,其運(yùn)行上下文會被保存在其對應(yīng)的 VMCS 結(jié)構(gòu)中;當(dāng) vcpu 被切換到 pcpu 上運(yùn)行時(shí),其運(yùn)行上下文會從對應(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)的兩級調(diào)度框架,如圖所示是一個(gè)多核環(huán)境下虛擬機(jī)系統(tǒng)的兩級調(diào)度框架??蛻舨僮飨到y(tǒng)負(fù)責(zé)第 2 級調(diào)度,即線程或進(jìn)程在 vCPU 上的調(diào)度(將核心線程映射到相應(yīng)的虛擬 CPU 上)。

27、虛擬機(jī)監(jiān)視器負(fù)責(zé)第 1 級調(diào)度, 即 vCPU 在物理處理單元上的調(diào)度。兩級調(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ù)用物理處理單元), 也可以與物理處理單元建立一對一固定的映射關(guān)系(限制訪問指定的物理處理單元)。內(nèi)存虛擬化內(nèi)存虛擬化三層模型因?yàn)?VMM (Virtual Machine Monitor) 掌控所有系統(tǒng)資源,因此 VMM 握有

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

29、序訪問 VA1,經(jīng) Guest OS 的頁表轉(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ī)的每個(gè)內(nèi)存訪問都需要 VMM 介入,并由軟件模擬地址轉(zhuǎn)換的效率是很低下的,幾乎不具有實(shí)際可用性,為實(shí)現(xiàn)虛擬地址到機(jī)器地址的高效轉(zhuǎn)換,現(xiàn)普遍采用的思想是:由 VMM 根據(jù)映射 f 和g 生成復(fù)合的映射 fg,并直接將這個(gè)映射關(guān)系寫入

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

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

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

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

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

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

36、A本質(zhì)上為每個(gè)處理器配置了獨(dú)有的整體系統(tǒng)緩存,減少了多處理器試圖訪問統(tǒng)一內(nèi)存空間時(shí)的爭用和延遲。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對虛擬機(jī)負(fù)載不存在任何兼容性問題,但是理論上虛擬機(jī)最完美的方式應(yīng)該是在某個(gè)NUMA節(jié)點(diǎn)內(nèi)。這可以防止處理器需要跟其它的NUMA節(jié)點(diǎn)交互,從而導(dǎo)致工作負(fù)載性能下降。深信服的aSV支持NUMA技術(shù),使得hypervisor和上層O

37、S內(nèi)存互連,這樣OS不會在CPU和NUMA節(jié)點(diǎn)之間遷移工作負(fù)載。SR-IOV通常針對虛擬化服務(wù)器的技術(shù)是通過軟件模擬共享和虛擬化網(wǎng)絡(luò)適配器的一個(gè)物理端口,以滿足虛擬機(jī)的 I/O 需求,模擬軟件的多個(gè)層為虛擬機(jī)作了 I/O 決策,因此導(dǎo)致環(huán)境中出現(xiàn)瓶頸并影響 I/O 性能。aSV虛擬化平臺提供的 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(S

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

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

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

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

42、當(dāng)然還包含如下幾個(gè)狀態(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ī)可能會在某一個(gè)時(shí)間點(diǎn)經(jīng)歷上述這些狀態(tài)。aSV提供了完善的虛擬機(jī)生命周期管理工具,我們可以通過對虛擬機(jī)生命周期的規(guī)劃,可以想要最大化的發(fā)揮虛擬機(jī)的作用。虛擬機(jī)熱遷移虛擬化環(huán)境中,物理服務(wù)器和存儲上承載更多的業(yè)務(wù)和數(shù)據(jù),設(shè)備故障時(shí)造成的影響更大。 aSV虛擬化平臺提供虛擬機(jī)熱遷移技術(shù),降低宕機(jī)帶來的風(fēng)險(xiǎn)、減少業(yè)務(wù)中斷的時(shí)間。aSV虛擬機(jī)熱遷移技術(shù)是指把一個(gè)虛擬機(jī)從一臺物理服務(wù)器遷移到

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

44、服務(wù)器的運(yùn)行數(shù)量,從而降低設(shè)備運(yùn)營能耗上的支出。aSV的特色技術(shù)快虛在實(shí)際的IT應(yīng)用系統(tǒng)在部署虛擬化的時(shí)候,會存在虛擬化遷移的需求,為了實(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ū)動程序?qū)μ摂M磁盤進(jìn)行保護(hù),保證虛擬磁盤文件占用的物理扇區(qū)不會被移動. 獲取虛擬磁盤文件所占的物理簇信息,并保存到當(dāng)前系統(tǒng)盤下的配置文件中, 安裝aSV的引導(dǎo)程序以及內(nèi)核到當(dāng)前Windows系統(tǒng)盤下,安裝系統(tǒng)引導(dǎo)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論