深信服aBOS一體機(jī)技術(shù)白皮書_第1頁(yè)
深信服aBOS一體機(jī)技術(shù)白皮書_第2頁(yè)
深信服aBOS一體機(jī)技術(shù)白皮書_第3頁(yè)
深信服aBOS一體機(jī)技術(shù)白皮書_第4頁(yè)
深信服aBOS一體機(jī)技術(shù)白皮書_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、深信服 aBos 一體機(jī)技術(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 PerSecond每秒讀寫(I/O)操作的次數(shù)VMVirtual Machine虛

2、擬機(jī)SDNSoftware Defined Network軟件定義網(wǎng)絡(luò)NFVNetwork FunctionVirtualization網(wǎng)絡(luò)功能虛擬化目錄前言2 HYPERLINK l _TOC_250020 邊緣 IT 時(shí)代變革2 HYPERLINK l _TOC_250019 白皮書總覽2深信服 aBos 一體機(jī)架構(gòu)技術(shù)4aBos 超融合架構(gòu)概述4aBos 超融合架構(gòu)的定義4深信服 aBos 超融合架構(gòu)組成模塊4 HYPERLINK l _TOC_250018 系統(tǒng)總體架構(gòu)4 HYPERLINK l _TOC_250017 aSV 計(jì)算虛擬化4 HYPERLINK l _TOC_25001

3、6 計(jì)算虛擬化概述4 HYPERLINK l _TOC_250015 aSV 技術(shù)原理5 HYPERLINK l _TOC_250014 深信服 aSV 的技術(shù)特性14 HYPERLINK l _TOC_250013 aSV 的特色技術(shù)17 HYPERLINK l _TOC_250012 aNet 網(wǎng)絡(luò)設(shè)備虛擬化18 HYPERLINK l _TOC_250011 網(wǎng)絡(luò)設(shè)備虛擬化概述18 HYPERLINK l _TOC_250010 aNET 網(wǎng)絡(luò)虛擬化技術(shù)原理19 HYPERLINK l _TOC_250009 aNet 功能特性22 HYPERLINK l _TOC_250008 深信服

4、 aNet 的特色技術(shù)28 HYPERLINK l _TOC_250007 aSAN 存儲(chǔ)虛擬化29存儲(chǔ)虛擬化概述29 HYPERLINK l _TOC_250006 aSAN 技術(shù)原理29 HYPERLINK l _TOC_250005 aSAN 存儲(chǔ)數(shù)據(jù)可靠性保障38 HYPERLINK l _TOC_250004 深信服 aSAN 功能特性38深信服 aBos 一體機(jī)核心價(jià)值40 HYPERLINK l _TOC_250003 高穩(wěn)定性40 HYPERLINK l _TOC_250002 簡(jiǎn)化分支機(jī)構(gòu) IT40 HYPERLINK l _TOC_250001 簡(jiǎn)化運(yùn)維、集中管理40 HY

5、PERLINK l _TOC_250000 靈活部署、擴(kuò)展性好40超融合架構(gòu)最佳實(shí)踐41 1前言邊緣 IT 時(shí)代變革隨著在物聯(lián)網(wǎng)的構(gòu)建過程中傳感器的大量使用,企業(yè)客戶及員工使用的移動(dòng)設(shè)備 和云服務(wù)的大量增加,企業(yè)邊緣的概念也正在被重新定義。對(duì)于一個(gè)企業(yè)來說,它的新 的邊緣包括了下屬辦事機(jī)構(gòu)、商店、機(jī)場(chǎng)、商場(chǎng)、公共圖書館、運(yùn)動(dòng)場(chǎng)以及其它公共 空間。任何可能有顧客的地方都在迅速成為企業(yè)的邊緣。不僅是企業(yè)邊緣的概念在變 化,與此同時(shí),在這些地點(diǎn)的顧客參與行為也在發(fā)生本質(zhì)性的變化。近年來,隨著主機(jī)托管、代管和云服務(wù)被越來越多地采用,IT 基礎(chǔ)架構(gòu)也呈現(xiàn)出融合化和集中化的趨勢(shì)。而對(duì)企業(yè)邊緣的重新定義則將

6、在某種程度上扭轉(zhuǎn)這一趨勢(shì), 因?yàn)橛?jì)算、存儲(chǔ)和 網(wǎng)絡(luò)這三大功能都被推向了新的企業(yè)邊緣,以解決那些具有較高處理要求和帶寬要求的工作負(fù)載。未來,微型數(shù)據(jù)中心將有望重新崛起,但屆時(shí)它將不會(huì)采取目前的這種形式了。企業(yè)邊緣的變化還將促進(jìn) IT 與非 IT 架構(gòu)/設(shè)備的持續(xù)創(chuàng)新和整合。服務(wù)供應(yīng)商將其 IT 資產(chǎn)部署在客戶和合作伙伴所在的地理位置上這一舉措的逐漸增長(zhǎng)的可能性,將給雙方的 IT 團(tuán)隊(duì)都帶來一系列的新挑戰(zhàn)。我們現(xiàn)在正處于一場(chǎng)幾十年未見的分支機(jī)構(gòu)邊緣數(shù)據(jù)中心革命性轉(zhuǎn)變中,究其核 心,這一轉(zhuǎn)變是由“軟件”基礎(chǔ)設(shè)施的崛起而驅(qū)動(dòng)。虛擬網(wǎng)絡(luò)設(shè)備、虛擬機(jī)、存儲(chǔ)設(shè) 備能夠以高速自動(dòng)化的方式分配與重新配置,不會(huì)受

7、到分支非動(dòng)態(tài)設(shè)置的硬件基礎(chǔ)設(shè) 施的限制,在“軟件定義廣域網(wǎng)”的模型下,用戶首先考慮的是分支應(yīng)用,根據(jù)應(yīng)用 的模式便可靈活的調(diào)配其所需的 IT 基礎(chǔ)架構(gòu)資源,也就是通過軟件化的方式實(shí)現(xiàn)分支硬件資源調(diào)配。深信服 aBos 一體機(jī)是軟件定義分支 IT 基礎(chǔ)架構(gòu)一套非常成熟的解決方案,是建立一個(gè)各個(gè)軟件組件間相對(duì)獨(dú)立、松耦合的軟件系統(tǒng),極大提高分支整個(gè) IT 基礎(chǔ)架構(gòu)系統(tǒng)的可靠性和可擴(kuò)展性。除滿足上面所述的邊緣 IT 架構(gòu)虛擬化,標(biāo)準(zhǔn)化和自動(dòng)化訴求外,秉承深信服公司產(chǎn)品的優(yōu)秀基因,向您提供簡(jiǎn)單易用,安全可靠,易交付的產(chǎn)品。白皮書總覽本書介紹的內(nèi)容大致如下:第一章、在前言部分,給您對(duì)企業(yè)邊緣 IT 變革

8、,軟件定義廣域網(wǎng)有一個(gè)概括性的認(rèn)識(shí),并對(duì)本文檔的閱讀給出指導(dǎo)。第二章、講述 aBos 一體機(jī)各個(gè)功能模塊的技術(shù)細(xì)節(jié)。第三章、介紹深信服 aBos 一體機(jī)涵蓋的技術(shù)。第三章、向您介紹深信服 aBos 一體機(jī)中的技術(shù)在為客戶帶來的核心價(jià)值。第四章、分享 aBos 一體機(jī)在客戶中的實(shí)際應(yīng)用場(chǎng)景,并給出深信服超融合架構(gòu)產(chǎn)品的體驗(yàn)途徑,非常歡迎您來試用。 2深信服 aBos 一體機(jī)架構(gòu)技術(shù)aBos 一體機(jī)架構(gòu)概述aBos 一體機(jī)架構(gòu)的定義深信服 aBos 一體機(jī)解決方案,是一種將網(wǎng)絡(luò)設(shè)備、計(jì)算、存儲(chǔ)等資源作為基本組成元素,通過一體機(jī)的方式承載中小型或者分支機(jī)構(gòu)的 IT 網(wǎng)絡(luò)建設(shè)技術(shù)。滿足多種類型的小型機(jī)

9、構(gòu)業(yè)務(wù)辦公需求,提供具備業(yè)務(wù)上線速度快、分支安全性考慮全面、業(yè)務(wù) 發(fā)展擴(kuò)展性高、集中管理的一站式分支機(jī)構(gòu)解決方案,實(shí)現(xiàn)分支機(jī)構(gòu)“ZERO IT”。深信服 aBos 一體機(jī)架構(gòu)組成模塊系統(tǒng)總體架構(gòu)深信服 aBos 一體機(jī)架構(gòu)圖深信服的 aBos 一體機(jī)解決方案軟件架構(gòu)主要包含三大組件(網(wǎng)絡(luò)設(shè)備虛擬化、服務(wù)器虛擬化、存儲(chǔ)虛擬化)、一個(gè) WEB 控制平臺(tái)(虛擬化管理平臺(tái) VMP)、總部集中管理(BBC 管理中心)。硬件架構(gòu)上,可以通過一體機(jī)的方式實(shí)現(xiàn)開機(jī)即用,一體機(jī)服務(wù)器實(shí)現(xiàn)基礎(chǔ)架構(gòu)的承載后續(xù)章節(jié),會(huì)針對(duì) aBos 超融合架構(gòu)中的三大功能模塊:計(jì)算虛擬化(aSV)、網(wǎng)絡(luò)設(shè)備虛擬化(aNET)、存儲(chǔ)虛

10、擬化(aSAN)所涵蓋的產(chǎn)品技術(shù)來做詳細(xì)說明。aSV 計(jì)算虛擬化計(jì)算虛擬化概述計(jì)算資源虛擬化技術(shù)是將通用的 x86 服務(wù)器經(jīng)過虛擬化軟件,對(duì)最終用戶呈現(xiàn)標(biāo)準(zhǔn)的虛擬機(jī)。這些虛擬機(jī)就像同一個(gè)廠家生產(chǎn)的系列化的產(chǎn)品一樣,具備系列化的硬 件配置,使用相同的驅(qū)動(dòng)程序。虛擬機(jī)的定義: 虛擬機(jī) (Virtual Machine) 是由虛擬化層提供的高效、獨(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ī)與物理服務(wù)器相比:虛擬機(jī)不是由真實(shí)的電子元件組成,而是由一組

11、虛擬 組件(文件)組成,這些虛擬組件與物理服務(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.可封裝于文件之中,通過簡(jiǎn)單的文件復(fù)制實(shí)現(xiàn)快速部署、備份及還原;2.可便捷地將整個(gè)系統(tǒng)(包括虛擬硬件、操作系統(tǒng)和配置好的應(yīng)用程序)在不同 的物理服務(wù)器之間進(jìn)行遷移,甚至可以在虛擬機(jī)正在運(yùn)行的情況下進(jìn)行遷移;深信服的 aBos 一體機(jī)解決方案中的計(jì)算虛擬化采用 aSV 虛擬化系統(tǒng),通過將服務(wù) 器資源虛擬化

12、為多臺(tái)虛擬機(jī)。最終用戶可以在這些虛擬機(jī)上安裝各種軟件,掛載磁盤, 調(diào)整配置,調(diào)整網(wǎng)絡(luò),就像普通的 x86 服務(wù)器一樣使用它。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ù)器啟動(dòng)并執(zhí)行 Hypervisor

13、時(shí),它會(huì)給每一臺(tái)虛擬機(jī)分配適量的內(nèi)存、CPU、網(wǎng)絡(luò)和磁盤,并加載所有虛擬機(jī)的客戶操作系統(tǒng)。虛擬化技術(shù)架構(gòu)Hypervisor,常見的 Hypervisor 分兩類: Type- I(裸金屬型) 指 VMM 直接運(yùn)作在裸機(jī)上,使用和管理底層的硬件資源,GuestOS 對(duì)真實(shí)硬件資源的訪問都要通過 VMM 來完成,作為底層硬件的直接操作者,VMM 擁有硬件的驅(qū)動(dòng)程序。裸金屬虛擬化中 Hypervisor 直接管理調(diào)用硬件資源,不需要底層操作系統(tǒng),也可以理解為 Hypervisor 被做成了一個(gè)很薄的操作系統(tǒng)。這種方案的性能處于主機(jī)虛擬化與操作系統(tǒng)虛擬化之間。代表是 VMware ESX Serve

14、r、Citrix XenServer 和 Microsoft Hyper-V,Linux KVM 。Type- II 型(宿主型) 指 VMM 之下還有一層宿主操作系統(tǒng),由于 Guest OS 對(duì)硬件的訪問必須經(jīng)過宿主操作系統(tǒng),因而帶來了額外的性能開銷,但可充分利用宿主操作系統(tǒng)提供的設(shè)備驅(qū)動(dòng) 和底層服務(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ù)代表是 VMware Server ( GSX )、 Workstation 和Microsoft Virtua

15、l PC、Virtual Server 等。由于主機(jī)型 Hypervisor 的效率問題,深信服的 aSV 采用了裸機(jī)型 Hypervisor 中的 Linux KVM 虛擬化,即為 Type-I(裸金屬型)。KVM(Kenerl-based Virtual Machine) 是基于 linux 內(nèi)核虛擬化技術(shù),自 linux2.6.20 之后就集成在 linux 的各個(gè)主要發(fā)行版本中。它使用 linux 自身的調(diào)度器進(jìn)行管理,所以相對(duì)于 xen,其核心源碼很少。KVM 是基于硬件虛擬化擴(kuò)展(Intel VT- X )和 QEMU 的修改版,KVM 屬于Linux kernel 的一個(gè)模塊,可

16、以用命令 modprobe 去加載 KVM 模塊。加載了該模塊后, 才能進(jìn)一步通過工具創(chuàng)建虛擬機(jī)。但是僅有 KVM 模塊是不夠的。因?yàn)橛脩魺o(wú)法直接控制內(nèi)核去做事情,還必須有一個(gè)運(yùn)行在用戶空間的工具才行。這個(gè)用戶空間的工具, 我們選擇了已經(jīng)成型的開源虛擬化軟件 QEMU,QEMU 也是一個(gè)虛擬化軟件,它的特點(diǎn)是可虛擬不同的 CPU,比如說在 x86 的 CPU 上可虛擬一個(gè) power 的 CPU,并可利用它編譯出可運(yùn)行在 power 上的 CPU,并可利用它編譯出可運(yùn)行在 power 上的程序。KVM 使用了QEMU 的一部分,并稍加改造,就成了可控制 KVM 的用戶空間工具了。這就是 KVM

17、 和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è)是管理虛擬硬件的設(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ò)

18、展性)保持開源發(fā)展模式(強(qiáng)大的社區(qū)支持)aSV 的 Hypervisor 實(shí)現(xiàn)VMM (Virtual Machine Monitor)對(duì)物理資源的虛擬可以劃分為三個(gè)部分:CPU 虛擬化、內(nèi)存虛擬化和 I/O 設(shè)備虛擬化,其中以 CPU 的虛擬化最為關(guān)鍵。經(jīng)典的虛擬化方法: 現(xiàn)代計(jì)算機(jī)體系結(jié)構(gòu)一般至少有兩個(gè)特權(quán)級(jí)(即用戶態(tài)和核心態(tài),x86 有四個(gè)特權(quán)級(jí) Ring0 Ring3)用來分隔系統(tǒng)軟件和應(yīng)用軟件。那些只能在處理器的最高特權(quán)級(jí)(內(nèi)核態(tài))執(zhí)行的指令稱之為特權(quán)指令,一般可讀寫系統(tǒng)關(guān)鍵資源的指令(即敏感指令)決大多數(shù)都是特權(quán)指令(X86 存在若干敏感指令是非特權(quán)指令的情況)。如果執(zhí)行特權(quán)指令時(shí)

19、處理器的狀態(tài)不在內(nèi)核態(tài),通常會(huì)引發(fā)一個(gè)異常而交由系統(tǒng)軟件來處理這個(gè)非法訪問(陷入)。經(jīng)典的虛擬化方法就是使用“特權(quán)解除” 和“陷入-模擬”的方式,即將 GuestOS 運(yùn)行在非特權(quán)級(jí),而將 VMM 運(yùn)行于最高特權(quán)級(jí)(完全控制系統(tǒng)資源)。解除了 GuestOS 的特權(quán)級(jí)后,Guest OS 的大部分指令仍可以在硬件上直接運(yùn)行,只有執(zhí)行到特權(quán)指令時(shí),才會(huì)陷入到 VMM 模擬執(zhí)行(陷入-模擬)。“陷入-模擬” 的本質(zhì)是保證可能影響 VMM 正確運(yùn)行的指令由 VMM 模擬執(zhí)行,大部分的非敏感指令還是照常運(yùn)行。因?yàn)?X86 指令集中有若干條指令是需要被 VMM 捕獲的敏感指令,但是卻不是特權(quán)指令(稱為臨

20、界指令),因此“特權(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è),捕捉后模擬” 的過程進(jìn)行優(yōu)化。該派內(nèi)部之實(shí)現(xiàn)又有些差別,其中以 VMWare 為代表的基于二進(jìn)制翻譯 (BT) 的全虛擬化為代表, 其主要思想是在執(zhí)行時(shí)將 VM 上執(zhí)行的 Guest OS 指令,翻譯成 x86 指令集的一

21、個(gè)子集,其中的敏感指令被替換成陷入指令。翻譯過程與指令執(zhí)行交叉進(jìn)行,不含敏感指令的用戶態(tài)程序可以不經(jīng)翻譯直接執(zhí)行。2、X86“半虛擬化”(指需 OS 協(xié)助的虛擬化,在其上運(yùn)行的 OS 需要修改)半虛擬化的基本思想是通過修改 Guest OS 的代碼,將含有敏感指令的操作,替換為對(duì)VMM 的超調(diào)用 Hypercall,類似 OS 的系統(tǒng)調(diào)用,將控制權(quán)轉(zhuǎn)移到 VMM,該技術(shù)因 VMM 項(xiàng)目而廣為人知。該技術(shù)的優(yōu)勢(shì)在于 VM 的性能能接近于物理機(jī),缺點(diǎn)在于需要修改GuestOS(如:Windows 不支持修改)及增加的維護(hù)成本,關(guān)鍵修改 Guest OS 會(huì)導(dǎo)致操作系統(tǒng)對(duì)特定 hypervisor

22、的依賴性,因此很多虛擬化廠商基于 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)行于受控模式,原來的一些敏感指令在受控模式下全部會(huì)陷入 VMM,這樣就解決了部分非特權(quán)的敏感指令的“陷入-模擬”難題,而且模式切換時(shí)上下文的保存恢復(fù)由硬件來完成,這樣就大大提高了“陷入-模擬”時(shí)上下文切 換的效率。以 Intel VT-x 硬件輔助虛擬化技術(shù)為例,該技術(shù)增加了在虛擬狀態(tài)下的

23、兩種處理器工作模式:根(Root)操作模式和非根(Non-root)操作模式。VMM 運(yùn)作在 Root 操作模式下,而 Guest OS 運(yùn)行在 Non-root 操作模式下。這兩個(gè)操作模式分別擁有自己的特權(quán)級(jí)環(huán),VMM 和虛擬機(jī)的 Guest OS 分別運(yùn)行在這兩個(gè)操作模式的 0 環(huán)。這樣,既能使 VMM 運(yùn)行在 0 環(huán),也能使 Guest OS 運(yùn)行在 0 環(huán),避免了修改 Guest OS。Root 操作模式和 Non-root 操作模式的切換是通過新增的 CPU 指令(如: VMXON,VMXOFF )來完成。硬件輔助虛擬化技術(shù)消除了操作系統(tǒng)的 ring 轉(zhuǎn)換問題,降低了虛擬化門檻,支持

24、任何操作系統(tǒng)的虛擬化而無(wú)須修改 OS 內(nèi)核,得到了虛擬化軟件廠商的支持。硬件輔助虛擬化技術(shù)已經(jīng)逐漸消除軟件虛擬化技術(shù)之間的差別,并成為未來的發(fā)展趨勢(shì)。 vCPU 機(jī) 制vCPU 調(diào)度機(jī)制對(duì)虛擬機(jī)來說,不直接感知物理 CPU,虛擬機(jī)的計(jì)算單元通過 vCPU 對(duì)象來呈現(xiàn)。虛擬機(jī)只看到 VMM 呈現(xiàn)給它的 vCPU 。在 VMM 中,每個(gè) vCPU 對(duì)應(yīng)一個(gè) VMCS(Virtual-MachineControl Structure)結(jié)構(gòu),當(dāng) vcpu 被從物理 CPU 上切換下來的時(shí)候,其運(yùn)行上下文會(huì)被保存在其對(duì)應(yīng)的 VMCS 結(jié)構(gòu)中;當(dāng) vcpu 被切換到 pcpu 上運(yùn)行時(shí),其運(yùn)行上下文會(huì)從對(duì)

25、應(yīng)的 VMCS 結(jié)構(gòu)中導(dǎo)入到物理 CPU 上。通過這種方式, 實(shí)現(xiàn)各 vCPU 之間的獨(dú)立運(yùn)行。從虛擬機(jī)系統(tǒng)的結(jié)構(gòu)與功能劃分可以看出,客戶操作系統(tǒng)與虛擬機(jī)監(jiān)視器共同構(gòu) 成了虛擬機(jī)系統(tǒng)的兩級(jí)調(diào)度框架,如圖所示是一個(gè)多核環(huán)境下虛擬機(jī)系統(tǒng)的兩級(jí)調(diào)度 框架??蛻舨僮飨到y(tǒng)負(fù)責(zé)第 2 級(jí)調(diào)度,即線程或進(jìn)程在 vCPU 上的調(diào)度(將核心線程映射到相應(yīng)的虛擬 CPU 上)。虛擬機(jī)監(jiān)視器負(fù)責(zé)第 1 級(jí)調(diào)度, 即 vCPU 在物理處理單元上的調(diào)度。兩級(jí)調(diào)度的調(diào)度策略和機(jī)制不存在依賴關(guān)系。vCPU 調(diào)度器負(fù)責(zé)物理處理器資源在各個(gè)虛擬機(jī)之間的分配與調(diào)度,本質(zhì)上即把各個(gè)虛擬機(jī)中的 vCPU 按照一定的策略和機(jī)制調(diào)度在物

26、理處理單元上可以采用任意的策略來分配物理資源, 滿足虛擬機(jī)的不同需求。vCPU 可以調(diào)度在一個(gè)或多個(gè)物理處理單元執(zhí)行(分時(shí)復(fù)用或空間復(fù)用物理處理單元), 也可以與物理處理單元建立一對(duì)一固定的映射關(guān)系(限制訪問指定的物理處理單元)。內(nèi)存虛擬化內(nèi)存虛擬化三層模型因?yàn)?VMM (Virtual Machine Monitor) 掌控所有系統(tǒng)資源,因此 VMM 握有整個(gè)內(nèi)存資源,其負(fù)責(zé)頁(yè)式內(nèi)存管理,維護(hù)虛擬地址到機(jī)器地址的映射關(guān)系。因 Guest OS 本身亦有頁(yè)式內(nèi)存管理機(jī)制,則有 VMM 的整個(gè)系統(tǒng)就比正常系統(tǒng)多了一層映射:虛擬地址(VA),指 Guest OS 提供給其應(yīng)用程序使用的線性地址空間

27、;物理地址(PA),經(jīng) VMM 抽象的、虛擬機(jī)看到的偽物理地址;機(jī)器地址(MA),真實(shí)的機(jī)器地址,即地址總線上出現(xiàn)的地址信號(hào);映射關(guān)系如下:Guest OS: PA = f(VA)、VMM: MA = g(PA)VMM 維護(hù)一套頁(yè)表,負(fù)責(zé) PA 到 MA 的映射。Guest OS 維護(hù)一套頁(yè)表,負(fù)責(zé) VA 到 PA 的映射。實(shí)際運(yùn)行時(shí), 用戶程序訪問 VA1,經(jīng) Guest OS 的頁(yè)表轉(zhuǎn)換得到 PA1,再由 VMM 介入,使用 VMM 的 頁(yè)表將 PA1 轉(zhuǎn)換為 MA1。頁(yè)表虛擬化技術(shù)普通 MMU 只能完成一次虛擬地址到物理地址的映射,在虛擬機(jī)環(huán)境下,經(jīng)過 MMU 轉(zhuǎn)換所得到的“物理地址”并

28、不是真正的機(jī)器地址。若需得到真正的機(jī)器地址,必須 由 VMM 介入,再經(jīng)過一次映射才能得到總線上使用的機(jī)器地址。如果虛擬機(jī)的每個(gè)內(nèi)存訪問都需要 VMM 介入,并由軟件模擬地址轉(zhuǎn)換的效率是很低下的,幾乎不具有實(shí)際可用性,為實(shí)現(xiàn)虛擬地址到機(jī)器地址的高效轉(zhuǎn)換,現(xiàn)普遍采用的思想是:由 VMM 根據(jù)映射 f 和 g 生成復(fù)合的映射 fg,并直接將這個(gè)映射關(guān)系寫入 MMU。當(dāng)前采用的頁(yè)表虛擬化方法主要是 MMU 類虛擬化(MMU Paravirtualization)和影子頁(yè)表,后者已被內(nèi)存的硬件輔助虛擬化技術(shù)所替代。1、MMU Paravirtualization其基本原理是:當(dāng) Guest OS 創(chuàng)建

29、一個(gè)新的頁(yè)表時(shí),會(huì)從它所維護(hù)的空閑內(nèi)存中分配一個(gè)頁(yè)面,并向 VMM 注冊(cè)該頁(yè)面,VMM 會(huì)剝奪 Guest OS 對(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)

30、的“影子頁(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ù)Extended PageTable(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)行過程中無(wú)需 VMM 干預(yù),去除了大量軟件開

31、銷,內(nèi)存訪問性能接近物理機(jī)。 I/O 設(shè)備虛擬化VMM 通過 I/O 虛擬化來復(fù)用有限的外設(shè)資源,其通過截獲 Guest OS 對(duì) I/O 設(shè)備的訪問請(qǐng)求,然后通過軟件模擬真實(shí)的硬件,目前 I/O 設(shè)備的虛擬化方式主要有三種:設(shè)備接口完全模擬、前端后端模擬、直接劃分。1、設(shè)備接口完全模擬:即軟件精確模擬與物理設(shè)備完全一樣的接口,Guest OS 驅(qū)動(dòng)無(wú)須修改就能驅(qū)動(dòng)這個(gè)虛擬設(shè)備。優(yōu)點(diǎn):沒有額外的硬件開銷,可重用現(xiàn)有驅(qū)動(dòng)程序;缺點(diǎn):為完成一次操作要涉及到多個(gè)寄存器的操作,使得 VMM 要截獲每個(gè)寄存器訪問并進(jìn)行相應(yīng)的模擬,這就導(dǎo)致多次上下文切換;由于是軟件模擬,性能較低。2、前端后端模擬:VMM

32、 提供一個(gè)簡(jiǎn)化的驅(qū)動(dòng)程序(后端, Back-End),Guest OS 中的驅(qū)動(dòng)程序?yàn)榍岸?Front-End, FE),前端驅(qū)動(dòng)將來自其他模塊的請(qǐng)求通過與 Guest OS 間的特殊通信機(jī)制直接發(fā)送給 Guest OS 的后端驅(qū)動(dòng),后端驅(qū)動(dòng)在處理完請(qǐng)求后再發(fā)回通知給前端,VMM 即采用該方法。優(yōu)點(diǎn):基于事務(wù)的通信機(jī)制,能在很大程度上減少上下文切換開銷,沒有額外的 硬件開銷;缺點(diǎn):需要 GuestOS 實(shí)現(xiàn)前端驅(qū)動(dòng),后端驅(qū)動(dòng)可能成為瓶頸。3、直接劃分:即直接將物理設(shè)備分配給某個(gè) Guest OS,由 Guest OS 直接訪問 I/O 設(shè)備(不經(jīng) VMM),目前與此相關(guān)的技術(shù)有 IOMMU(I

33、ntel VT-d, PCI-SIG 之 SR-IOV 等), 旨在建立高效的 I/O 虛擬化直通道。優(yōu)點(diǎn):可重用已有驅(qū)動(dòng),直接訪問減少了虛擬化開銷; 缺點(diǎn):需要購(gòu)買較多額外的硬件。深信服 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)存放到單一的存儲(chǔ)池中,這對(duì)于單處理器或單核心的系統(tǒng)工作良好。但是這種 傳統(tǒng)的統(tǒng)一訪問方式,在多核心同時(shí)訪問內(nèi)存空間時(shí)會(huì)導(dǎo)致資源爭(zhēng)用和性能問題。畢 竟,CPU 應(yīng)該可以訪問所有的服務(wù)器內(nèi)存,但是不需要總是保持占用。實(shí)際上,CPU 僅需要訪問工作負(fù)載實(shí)際運(yùn)行時(shí)所需的內(nèi)存空間就可以了。因此

34、NUMA 改變了內(nèi)存對(duì) CPU 的呈現(xiàn)方式。這是通過對(duì)服務(wù)器每個(gè) CPU 的內(nèi)存進(jìn)行分區(qū)來實(shí)現(xiàn)的。每個(gè)分區(qū)(或內(nèi)存塊)稱為 NUMA 節(jié)點(diǎn),而和該分區(qū)相關(guān)的處理器可以更快地訪問 NUMA 內(nèi)存,而且不需要和其它的 NUMA 節(jié)點(diǎn)爭(zhēng)用服務(wù)器上的資源(其它的內(nèi)存分區(qū)分配給其它處理器)。NUMA 的概念跟緩存相關(guān)。處理器的速度要比內(nèi)存快得多,因此數(shù)據(jù)總是被移動(dòng)到更快的本地緩存,這里處理器訪問的速度要比通用內(nèi)存快得多。NUMA 本質(zhì)上為每個(gè)處理器配置了獨(dú)有的整體系統(tǒng)緩存,減少了多處理器試圖訪問統(tǒng)一內(nèi)存空間時(shí)的爭(zhēng)用和 延遲。NUMA 與服務(wù)器虛擬化完全兼容,而且 NUMA 也可以支持任意一個(gè)處理器訪問服

35、務(wù)器上的任何一塊內(nèi)存區(qū)域。某個(gè)處理器當(dāng)然可以訪問位于不同區(qū)域上的內(nèi)存數(shù)據(jù),但 是需要更多本地 NUMA 節(jié)點(diǎn)之外的傳輸,并且需要目標(biāo) NUMA 節(jié)點(diǎn)的確認(rèn)。這增加了整體開銷,影響了 CPU 和內(nèi)存子系統(tǒng)的性能。NUMA 對(duì)虛擬機(jī)負(fù)載不存在任何兼容性問題,但是理論上虛擬機(jī)最完美的方式應(yīng)該是在某個(gè) NUMA 節(jié)點(diǎn)內(nèi)。這可以防止處理器需要跟其它的 NUMA 節(jié)點(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ù)是通過軟件模

36、擬共享和虛擬化網(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(Single Root I/O Virtualization)是 PCI-SIG 推出的一項(xiàng)標(biāo)準(zhǔn),是虛擬通道(在

37、物理網(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ù)。通過 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)境中共享一個(gè) PCI 設(shè)備的目的,并且降低了軟加模擬層中的 I/O 開銷,因此實(shí)現(xiàn)了接近本機(jī)的性能。如圖

38、所示,在這個(gè)模型中,不需要任何透?jìng)?,因?yàn)樘摂M化在終端設(shè)備上發(fā)生,允許管理程序簡(jiǎn)單地將虛擬功能映射到 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è)簡(jiǎn)化的 PCIe 設(shè)備,僅僅包含了 I/O 功能,通過 PF 衍生而來好象物理網(wǎng)卡硬件資源的一個(gè)切片,對(duì)于 Hypervisor 來說,這個(gè) VF 同一塊普通的 PCIe 網(wǎng)卡一模一樣。通過 SR

39、-IOV 可滿足高網(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í),通過組建 Raid 以提升磁盤性能或提供磁盤冗余,往往成為人們的首選考量。 當(dāng)今主流 raid 實(shí)現(xiàn)方案大致可分為三種:硬件 raid(hardware raid):通過購(gòu)買昂貴的 raid 卡實(shí)現(xiàn)。軟件 raid(software raid):通過操作系統(tǒng)內(nèi)軟件創(chuàng)建陣列,raid 處理開銷由CPU 負(fù)責(zé)。主板 raid(fake raid):通過主板內(nèi)建 raid 控制器創(chuàng)建陣列,由操作系統(tǒng)驅(qū)動(dòng)識(shí)別。相對(duì)于昂貴的硬件,主板 r

40、aid(fake raid)就成了我們不錯(cuò)的選擇。Fake raid 僅提供廉價(jià)的控制器, raid 處理開銷仍由 CPU 負(fù)責(zé),因此性能與 CPU 占用基本與software raid 持平。aSV 3.7 融入了對(duì) Fake-RAID 的支持,現(xiàn)可支持 Fake-RAID 安裝與使用 Fake- RAID 存儲(chǔ),目前可以使用 intel 模式的 raid0,raid1,raid5,raid10,LSI 模式的raid0虛擬機(jī)生命周期管理aSV 提供了虛擬機(jī)從創(chuàng)建至刪除整個(gè)過程中的全面管理,就像人類的生命周期一樣,虛擬機(jī)最基本的生命周期就是創(chuàng)建、使用和刪除這三個(gè)狀態(tài)。當(dāng)然還包含如下幾 個(gè)狀態(tài)

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

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

43、行數(shù)量,從而降低設(shè)備運(yùn)營(yíng)能耗上 的支出。aSV 的特色技術(shù)虛擬機(jī)的 HA HA 全稱是 High Availability(高可用性)。在 aSV 環(huán)境中,如果出現(xiàn)部署了 HA 的虛擬機(jī)所在主機(jī)的物理口網(wǎng)線被拔出、或存儲(chǔ)不能訪問等出現(xiàn)的物理故障時(shí),會(huì)將此 虛擬機(jī)切換到其他的主機(jī)上運(yùn)行,保障虛擬機(jī)上的業(yè)務(wù)正常使用。aSV 存在后臺(tái)進(jìn)程,通過輪詢的機(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ī)

44、無(wú)法訪問虛擬機(jī)的存儲(chǔ)通過 aSV 的 HA 技術(shù),對(duì)業(yè)務(wù)系統(tǒng)提供了高可用性,極大縮短了由于各種主機(jī)物理或者鏈路故障引起的業(yè)務(wù)中斷時(shí)間。動(dòng)態(tài)資源調(diào)度在虛擬化環(huán)境中,如果生產(chǎn)環(huán)境的應(yīng)用整合到硬件資源相對(duì)匱乏的物理主機(jī)上, 虛擬機(jī)的資源需求往往會(huì)成為瓶頸,全部資源需求很有可能超過主機(jī)的可用資源,這 樣業(yè)務(wù)系統(tǒng)的性能也無(wú)法保障。aSV 虛擬化管理平臺(tái)提供的動(dòng)態(tài)資源調(diào)度技術(shù),通過引入一個(gè)自動(dòng)化機(jī)制,持續(xù)地動(dòng)態(tài)平衡資源能力,將虛擬機(jī)遷移到有更多可用資源的主機(jī)上,確保每個(gè)虛擬機(jī)在 任何節(jié)點(diǎn)都能及時(shí)地調(diào)用相應(yīng)的資源。即便大量運(yùn)行對(duì) CPU 和內(nèi)存占用較高的虛擬機(jī)(比如數(shù)據(jù)庫(kù)虛擬機(jī)),只要開啟了動(dòng)態(tài)資源調(diào)度功能

45、,就可實(shí)現(xiàn)全自動(dòng)化的資源分 配和負(fù)載平衡功能,也可以顯著地降低數(shù)據(jù)中心的成本與運(yùn)營(yíng)費(fèi)用。aSV 的動(dòng)態(tài)資源調(diào)度功能其實(shí)現(xiàn)原理:通過跨越集群之間的心跳機(jī)制,定時(shí)監(jiān)測(cè)集群內(nèi)主機(jī)的 CPU 和內(nèi)存等計(jì)算資源的利用率,并根據(jù)用戶自定義的規(guī)則來判斷是否需要為該主機(jī)在集群內(nèi)尋找有更多可用資源的主機(jī),以將該主機(jī)上的虛擬機(jī)通過虛擬 機(jī)遷移技術(shù)遷移到另外一臺(tái)具有更多合適資源的服務(wù)器上,或者將該服務(wù)器上其它的 虛擬機(jī)遷移出去,從而保證某個(gè)關(guān)鍵虛擬機(jī)的資源需求。多 USB 映射當(dāng)物理服務(wù)器部署虛擬化之后。其中類似金蝶等需要通過 usb key 進(jìn)行應(yīng)用加密的服務(wù)器,轉(zhuǎn)化到虛擬化后,需要將插在虛擬化平臺(tái)上的硬件 ke

46、y,映射給虛擬機(jī),而且需要滿足虛擬機(jī)熱遷移、跨主機(jī)映射的需求。業(yè)界給出的方案有三種:一、采用主機(jī)映射:直接采用主機(jī)映射的方式來完成,缺點(diǎn)是不支持網(wǎng)絡(luò)映射,無(wú) 法支持熱遷移、網(wǎng)絡(luò)映射的需求。二、采用 Usb Anywhere:通過使用中間設(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í)解決上述兩種方案中的缺陷,破

47、除了在虛擬化推廣中外設(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 上層來說,是無(wú)感知的。aSV 采用上述的第三種方案,融入了對(duì)多 USB 的支持,帶來的優(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)化集成為類似 usb hub 的小設(shè)備,與 VMP 配套

48、,搭建 usb 映射環(huán)境;6、虛擬機(jī)故障重啟、目標(biāo)端 usb 設(shè)備網(wǎng)絡(luò)中斷等異常情況恢復(fù)后自動(dòng)重映射。aNet 網(wǎng)絡(luò)設(shè)備虛擬化網(wǎng)絡(luò)設(shè)備虛擬化概述網(wǎng)絡(luò)虛擬化也是構(gòu)建 aBos 一體機(jī)中非常重要的一部分,在私有云、公有云發(fā)展迅速的今天,我們分支機(jī)構(gòu) IT 基礎(chǔ)架構(gòu)如果繼續(xù)采用傳統(tǒng) IT 架構(gòu)中硬件方式定義網(wǎng)絡(luò)的話,就會(huì)存在諸多問題:1、如何保障分支網(wǎng)絡(luò)設(shè)備單點(diǎn)故障問題,雙機(jī)部署必然帶來高成本。2、虛擬化后的分支數(shù)據(jù)中心涉及多出口,如何識(shí)別流量,只能訪問到公有云或者 總部數(shù)據(jù)中心。3、對(duì)如何滿足分支機(jī)構(gòu)快速部署網(wǎng)絡(luò)設(shè)備,靈活擴(kuò)展分支業(yè)務(wù),提出了更高的要求。4、分支業(yè)務(wù)需要安全防護(hù),部分?jǐn)?shù)據(jù)如何保證安

49、全清洗后傳輸?shù)綌?shù)據(jù)中心。6、高昂的專線線路,如何實(shí)現(xiàn) VPN 替換,滿足廣域網(wǎng)鏈路優(yōu)化。7、集團(tuán)業(yè)務(wù)龐大,多分支機(jī)構(gòu)的集中管理如何智能化, 能否實(shí)現(xiàn)分支“ZEROIT”。基于上述問題,深信服采用了業(yè)界成熟的 NFV 的解決方案,我們稱之為 aNet,通過 NFV 實(shí)現(xiàn)網(wǎng)絡(luò)中的所需各類網(wǎng)絡(luò)功能資源(包括基礎(chǔ)的路由交換、安全防護(hù)、上網(wǎng)行為管理、IPSEC VPN、廣域網(wǎng)優(yōu)化等)按需分配和靈活調(diào)度,從而實(shí)現(xiàn) aBos 超融合架構(gòu)中的網(wǎng)絡(luò)虛擬化。除此之外,可以按需交付功能模塊即可滿足業(yè)務(wù)需求。aNET 網(wǎng)絡(luò)虛擬化技術(shù)原理NFV 以開放取代封閉,以通用替代專有將原本傳統(tǒng)的專業(yè)網(wǎng)元設(shè)備上的網(wǎng)絡(luò)功能 提取出

50、來虛擬化,運(yùn)行在通用的硬件平臺(tái)上,業(yè)界稱這種變化為 NFV 。N F V(Network Functions Virtualisation 網(wǎng)絡(luò)功能虛擬化)的目標(biāo)是希望通過廣泛采用的硬件承載各種各樣的網(wǎng)絡(luò)軟件功能,實(shí)現(xiàn)軟件的靈活加載,在數(shù)據(jù)中心、網(wǎng)絡(luò)節(jié)點(diǎn) 和用戶端等各個(gè)位置靈活的配置,加快網(wǎng)絡(luò)部署和調(diào)整的速度,降低業(yè)務(wù)部署的復(fù)雜 度及總體投資成本,提高網(wǎng)絡(luò)設(shè)備的統(tǒng)一化、通用化、適配性。NFV 與 SDN 有很強(qiáng)的互補(bǔ)性,NFV 增加了功能部署的靈活性,SDN 可進(jìn)一步推動(dòng)NFV 功能部署的靈活性和方便性。通過 NFV 技術(shù), 將網(wǎng)絡(luò)功能資源進(jìn)行虛擬化,使得網(wǎng)絡(luò)資源升級(jí)為虛擬化、可流動(dòng)的流態(tài)資源

51、, 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)-高性能平臺(tái)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)的過程占了包處理中很大一部分時(shí)間,換句話說,即使用戶空間應(yīng)用 程序什么都不做,而只是將數(shù)據(jù)包從接收端口傳送到發(fā)送端口,那么仍然會(huì)花費(fèi)大量 的處

52、理時(shí)間。當(dāng)網(wǎng)卡從網(wǎng)絡(luò)接收到一個(gè)數(shù)據(jù)幀后,會(huì)使用直接內(nèi)存訪問(DMA)將數(shù)據(jù)幀傳送到針對(duì)這一目的而預(yù)先分配的內(nèi)核緩沖區(qū)內(nèi),更新適當(dāng)?shù)慕邮彰枋龇h(huán),然后發(fā)出中斷通知數(shù)據(jù)幀的到達(dá)。操作系統(tǒng)對(duì)中斷進(jìn)行處理,更新環(huán),然后將數(shù)據(jù)幀交給網(wǎng)絡(luò)堆棧。 網(wǎng)絡(luò)堆棧對(duì)數(shù)據(jù)進(jìn)行處理,如果數(shù)據(jù)幀的目的地是本地套接字,那么就將數(shù)據(jù)復(fù)制到該套接字,而擁有該套接字的用戶空間應(yīng)用程序就接收到了這些數(shù)據(jù)。進(jìn)行傳輸時(shí),用戶應(yīng)用程序通過系統(tǒng)調(diào)用將數(shù)據(jù)寫入到一個(gè)套接字,使 Linux 內(nèi)核將數(shù)據(jù)從用戶緩沖區(qū)復(fù)制到內(nèi)核緩沖區(qū)中。然后網(wǎng)絡(luò)堆棧對(duì)數(shù)據(jù)進(jìn)行處理,并根據(jù) 需要對(duì)其進(jìn)行封裝,然后再調(diào)用網(wǎng)卡驅(qū)動(dòng)程序。網(wǎng)卡驅(qū)動(dòng)程序會(huì)更新適當(dāng)?shù)膫鬏斆枋?

53、符環(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ù)幀相關(guān)的緩沖區(qū)。傳統(tǒng)模式下 CPU 損耗主要發(fā)生在如下幾個(gè)地方:中斷處理:這包括在接收到中斷時(shí)暫停正在執(zhí)行的任務(wù),對(duì)中斷進(jìn)行處理,并調(diào)度 soft IRQ 處理程序來執(zhí)行中斷調(diào)用的實(shí)際工作。隨著網(wǎng)絡(luò)流量負(fù)荷的增加,系統(tǒng)將會(huì)花費(fèi)越來越多的時(shí)間來處理中斷,當(dāng)流量速度達(dá)到 10G 以太網(wǎng)卡的線路速度時(shí)就會(huì)嚴(yán)重影響性能。而對(duì)于有著多個(gè) 10G 以太網(wǎng)卡的情況,那么系統(tǒng)可以會(huì)被中斷淹沒, 對(duì)所有的服

54、務(wù)產(chǎn)生負(fù)面影響。上下文切換:上下文切換指的是將來自當(dāng)前執(zhí)行線程的寄存器和狀態(tài)信息加以保 存,之后再將來自被搶占線程的寄存器和狀態(tài)信息加以恢復(fù),使該線程能夠從原先中 斷的地方重新開始執(zhí)行。調(diào)度和中斷都會(huì)引發(fā)上下文切換。系統(tǒng)調(diào)用:系統(tǒng)調(diào)用會(huì)造成用戶模式切換到內(nèi)核模式,然后再切換回用戶模式。 這會(huì)造成管道沖刷并污染高速緩存。數(shù)據(jù)復(fù)制: 數(shù)據(jù)幀會(huì)從內(nèi)核緩沖區(qū)復(fù)制到用戶套接字,并從用戶套接字復(fù)制到內(nèi)核緩沖區(qū)。執(zhí)行這一操作的時(shí)間取決于復(fù)制的數(shù)據(jù)量。調(diào)度:調(diào)度程序使每個(gè)線程都能運(yùn)行很短的一段時(shí)間,造成多任務(wù)內(nèi)核中并發(fā)執(zhí)行的假象。當(dāng)發(fā)生調(diào)度定時(shí)器中斷或在其他一些檢查時(shí)間點(diǎn)上,Linux 調(diào)度程序就會(huì)運(yùn)行,以檢

55、查當(dāng)前線程是否時(shí)間已到。當(dāng)調(diào)度程序決定應(yīng)該運(yùn)行另一個(gè)線程時(shí),就會(huì) 發(fā)生上下文切換。aNet 底層的實(shí)現(xiàn)- 構(gòu)建高性能平臺(tái)數(shù)據(jù)平面Linux 等通用操作系統(tǒng),必須公平地對(duì)待網(wǎng)絡(luò)應(yīng)用程序和非網(wǎng)絡(luò)應(yīng)用程序,導(dǎo)致設(shè)計(jì)上達(dá)不到高 IO 吞吐,深信服的 aNet 數(shù)據(jù)面設(shè)計(jì)上,借鑒了 netmap 和 dpdk 的方案,針對(duì)數(shù)據(jù) IO 密集型網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì)。1.支持專有網(wǎng)卡和通用網(wǎng)卡對(duì)于 Intel 和 Broadcom 的 e1000e,igb,ixgbe,bnx2,tg3,bnx2x 等可編程網(wǎng)卡,支持高性能方案,對(duì) e1000 等網(wǎng)卡,支持通用方案。保證硬件兼容性。2.跨內(nèi)核跨進(jìn)程的全局內(nèi)存池深信

56、服設(shè)計(jì)并實(shí)現(xiàn)了零拷貝的數(shù)據(jù)面環(huán)境,一個(gè)跨內(nèi)核跨進(jìn)程的全局內(nèi)存引用機(jī) 制,真正做到網(wǎng)卡收包一次拷貝,所有進(jìn)程共享引用的方式,數(shù)據(jù)可以從網(wǎng)卡傳送到 內(nèi)核、應(yīng)用層、虛擬機(jī)而無(wú)需再次拷貝。內(nèi)存池自動(dòng)增長(zhǎng),自動(dòng)回收。3.避免中斷處理和上下文切換單數(shù)據(jù)線程親和鎖定到硬件線程,避免內(nèi)核和用戶空間之間的上下文切換、線程 切換和中斷處理,同時(shí)每個(gè)線程有直接的高速緩沖,避免了緩沖區(qū)爭(zhēng)用。在理想情況下,當(dāng)數(shù)據(jù)包到達(dá)系統(tǒng)時(shí),所有處理該數(shù)據(jù)包所需的信息最好都已經(jīng) 在內(nèi)核的本地高速緩存中。我們可以設(shè)想一下,如果當(dāng)數(shù)據(jù)包到達(dá)時(shí),查找表項(xiàng)目、 數(shù)據(jù)流上下文、以及連接控制塊都已經(jīng)在高速緩存中的話,那么就可以直接對(duì)數(shù)據(jù)包 進(jìn)行處

57、理,而無(wú)需“掛起”并等待外部順序內(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)程死掉, 我們?cè)O(shè)計(jì)了檢測(cè)監(jiān)控機(jī)制,在最極端的情況,即使進(jìn)程意外死亡,也能秒級(jí)別做到虛擬機(jī)無(wú)感知的網(wǎng)絡(luò)恢復(fù)。數(shù)據(jù)平面負(fù)責(zé)報(bào)文的轉(zhuǎn)發(fā),是整個(gè)系統(tǒng)的核心,數(shù)據(jù)平面由多個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)線程和 一個(gè)控制線程組成,控制線程負(fù)責(zé)接收控制進(jìn)程配置的消息,數(shù)據(jù)線程是實(shí)現(xiàn)報(bào)文的 處理。在數(shù)據(jù)線程中實(shí)現(xiàn)快速路徑與慢速路徑分離的報(bào)文處理方式,報(bào)文的轉(zhuǎn)發(fā)是基于session 的,一條流匹配到一個(gè) session,該條流的第一個(gè)報(bào)文負(fù)責(zé)查找各種表項(xiàng),創(chuàng)建 session,并將查找表項(xiàng)的結(jié)果記錄

58、到 session 中,該條流的后續(xù)的報(bào)文只需查找session,并根據(jù) session 中記錄的信息對(duì)報(bào)文進(jìn)行處理和轉(zhuǎn)發(fā)的。系統(tǒng)中所有的報(bào)文都是由數(shù)據(jù)線程接收的,需要做轉(zhuǎn)發(fā)的報(bào)文,不需要送到linux 協(xié)議棧,直接在數(shù)據(jù)線程中處理后從網(wǎng)卡發(fā)出,對(duì)于到設(shè)備本身的報(bào)文(如 ssh, telnet,ospf, bgp, dhcp 等等),數(shù)據(jù)線程無(wú)法直接處理,通過 TUN 接口將報(bào)文重新送到 linux 協(xié)議棧處理,從 linux 協(xié)議棧的發(fā)出的報(bào)文需經(jīng)過數(shù)據(jù)線程中轉(zhuǎn)后才可從 折本發(fā)出。aNet 數(shù)據(jù)層面,在六核 2.0 GHz 英特爾至強(qiáng)處理器 L5638 上使用最長(zhǎng)前綴匹配(LPM)時(shí),對(duì)于使

59、用六個(gè)核心中的四個(gè)核心、每個(gè)核一個(gè)線程、四個(gè) 10G 以太網(wǎng)端口的情況,64 字節(jié)數(shù)據(jù)包的 IP 第三層轉(zhuǎn)發(fā)性能達(dá)到了 900 萬(wàn) pps。這比原始 Linux 的性能差不多提高了九倍(原始 Linux 在雙處理器六核 2.4GHz 模式下的性能為 100 萬(wàn) pps)。數(shù)據(jù)面為底層處理和數(shù)據(jù)包 IO 提供了與硬件打交道的功能,而應(yīng)用層協(xié)議棧在上方提供了一個(gè)優(yōu)化的網(wǎng)絡(luò)堆棧實(shí)現(xiàn)。與 Linux SMP 解決方案相比,降低了對(duì) Linux 內(nèi)核的依賴性,從而具有更好的擴(kuò)展性和穩(wěn)定性??刂破矫嬗辛藬?shù)據(jù)面和協(xié)議棧做支持,控制面就可以實(shí)現(xiàn)豐富的應(yīng)用功能??刂泼鎸?shí)現(xiàn)了 本地配套服務(wù),一些基礎(chǔ)功能例如 DH

60、CP 服務(wù),RSTP 服務(wù),DNS 代理功能。這些內(nèi)置服務(wù)可以直接提供給虛擬機(jī),用戶無(wú)需安裝第三方類似軟件。aNet 功能特性vAC 上網(wǎng)行為管理在分支網(wǎng)絡(luò)建設(shè)中,上網(wǎng)行為管理是必不可少的網(wǎng)絡(luò)設(shè)備。不僅能夠滿足分支員 工上網(wǎng)行為的審計(jì),同時(shí)進(jìn)行流量控制保證分支核心業(yè)務(wù)的正常使用。除此之外,實(shí)現(xiàn)應(yīng)用控制規(guī)范化員工的上網(wǎng)行為,對(duì)分支私接 WiFi 進(jìn)行管理,保證內(nèi)網(wǎng)環(huán)境不泄露。1 、全網(wǎng)全終端統(tǒng)一管控、管理無(wú)漏洞能夠管理有線網(wǎng)絡(luò)、無(wú)線網(wǎng)絡(luò),同時(shí)管理移動(dòng)終端、PC/筆記本,管理無(wú)漏洞;能夠?qū)?600 多種移動(dòng)應(yīng)用進(jìn)行有效地識(shí)別和精細(xì)管控(如微信傳文件、微信聊天、微信朋友圈、微信游戲);對(duì)非法無(wú)線熱點(diǎn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論