超融合解決方案完整版本_第1頁
超融合解決方案完整版本_第2頁
超融合解決方案完整版本_第3頁
超融合解決方案完整版本_第4頁
超融合解決方案完整版本_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

超融合解決方案V3.0頁超融合解決方案目錄TOC\o"1-6"\h\z\u第1章、 前言 61.1 IT時代的變革 61.2 白皮書總覽 8第2章、 超融合技術(shù)架構(gòu) 91.1 超融合架構(gòu)概述 91.1.1 超融合架構(gòu)的定義 91.2 超融合架構(gòu)組成模塊 91.2.1.1 系統(tǒng)總體架構(gòu) 91.2.1.2 aSV計算虛擬化平臺 101.2.1.2.1 概述 101.2.1.2.2 aSV技術(shù)原理 111.2.1.2.2.1 aSV的Hypervisor架構(gòu) 131.2.1.2.2.2 Hypervisor虛擬化實現(xiàn) 171.2.1.2.3 aSV的技術(shù)特性 251.2.1.2.3.1 內(nèi)存NUMA技術(shù) 251.2.1.2.3.2 SR-IOV 261.2.1.2.3.3 Faik-raid 281.2.1.2.3.4 虛擬機(jī)生命周期管理 291.2.1.2.3.5 虛擬交換機(jī) 301.2.1.2.3.6 動態(tài)資源調(diào)度 301.2.1.2.4 aSV的特色技術(shù) 311.2.1.2.4.1 快虛 311.2.1.2.4.2 虛擬機(jī)熱遷移 321.2.1.2.4.3 虛擬磁盤加密 331.2.1.2.4.4 虛擬機(jī)的HA 341.2.1.2.4.5 多USB映射 351.2.1.3 aSAN存儲虛擬化 361.2.1.3.1 存儲虛擬化概述 361.2.1.3.1.1 虛擬后對存儲帶來的挑戰(zhàn) 361.2.1.3.1.2 分布式存儲技術(shù)的發(fā)展 371.2.1.3.1.3 aSAN概述 371.2.1.3.2 aSAN技術(shù)原理 381.2.1.3.2.1 主機(jī)管理 381.2.1.3.2.2 文件副本 381.2.1.3.2.3 磁盤管理 401.2.1.3.2.4 SSD讀緩存原理 421.2.1.3.2.5 SSD寫緩存原理 481.2.1.3.2.6 磁盤故障處理機(jī)制 521.2.1.3.3 aSAN功能特性 641.2.1.3.3.1 存儲精簡配置 641.2.1.3.3.2 aSAN私網(wǎng)鏈路聚合 651.2.1.3.3.3 數(shù)據(jù)一致性檢查 661.2.1.4 aNet網(wǎng)絡(luò)虛擬化 661.2.1.4.1 網(wǎng)絡(luò)虛擬化概述 661.2.1.4.2 aNET網(wǎng)絡(luò)虛擬化技術(shù)原理 671.2.1.4.2.1 SDN 671.2.1.4.2.2 NFV 681.2.1.4.2.3 aNet底層的實現(xiàn) 691.2.1.4.3 功能特性 741.2.1.4.3.1 aSW分布式虛擬交換機(jī) 741.2.1.4.3.2 aRouter 741.2.1.4.3.3 vAF 751.2.1.4.3.4 vAD 751.2.1.4.4 aNet的特色技術(shù) 761.2.1.4.4.1 網(wǎng)絡(luò)探測功能 761.2.1.4.4.2 全網(wǎng)流量可視 761.2.1.4.4.3 所畫即所得業(yè)務(wù)邏輯拓?fù)?771.2.2 超融合架構(gòu)產(chǎn)品介紹 771.2.2.1 產(chǎn)品概述 771.2.2.2 產(chǎn)品定位 78第3章、 超融合架構(gòu)帶來的核心價值 791.1 可靠性: 791.2 安全性 791.3 靈活彈性 791.4 易操作性 79第4章、 超融合架構(gòu)最佳實踐 81前言IT時代的變革20世紀(jì)90年代,隨著Windows的廣泛使用及Linux服務(wù)器操作系統(tǒng)的出現(xiàn)奠定了x86服務(wù)器的行業(yè)標(biāo)準(zhǔn)地位,然而x86服務(wù)器部署的增長帶來了新的IT基礎(chǔ)架構(gòu)和運作難題,包括:基礎(chǔ)架構(gòu)利用率低、物理基礎(chǔ)架構(gòu)成本日益攀升、IT管理成本不斷提高以及對關(guān)鍵應(yīng)用故障和災(zāi)難保護(hù)不足等問題。X86服務(wù)器虛擬化技術(shù)的出現(xiàn),通過將x86系統(tǒng)轉(zhuǎn)變成通用的共享硬件基礎(chǔ)架構(gòu),充分挖掘硬件的潛力,提高硬件的利用效率,降低硬件和運營成本,并且簡化運維降低管理成本,最終幫助用戶把更多的時間和成本轉(zhuǎn)移到對業(yè)務(wù)的投入上。隨著云計算和虛擬化技術(shù)向構(gòu)建新一代數(shù)據(jù)中心方向發(fā)展,關(guān)鍵以虛擬化為基礎(chǔ),實現(xiàn)管理以及業(yè)務(wù)的集中,對數(shù)據(jù)中心資源進(jìn)行動態(tài)調(diào)整和分配,重點滿足企業(yè)關(guān)鍵應(yīng)用向X86系統(tǒng)遷移對于資源高性能、高可靠、安全性和高可適應(yīng)性上的要求,同時提高基礎(chǔ)架構(gòu)的自動化管理水平,確保滿足基礎(chǔ)設(shè)施快速適應(yīng)業(yè)務(wù)的商業(yè)訴求,支持企業(yè)應(yīng)用云化部署。云計算并不是一種新的技術(shù),而是在一個新理念的驅(qū)動下產(chǎn)生的技術(shù)組合。在云計算之前,企業(yè)部署一套服務(wù),需要經(jīng)歷組網(wǎng)規(guī)劃,容量規(guī)劃,設(shè)備選型,下單,付款,發(fā)貨,運輸,安裝,部署,調(diào)試的整個完整過程。這個周期在大型項目中需要以周甚至月來計算。在引入云計算后,這整個周期縮短到以分鐘來計算。IT業(yè)有一條摩爾定律,芯片速度容量每18個月提升一倍。同時,IT行業(yè)還有一條反摩爾定律,所有無法追隨摩爾定律的廠家將被淘汰。IT行業(yè)是快魚吃慢魚的行業(yè),使用云計算可以提升IT設(shè)施供給效率,不使用則會拖慢產(chǎn)品或服務(wù)的擴(kuò)張腳步,一步慢步步慢。云計算當(dāng)然還會帶來別的好處,比如提升復(fù)用率縮減成本,降低能源消耗,縮減維護(hù)人力成本等方面的優(yōu)勢,但在反摩爾定律面前,已經(jīng)顯得不是那么重要。業(yè)界關(guān)于云計算技術(shù)的定義,是通過虛擬化技術(shù),將不同的基礎(chǔ)設(shè)施標(biāo)準(zhǔn)化為相同的業(yè)務(wù)部件,然后利用這些業(yè)務(wù)部件,依據(jù)用戶需求自動化組合來滿足各種個性化的訴求。云著重于虛擬化,標(biāo)準(zhǔn)化,和自動化。的超融合架構(gòu)是一款成熟的Iaas層的云計算解決方案,除滿足上面所述的虛擬化,標(biāo)準(zhǔn)化和自動化訴求外,秉承公司產(chǎn)品的優(yōu)秀基因,向您提供簡單易用,安全可靠的產(chǎn)品。本文檔向您講述超融合架構(gòu)解決方案中所用到的相關(guān)技術(shù),通過閱讀本文檔,您能夠了解到:云的虛擬化,標(biāo)準(zhǔn)化,易用性,易管理這些關(guān)鍵技術(shù)是如何在的超融合架構(gòu)解決方案中體現(xiàn)的;超融合架構(gòu)解決方案是如何做到簡單,安全可靠的;超融合解決方案所包含的部件,所涉及的主要技術(shù)領(lǐng)域,使用的主要的一些技術(shù);針對超融合架構(gòu)提供的各種技術(shù)選擇,您怎樣使用它們來滿足您的業(yè)務(wù)訴求。白皮書總覽本書介紹的內(nèi)容大致如下:第一章、在前言部分,給您對云計算,云平臺有一個概括性的認(rèn)識,并對本文檔的閱讀給出指導(dǎo)。第二章、講述超融合架構(gòu)中的主要功能模塊,各個功能模塊的技術(shù)細(xì)節(jié)介紹。第三章、向您介紹超融合架構(gòu)中的技術(shù)在為客戶帶來的核心價值。第四章、分享超融合架構(gòu)在客戶中的實際應(yīng)用場景,并給出超融合架構(gòu)產(chǎn)品的體驗途徑,非常歡迎您來試用。超融合技術(shù)架構(gòu)超融合架構(gòu)概述超融合架構(gòu)的定義超融合基礎(chǔ)架構(gòu),這是一種將計算、網(wǎng)絡(luò)和存儲等資源作為基本組成元素,根據(jù)系統(tǒng)需求進(jìn)行選擇和預(yù)定義的一種技術(shù)架構(gòu),具體實現(xiàn)方式上一般是指在同一套單元節(jié)點(x86服務(wù)器)中融入軟件虛擬化技術(shù)(包括計算、網(wǎng)絡(luò)、存儲、安全等虛擬化),而每一套單元節(jié)點可以通過網(wǎng)絡(luò)聚合起來,實現(xiàn)模塊化的無縫橫向擴(kuò)展(scale-out),構(gòu)建統(tǒng)一的資源池。超融合架構(gòu)組成模塊系統(tǒng)總體架構(gòu)超融合架構(gòu)圖超融合架構(gòu)在基于底層基礎(chǔ)架構(gòu)(標(biāo)準(zhǔn)的X86硬件)上將計算、存儲、網(wǎng)絡(luò)、安全軟件化,通過這種軟件化的方式,即計算虛擬化aSV、存儲虛擬化aSAN、網(wǎng)絡(luò)虛擬化aNet,構(gòu)建了數(shù)據(jù)中心里所需的最小資源單元,通過資源池中的最小單元,提供了數(shù)據(jù)中心IT基礎(chǔ)架構(gòu)中所需的全部資源。aSV計算虛擬化平臺概述計算資源虛擬化技術(shù)就是將通用的x86服務(wù)器經(jīng)過虛擬化軟件,對最終用戶呈現(xiàn)標(biāo)準(zhǔn)的虛擬機(jī)。這些虛擬機(jī)就像同一個廠家生產(chǎn)的系列化的產(chǎn)品一樣,具備系列化的硬件配置,使用相同的驅(qū)動程序。虛擬化技術(shù)起源于大型機(jī),最早可以追溯到上世紀(jì)六、七十年代大型機(jī)上的虛擬分區(qū)技術(shù),即允許在一臺主機(jī)上運行多個操作系統(tǒng),讓用戶盡可能充分地利用昂貴的大型機(jī)資源。隨著技術(shù)的發(fā)展和市場競爭的需要,虛擬化技術(shù)向小型機(jī)或UNIX服務(wù)器上移植,只是由于真正使用大型機(jī)和小型機(jī)的用戶還是少數(shù),加上各廠商產(chǎn)品和技術(shù)之間的不兼容,使得虛擬化技術(shù)不太被公眾所關(guān)注。(注:由于X86架構(gòu)在設(shè)計之初并沒有考慮支持虛擬化技術(shù),它本身的結(jié)構(gòu)和復(fù)雜性使得在其之上進(jìn)行虛擬化非常困難,早期的X86架構(gòu)并沒有成為虛擬化技術(shù)的受益者)20世紀(jì)90年代,虛擬化軟件廠商采用一種軟件解決方案,以VMM(VirtualMachineMonitor,VMM虛擬機(jī)監(jiān)視器)為中心使X86服務(wù)器平臺實現(xiàn)虛擬化。然而這種純軟件的“全虛擬化”模式,每個GuestOS(客戶操作系統(tǒng))獲得的關(guān)鍵平臺資源都要由VMM控制和分配,需要利用二進(jìn)制轉(zhuǎn)換,而二進(jìn)制轉(zhuǎn)換帶來的開銷使得“完全虛擬化”的性能大打折扣。為解決性能問題,出現(xiàn)了一種新的虛擬化技術(shù)“半虛擬化”,即不需要二進(jìn)制轉(zhuǎn)換,而是通過對客戶操作系統(tǒng)進(jìn)行代碼級修改,使定制的GuestOS獲得額外的性能和高擴(kuò)展性,但是修改GuestOS也帶來了系統(tǒng)指令級的沖突及運行效率問題,需要投入大量優(yōu)化的工作。當(dāng)前,虛擬化技術(shù)已經(jīng)發(fā)展到了硬件支持的階段,“硬件虛擬化”技術(shù)就是把純軟件虛擬化技術(shù)的各項功能用硬件電路來實現(xiàn),可減少VMM運行的系統(tǒng)開銷,可同時滿足CPU半虛擬化和二進(jìn)制轉(zhuǎn)換技術(shù)的需求,的超融合架構(gòu)解決方案中的計算虛擬化采用aSV虛擬化系統(tǒng),通過將服務(wù)器資源虛擬化為多臺虛擬機(jī)。最終用戶可以在這些虛擬機(jī)上安裝各種軟件,掛載磁盤,調(diào)整配置,調(diào)整網(wǎng)絡(luò),就像普通的x86服務(wù)器一樣使用它。計算虛擬化是超融合的架構(gòu)中必不可少的關(guān)鍵因素,對于最終用戶,虛擬機(jī)比物理機(jī)的優(yōu)勢在于它可以很快速的發(fā)放,很方便的調(diào)整配置和組網(wǎng)。對于維護(hù)人員來講,虛擬機(jī)復(fù)用了硬件,這樣硬件更少,加上云平臺的自動維護(hù)能力,這樣整個IT系統(tǒng)的成本顯著降低。aSV技術(shù)原理服務(wù)器務(wù)器虛擬化前后的巨大差異,源于虛擬機(jī)與物理服務(wù)器的本質(zhì)區(qū)別上:虛擬機(jī)的定義:虛擬機(jī)(VirtualMachine)是由虛擬化層提供的高效、獨立的虛擬計算機(jī)系統(tǒng),每臺虛擬機(jī)都是一個完整的系統(tǒng),它具有處理器、內(nèi)存、網(wǎng)絡(luò)設(shè)備、存儲設(shè)備和BIOS,因此操作系統(tǒng)和應(yīng)用程序在虛擬機(jī)中的運行方式與它們在物理服務(wù)器上的運行方式?jīng)]有什么區(qū)別。虛擬機(jī)的本質(zhì)區(qū)別:與物理服務(wù)器相比,虛擬機(jī)不是由真實的電子元件組成,而是由一組虛擬組件(文件)組成,這些虛擬組件與物理服務(wù)器的硬件配置無關(guān),關(guān)鍵與物理服務(wù)器相比,虛擬機(jī)具有以下優(yōu)勢:抽象解耦:1.可在任何X86架構(gòu)的服務(wù)器上運行;2.上層應(yīng)用操作系統(tǒng)不需修改即可運行;分區(qū)隔離:1.可與其他虛擬機(jī)同時運行;2.實現(xiàn)數(shù)據(jù)處理、網(wǎng)絡(luò)連接和數(shù)據(jù)存儲的安全隔離;封裝移動:1.可封裝于文件之中,通過簡單的文件復(fù)制實現(xiàn)快速部署、備份及還原;2.可便捷地將整個系統(tǒng)(包括虛擬硬件、操作系統(tǒng)和配置好的應(yīng)用程序)在不同的物理服務(wù)器之間進(jìn)行遷移,甚至可以在虛擬機(jī)正在運行的情況下進(jìn)行遷移;aSV的Hypervisor架構(gòu)Hypervisor是一種運行在物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許多個操作系統(tǒng)和應(yīng)用共享一套基礎(chǔ)物理硬件,因此也可以看作是虛擬環(huán)境中的“元”操作系統(tǒng),它可以協(xié)調(diào)訪問服務(wù)器上的所有物理設(shè)備和虛擬機(jī),也叫虛擬機(jī)監(jiān)視器(VirtualMachineMonitor)。Hypervisor是所有虛擬化技術(shù)的核心。非中斷地支持多工作負(fù)載遷移的能力是Hypervisor的基本功能。當(dāng)服務(wù)器啟動并執(zhí)行Hypervisor時,它會給每一臺虛擬機(jī)分配適量的內(nèi)存、CPU、網(wǎng)絡(luò)和磁盤,并加載所有虛擬機(jī)的客戶操作系統(tǒng)。虛擬化技術(shù)架構(gòu)Hypervisor,常見的Hypervisor分兩類:Type-I(裸金屬型)指VMM直接運作在裸機(jī)上,使用和管理底層的硬件資源,GuestOS對真實硬件資源的訪問都要通過VMM來完成,作為底層硬件的直接操作者,VMM擁有硬件的驅(qū)動程序。裸金屬虛擬化中Hypervisor直接管理調(diào)用硬件資源,不需要底層操作系統(tǒng),也可以理解為Hypervisor被做成了一個很薄的操作系統(tǒng)。這種方案的性能處于主機(jī)虛擬化與操作系統(tǒng)虛擬化之間。代表是VMwareESXServer、CitrixXenServer和MicrosoftHyper-V,Linux

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

Server(GSX)、Workstation和Microsoft

Virtual

PC、Virtual

Server等。由于主機(jī)型Hypervisor的效率問題,的aSV采用了裸機(jī)型Hypervisor中的LinuxKVM虛擬化,即為Type-I(裸金屬型)。KVM(Kenerl-basedVirtualMachine)是基于linux內(nèi)核虛擬化技術(shù),自linux2.6.20之后就集成在linux的各個主要發(fā)行版本中。它使用linux自身的調(diào)度器進(jìn)行管理,所以相對于xen,其核心源碼很少。KVM是基于硬件虛擬化擴(kuò)展(Intel

VT-

X

AMD-V)和

QEMU

的修改版,KVM屬于Linuxkernel的一個模塊,可以用命令modprobe去加載KVM模塊。加載了該模塊后,才能進(jìn)一步通過工具創(chuàng)建虛擬機(jī)。但是僅有KVM模塊是不夠的。因為用戶無法直接控制內(nèi)核去做事情,還必須有一個運行在用戶空間的工具才行。這個用戶空間的工具,我們選擇了已經(jīng)成型的開源虛擬化軟件QEMU。QEMU也是一個虛擬化軟件,它的特點是可虛擬不同的CPU,比如說在x86的CPU上可虛擬一個power的CPU,并可利用它編譯出可運行在power上的CPU,并可利用它編譯出可運行在power上的程序。KVM使用了QEMU的一部分,并稍加改造,就成了可控制KVM的用戶空間工具了。這就是KVM和QEMU的關(guān)系。如下圖:KVM的實現(xiàn)模塊有兩個,分別是:kvm.ko是提供核心虛擬化的基礎(chǔ)架構(gòu);特定于處理器的模塊kvm-intel.ko和kvm-amd.ko。其設(shè)計目標(biāo)是在需要引導(dǎo)多個未改動的PC操作系統(tǒng)時支持完整的硬件模擬。一個普通的linux進(jìn)程有兩種運行模式:內(nèi)核和用戶。而KVM增加了第三種模式:客戶模式(有自己的內(nèi)核和用戶模式)。在kvm模型中,每一個虛擬機(jī)都是由linux調(diào)度程序管理的標(biāo)準(zhǔn)進(jìn)程??傮w來說,kvm由兩個部分組成:一個是管理虛擬硬件的設(shè)備驅(qū)動,該驅(qū)動使用字符設(shè)備/dev/kvm作為管理接口;另一個是模擬PC硬件的用戶空間組件,這是一個稍作修改的qemu進(jìn)程。同時,aSV采用KVM優(yōu)勢有:嵌入到Linux正式Kernel(提高兼容性)代碼級資源調(diào)用(提高性能)虛擬機(jī)就是一個進(jìn)程(內(nèi)存易于管理)直接支持NUMA技術(shù)(提高擴(kuò)展性)保持開源發(fā)展模式(強大的社區(qū)支持)Hypervisor虛擬化實現(xiàn)VMM(VirtualMachineMonitor)對物理資源的虛擬可以劃分為三個部分:CPU虛擬化、內(nèi)存虛擬化和I/O設(shè)備虛擬化,其中以CPU的虛擬化最為關(guān)鍵。經(jīng)典的虛擬化方法:現(xiàn)代計算機(jī)體系結(jié)構(gòu)一般至少有兩個特權(quán)級(即用戶態(tài)和核心態(tài),x86有四個特權(quán)級Ring0~Ring3)用來分隔系統(tǒng)軟件和應(yīng)用軟件。那些只能在處理器的最高特權(quán)級(內(nèi)核態(tài))執(zhí)行的指令稱之為特權(quán)指令,一般可讀寫系統(tǒng)關(guān)鍵資源的指令(即敏感指令)決大多數(shù)都是特權(quán)指令(X86存在若干敏感指令是非特權(quán)指令的情況)。如果執(zhí)行特權(quán)指令時處理器的狀態(tài)不在內(nèi)核態(tài),通常會引發(fā)一個異常而交由系統(tǒng)軟件來處理這個非法訪問(陷入)。經(jīng)典的虛擬化方法就是使用“特權(quán)解除”和“陷入-模擬”的方式,即將GuestOS運行在非特權(quán)級,而將VMM運行于最高特權(quán)級(完全控制系統(tǒng)資源)。解除了GuestOS的特權(quán)級后,GuestOS的大部分指令仍可以在硬件上直接運行,只有執(zhí)行到特權(quán)指令時,才會陷入到VMM模擬執(zhí)行(陷入-模擬)?!跋萑?模擬”的本質(zhì)是保證可能影響VMM正確運行的指令由VMM模擬執(zhí)行,大部分的非敏感指令還是照常運行。因為X86指令集中有若干條指令是需要被VMM捕獲的敏感指令,但是卻不是特權(quán)指令(稱為臨界指令),因此“特權(quán)解除”并不能導(dǎo)致他們發(fā)生陷入模擬,執(zhí)行它們不會發(fā)生自動的“陷入”而被VMM捕獲,從而阻礙了指令的虛擬化,這也稱之為X86的虛擬化漏洞。 X86架構(gòu)虛擬化的實現(xiàn)方式可分為:1、X86“全虛擬化”(指所抽象的VM具有完全的物理機(jī)特性,OS在其上運行不需要任何修改)Full派秉承無需修改直接運行的理念,對“運行時監(jiān)測,捕捉后模擬”的過程進(jìn)行優(yōu)化。該派內(nèi)部之實現(xiàn)又有些差別,其中以VMWare為代表的基于二進(jìn)制翻譯(BT)的全虛擬化為代表,其主要思想是在執(zhí)行時將VM上執(zhí)行的GuestOS指令,翻譯成x86指令集的一個子集,其中的敏感指令被替換成陷入指令。翻譯過程與指令執(zhí)行交叉進(jìn)行,不含敏感指令的用戶態(tài)程序可以不經(jīng)翻譯直接執(zhí)行。2、X86“半虛擬化”(指需OS協(xié)助的虛擬化,在其上運行的OS需要修改)Para派的基本思想是通過修改GuestOS的代碼,將含有敏感指令的操作,替換為對VMM的超調(diào)用Hypercall,類似OS的系統(tǒng)調(diào)用,將控制權(quán)轉(zhuǎn)移到VMM,該技術(shù)因VMM項目而廣為人知。該技術(shù)的優(yōu)勢在于VM的性能能接近于物理機(jī),缺點在于需要修改GuestOS(如:Windows不支持修改)及增加的維護(hù)成本,關(guān)鍵修改GuestOS會導(dǎo)致操作系統(tǒng)對特定hypervisor的依賴性,因此很多虛擬化廠商基于VMM開發(fā)的虛擬化產(chǎn)品部分已經(jīng)放棄了Linux半虛擬化,而專注基于硬件輔助的全虛擬化開發(fā),來支持未經(jīng)修改的操作系統(tǒng)。3、X86“硬件輔助虛擬化”:其基本思想就是引入新的處理器運行模式和新的指令,使得VMM和GuestOS運行于不同的模式下,GuestOS運行于受控模式,原來的一些敏感指令在受控模式下全部會陷入VMM,這樣就解決了部分非特權(quán)的敏感指令的“陷入-模擬”難題,而且模式切換時上下文的保存恢復(fù)由硬件來完成,這樣就大大提高了“陷入-模擬”時上下文切換的效率。以IntelVT-x硬件輔助虛擬化技術(shù)為例,該技術(shù)增加了在虛擬狀態(tài)下的兩種處理器工作模式:根(Root)操作模式和非根(Non-root)操作模式。VMM運作在Root操作模式下,而GuestOS運行在Non-root操作模式下。這兩個操作模式分別擁有自己的特權(quán)級環(huán),VMM和虛擬機(jī)的GuestOS分別運行在這兩個操作模式的0環(huán)。這樣,既能使VMM運行在0環(huán),也能使GuestOS運行在0環(huán),避免了修改GuestOS。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ī)的計算單元通過vCPU對象來呈現(xiàn)。虛擬機(jī)只看到VMM呈現(xiàn)給它的vCPU。在VMM中,每個vCPU對應(yīng)一個VMCS(Virtual-MachineControlStructure)結(jié)構(gòu),當(dāng)vcpu被從物理CPU上切換下來的時候,其運行上下文會被保存在其對應(yīng)的VMCS結(jié)構(gòu)中;當(dāng)vcpu被切換到pcpu上運行時,其運行上下文會從對應(yīng)的VMCS結(jié)構(gòu)中導(dǎo)入到物理CPU上。通過這種方式,實現(xiàn)各vCPU之間的獨立運行。從虛擬機(jī)系統(tǒng)的結(jié)構(gòu)與功能劃分可以看出,客戶操作系統(tǒng)與虛擬機(jī)監(jiān)視器共同構(gòu)成了虛擬機(jī)系統(tǒng)的兩級調(diào)度框架,如圖所示是一個多核環(huán)境下虛擬機(jī)系統(tǒng)的兩級調(diào)度框架??蛻舨僮飨到y(tǒng)負(fù)責(zé)第2級調(diào)度,即線程或進(jìn)程在vCPU上的調(diào)度(將核心線程映射到相應(yīng)的虛擬CPU上)。虛擬機(jī)監(jiān)視器負(fù)責(zé)第1級調(diào)度,即vCPU在物理處理單元上的調(diào)度。兩級調(diào)度的調(diào)度策略和機(jī)制不存在依賴關(guān)系。vCPU調(diào)度器負(fù)責(zé)物理處理器資源在各個虛擬機(jī)之間的分配與調(diào)度,本質(zhì)上即把各個虛擬機(jī)中的vCPU按照一定的策略和機(jī)制調(diào)度在物理處理單元上可以采用任意的策略來分配物理資源,滿足虛擬機(jī)的不同需求。vCPU可以調(diào)度在一個或多個物理處理單元執(zhí)行(分時復(fù)用或空間復(fù)用物理處理單元),也可以與物理處理單元建立一對一固定的映射關(guān)系(限制訪問指定的物理處理單元)。內(nèi)存虛擬化圖3-6內(nèi)存虛擬化三層模型因為VMM(VirtualMachineMonitor)掌控所有系統(tǒng)資源,因此VMM握有整個內(nèi)存資源,其負(fù)責(zé)頁式內(nèi)存管理,維護(hù)虛擬地址到機(jī)器地址的映射關(guān)系。因GuestOS本身亦有頁式內(nèi)存管理機(jī)制,則有VMM的整個系統(tǒng)就比正常系統(tǒng)多了一層映射:A.虛擬地址(VA),指GuestOS提供給其應(yīng)用程序使用的線性地址空間;B.物理地址(PA),經(jīng)VMM抽象的、虛擬機(jī)看到的偽物理地址;C.機(jī)器地址(MA),真實的機(jī)器地址,即地址總線上出現(xiàn)的地址信號;映射關(guān)系如下:GuestOS:PA=f(VA)、VMM:MA=g(PA)VMM維護(hù)一套頁表,負(fù)責(zé)PA到MA的映射。GuestOS維護(hù)一套頁表,負(fù)責(zé)VA到PA的映射。實際運行時,用戶程序訪問VA1,經(jīng)GuestOS的頁表轉(zhuǎn)換得到PA1,再由VMM介入,使用VMM的頁表將PA1轉(zhuǎn)換為MA1。頁表虛擬化技術(shù)普通MMU只能完成一次虛擬地址到物理地址的映射,在虛擬機(jī)環(huán)境下,經(jīng)過MMU轉(zhuǎn)換所得到的“物理地址”并不是真正的機(jī)器地址。若需得到真正的機(jī)器地址,必須由VMM介入,再經(jīng)過一次映射才能得到總線上使用的機(jī)器地址。如果虛擬機(jī)的每個內(nèi)存訪問都需要VMM介入,并由軟件模擬地址轉(zhuǎn)換的效率是很低下的,幾乎不具有實際可用性,為實現(xiàn)虛擬地址到機(jī)器地址的高效轉(zhuǎn)換,現(xiàn)普遍采用的思想是:由VMM根據(jù)映射f和g生成復(fù)合的映射fg,并直接將這個映射關(guān)系寫入MMU。當(dāng)前采用的頁表虛擬化方法主要是MMU類虛擬化(MMUParavirtualization)和影子頁表,后者已被內(nèi)存的硬件輔助虛擬化技術(shù)所替代。1、MMUParavirtualization其基本原理是:當(dāng)GuestOS創(chuàng)建一個新的頁表時,會從它所維護(hù)的空閑內(nèi)存中分配一個頁面,并向VMM注冊該頁面,VMM會剝奪GuestOS對該頁表的寫權(quán)限,之后GuestOS對該頁表的寫操作都會陷入到VMM加以驗證和轉(zhuǎn)換。VMM會檢查頁表中的每一項,確保他們只映射了屬于該虛擬機(jī)的機(jī)器頁面,而且不得包含對頁表頁面的可寫映射。后VMM會根據(jù)自己所維護(hù)的映射關(guān)系,將頁表項中的物理地址替換為相應(yīng)的機(jī)器地址,最后再把修改過的頁表載入MMU。如此,MMU就可以根據(jù)修改過頁表直接完成虛擬地址到機(jī)器地址的轉(zhuǎn)換。2、內(nèi)存硬件輔助虛擬化內(nèi)存硬件輔助虛擬化技術(shù)原理圖內(nèi)存的硬件輔助虛擬化技術(shù)是用于替代虛擬化技術(shù)中軟件實現(xiàn)的“影子頁表”的一種硬件輔助虛擬化技術(shù),其基本原理是:GVA(客戶操作系統(tǒng)的虛擬地址)->GPA(客戶操作系統(tǒng)的物理地址)->HPA(宿主操作系統(tǒng)的物理地址)兩次地址轉(zhuǎn)換都由CPU硬件自動完成(軟件實現(xiàn)內(nèi)存開銷大、性能差)。以VT-x技術(shù)的頁表擴(kuò)充技術(shù)ExtendedPageTable(EPT)為例,首先VMM預(yù)先把客戶機(jī)物理地址轉(zhuǎn)換到機(jī)器地址的EPT頁表設(shè)置到CPU中;其次客戶機(jī)修改客戶機(jī)頁表無需VMM干預(yù);最后,地址轉(zhuǎn)換時,CPU自動查找兩張頁表完成客戶機(jī)虛擬地址到機(jī)器地址的轉(zhuǎn)換。使用內(nèi)存的硬件輔助虛擬化技術(shù),客戶機(jī)運行過程中無需VMM干預(yù),去除了大量軟件開銷,內(nèi)存訪問性能接近物理機(jī)。I/O設(shè)備虛擬化VMM通過I/O虛擬化來復(fù)用有限的外設(shè)資源,其通過截獲GuestOS對I/O設(shè)備的訪問請求,然后通過軟件模擬真實的硬件,目前I/O設(shè)備的虛擬化方式主要有三種:設(shè)備接口完全模擬、前端/后端模擬、直接劃分。1、設(shè)備接口完全模擬:即軟件精確模擬與物理設(shè)備完全一樣的接口,GuestOS驅(qū)動無須修改就能驅(qū)動這個虛擬設(shè)備,Vmware即使用該方法。優(yōu)點:沒有額外的硬件開銷,可重用現(xiàn)有驅(qū)動程序;缺點:為完成一次操作要涉及到多個寄存器的操作,使得VMM要截獲每個寄存器訪問并進(jìn)行相應(yīng)的模擬,這就導(dǎo)致多次上下文切換;由于是軟件模擬,性能較低。2、前端/后端模擬:VMM提供一個簡化的驅(qū)動程序(后端,Back-End),GuestOS中的驅(qū)動程序為前端(Front-End,FE),前端驅(qū)動將來自其他模塊的請求通過與GuestOS間的特殊通信機(jī)制直接發(fā)送給GuestOS的后端驅(qū)動,后端驅(qū)動在處理完請求后再發(fā)回通知給前端,VMM即采用該方法。優(yōu)點:基于事務(wù)的通信機(jī)制,能在很大程度上減少上下文切換開銷,沒有額外的硬件開銷;缺點:需要GuestOS實現(xiàn)前端驅(qū)動,后端驅(qū)動可能成為瓶頸。3、直接劃分:即直接將物理設(shè)備分配給某個GuestOS,由GuestOS直接訪問I/O設(shè)備(不經(jīng)VMM),目前與此相關(guān)的技術(shù)有IOMMU(IntelVT-d,PCI-SIG之SR-IOV等),旨在建立高效的I/O虛擬化直通道。優(yōu)點:可重用已有驅(qū)動,直接訪問減少了虛擬化開銷;缺點:需要購買較多額外的硬件。aSV的技術(shù)特性內(nèi)存NUMA技術(shù)功能描述非統(tǒng)一內(nèi)存訪問(NUMA)是服務(wù)器CPU和內(nèi)存設(shè)計的新架構(gòu)。傳統(tǒng)的服務(wù)器架構(gòu)下把內(nèi)存放到單一的存儲池中,這對于單處理器或單核心的系統(tǒng)工作良好。但是這種傳統(tǒng)的統(tǒng)一訪問方式,在多核心同時訪問內(nèi)存空間時會導(dǎo)致資源爭用和性能問題。畢竟,CPU應(yīng)該可以訪問所有的服務(wù)器內(nèi)存,但是不需要總是保持占用。實際上,CPU僅需要訪問工作負(fù)載實際運行時所需的內(nèi)存空間就可以了。因此NUMA改變了內(nèi)存對CPU的呈現(xiàn)方式。這是通過對服務(wù)器每個CPU的內(nèi)存進(jìn)行分區(qū)來實現(xiàn)的。每個分區(qū)(或內(nèi)存塊)稱為NUMA節(jié)點,而和該分區(qū)相關(guān)的處理器可以更快地訪問NUMA內(nèi)存,而且不需要和其它的NUMA節(jié)點爭用服務(wù)器上的資源(其它的內(nèi)存分區(qū)分配給其它處理器)。NUMA的概念跟緩存相關(guān)。處理器的速度要比內(nèi)存快得多,因此數(shù)據(jù)總是被移動到更快的本地緩存,這里處理器訪問的速度要比通用內(nèi)存快得多。NUMA本質(zhì)上為每個處理器配置了獨有的整體系統(tǒng)緩存,減少了多處理器試圖訪問統(tǒng)一內(nèi)存空間時的爭用和延遲。NUMA與服務(wù)器虛擬化完全兼容,而且NUMA也可以支持任意一個處理器訪問服務(wù)器上的任何一塊內(nèi)存區(qū)域。某個處理器當(dāng)然可以訪問位于不同區(qū)域上的內(nèi)存數(shù)據(jù),但是需要更多本地NUMA節(jié)點之外的傳輸,并且需要目標(biāo)NUMA節(jié)點的確認(rèn)。這增加了整體開銷,影響了CPU和內(nèi)存子系統(tǒng)的性能。NUMA對虛擬機(jī)負(fù)載不存在任何兼容性問題,但是理論上虛擬機(jī)最完美的方式應(yīng)該是在某個NUMA節(jié)點內(nèi)。這可以防止處理器需要跟其它的NUMA節(jié)點交互,從而導(dǎo)致工作負(fù)載性能下降。的aSV支持NUMA技術(shù),使得hypervisor和上層OS內(nèi)存互連,這樣OS不會在CPU和NUMA節(jié)點之間遷移工作負(fù)載。SR-IOV功能描述:通常針對虛擬化服務(wù)器的技術(shù)是通過軟件模擬共享和虛擬化網(wǎng)絡(luò)適配器的一個物理端口,以滿足虛擬機(jī)的I/O需求,模擬軟件的多個層為虛擬機(jī)作了I/O決策,因此導(dǎo)致環(huán)境中出現(xiàn)瓶頸并影響I/O性能。aSV虛擬化平臺提供的SR-IOV是一種不需要軟件模擬就可以共享I/O設(shè)備I/O端口的物理功能的方法,主要利用iNIC實現(xiàn)網(wǎng)橋卸載虛擬網(wǎng)卡,允許將物理網(wǎng)絡(luò)適配器的SR-IOV虛擬功能直接分配給虛擬機(jī),可以提高網(wǎng)絡(luò)吞吐量,并縮短網(wǎng)絡(luò)延遲,同時減少處理網(wǎng)絡(luò)流量所需的主機(jī)CPU開銷。技術(shù)原理:SR-IOV(SingleRootI/OVirtualization)是PCI-SIG推出的一項標(biāo)準(zhǔn),是虛擬通道(在物理網(wǎng)卡上對上層軟件系統(tǒng)虛擬出多個物理通道,每個通道具備獨立的I/O功能)的一個技術(shù)實現(xiàn),用于將一個PCIe設(shè)備虛擬成多個PCIe設(shè)備,每個虛擬PCIe設(shè)備如同物理PCIe設(shè)備一樣向上層軟件提供服務(wù)。通過SR-IOV一個PCIe設(shè)備不僅可以導(dǎo)出多個PCI物理功能,還可以導(dǎo)出共享該I/O設(shè)備上的資源的一組虛擬功能,每個虛擬功能都可以被直接分配到一個虛擬機(jī),能夠讓網(wǎng)絡(luò)傳輸繞過軟件模擬層,直接分配到虛擬機(jī),實現(xiàn)了將PCI功能分配到多個虛擬接口以在虛擬化環(huán)境中共享一個PCI設(shè)備的目的,并且降低了軟加模擬層中的I/O開銷,因此實現(xiàn)了接近本機(jī)的性能。如圖所示,在這個模型中,不需要任何透傳,因為虛擬化在終端設(shè)備上發(fā)生,允許管理程序簡單地將虛擬功能映射到VM上以實現(xiàn)本機(jī)設(shè)備性能和隔離安全。SR-IOV虛擬出的通道分為兩個類型:1、PF(PhysicalFunction)是完整的PCIe設(shè)備,包含了全面的管理、配置功能,Hypervisor通過PF來管理和配置網(wǎng)卡的所有I/O資源。2、VF(VirtualFunciton)是一個簡化的PCIe設(shè)備,僅僅包含了I/O功能,通過PF衍生而來好象物理網(wǎng)卡硬件資源的一個切片,對于Hypervisor來說,這個VF同一塊普通的PCIe網(wǎng)卡一模一樣??蛻魞r值:可滿足高網(wǎng)絡(luò)IO應(yīng)用要求,無需特別安裝驅(qū)動,且無損熱遷移、內(nèi)存復(fù)用、虛擬機(jī)網(wǎng)絡(luò)管控等虛擬化特性。Faik-raid一般情況下,當(dāng)主機(jī)系統(tǒng)有多塊硬盤時,通過組建Raid以提升磁盤性能或提供磁盤冗余,往往成為人們的首選考量。當(dāng)今主流raid實現(xiàn)方案大致可分為三種:硬件raid(hardwareraid):通過購買昂貴的raid卡實現(xiàn)。軟件raid(softwareraid):通過操作系統(tǒng)內(nèi)軟件創(chuàng)建陣列,raid處理開銷由CPU負(fù)責(zé)。主板raid(fakeraid):通過主板內(nèi)建raid控制器創(chuàng)建陣列,由操作系統(tǒng)驅(qū)動識別。相對于昂貴的硬件,主板raid(fakeraid)就成了我們不錯的選擇。Fakeraid僅提供廉價的控制器,raid處理開銷仍由CPU負(fù)責(zé),因此性能與CPU占用基本與softwareraid持平。如果只有單個linux系統(tǒng),使用softwareraid一般比fakeraid更健壯,但是,在多啟動環(huán)境中(例如windows與linux雙系統(tǒng)),為了使各個系統(tǒng)都能正確操作相同的raid分區(qū),就必須使用fakeraid了。Linux下最重要的raid管理程序為MDRAID。MDRAID是過濾不同文件系統(tǒng)(比如說ext2)和比較低級的磁盤驅(qū)動(比如說AHCI驅(qū)動和SAS驅(qū)動)之間數(shù)據(jù)的塊設(shè)備驅(qū)動程序。以Intel的主板為例,在BIOS中有一塊可選的只讀存儲器元件(或者光學(xué)只讀存儲器)可以創(chuàng)建Intel快速存儲RAID卷并且在啟動之前的環(huán)境中提供管理Intel快速存儲RAID卷的界面。在BIOS把控制權(quán)交給系統(tǒng)啟動引導(dǎo)程序之前,這個只讀存儲在系統(tǒng)內(nèi)存中留下自己支持的RAID類型,比如RAID5。RAID管理程序MDRAID會讀到這份數(shù)據(jù),并決定當(dāng)創(chuàng)建Intel快速存儲RAID卷時該使用哪種RAID類型。aSV3.7融入了對Fake-RAID的支持,現(xiàn)可支持Fake-RAID安裝與使用Fake-RAID存儲,目前可以使用intel模式的raid0,raid1,raid5,raid10,LSI模式的raid0虛擬機(jī)生命周期管理aSV提供了虛擬機(jī)從創(chuàng)建至刪除整個過程中的全面管理,就像人類的生命周期一樣,虛擬機(jī)最基本的生命周期就是創(chuàng)建、使用和刪除這三個狀態(tài)。當(dāng)然還包含如下幾個狀態(tài):創(chuàng)建虛擬機(jī)在虛擬機(jī)中安裝操作系統(tǒng)創(chuàng)建模板更新虛擬機(jī)硬件遷移虛擬機(jī)及/或虛擬機(jī)的存儲資源分析虛擬機(jī)的資源利用情況為虛擬機(jī)選擇數(shù)量合適的內(nèi)存或磁盤資源/調(diào)整資源數(shù)量虛擬機(jī)備份虛擬機(jī)恢復(fù)刪除虛擬機(jī)在虛擬機(jī)生命周期內(nèi),虛擬機(jī)可能會在某一個時間點經(jīng)歷上述這些狀態(tài)。aSV提供了完善的虛擬機(jī)生命周期管理工具,我們可以通過對虛擬機(jī)生命周期的規(guī)劃,想要最大化的發(fā)揮虛擬機(jī)的作用。虛擬交換機(jī)虛擬交換機(jī)是虛擬網(wǎng)絡(luò)和物理網(wǎng)絡(luò)的紐帶,虛擬交換機(jī)運行在虛擬服務(wù)器的Hypervisor內(nèi)部,虛擬機(jī)之間的流量、虛擬機(jī)到物理網(wǎng)絡(luò)之間的流量均通過vSwitch轉(zhuǎn)發(fā)。如圖:aSV提供了完善的虛擬交換機(jī)功能,包括:虛擬交換機(jī)端口Vlan的劃分,二層端口的類型切換,廣播風(fēng)暴的抑制,端口流量的統(tǒng)計,端口的狀態(tài)監(jiān)控。動態(tài)資源調(diào)度在虛擬化環(huán)境中,如果生產(chǎn)環(huán)境的應(yīng)用整合到硬件資源相對匱乏的物理主機(jī)上,虛擬機(jī)的資源需求往往會成為瓶頸,全部資源需求很有可能超過主機(jī)的可用資源,這樣業(yè)務(wù)系統(tǒng)的性能也無法保障。aSV虛擬化管理平臺提供的動態(tài)資源調(diào)度特性引入一個自動化機(jī)制,通過持續(xù)地動態(tài)平衡資源能力,將虛擬機(jī)遷移到有更多可用資源的主機(jī)上,確保每個虛擬機(jī)在任何節(jié)點都能及時地調(diào)用相應(yīng)的資源。即便大量運行對CPU和內(nèi)存占用較高的虛擬機(jī)(比如數(shù)據(jù)庫虛擬機(jī)),只要開啟了動態(tài)資源調(diào)度功能,就可實現(xiàn)全自動化的資源分配和負(fù)載平衡功能,也可以顯著地降低數(shù)據(jù)中心的成本與運營費用。aSV的動態(tài)資源調(diào)度功能通過跨越集群之間的心跳機(jī)制,定時監(jiān)測集群內(nèi)主機(jī)的CPU和內(nèi)存等計算資源的利用率,并根據(jù)用戶自定義的規(guī)則來判斷是否需要為該主機(jī)在集群內(nèi)尋找有更多可用資源的主機(jī),以將該主機(jī)上的虛擬機(jī)遷移到另外一臺具有更多合適資源的服務(wù)器上,或者將該服務(wù)器上其它的虛擬機(jī)遷移出去,從而保證某個關(guān)鍵虛擬機(jī)的資源需求。aSV的特色技術(shù)快虛在實際的IT應(yīng)用系統(tǒng)在部署虛擬化的時候,會存在虛擬化遷移的需求,為了實現(xiàn)將windows主機(jī)系統(tǒng)下的應(yīng)用系統(tǒng)平滑的遷移至VM環(huán)境中,除了傳統(tǒng)的P2V、V2V工具,采用技術(shù)創(chuàng)新,基于Windows環(huán)境中,推出了獨有的快虛技術(shù)??焯摷夹g(shù)實現(xiàn)原理為:在Windows環(huán)境下,先創(chuàng)建一個虛擬磁盤文件,并使用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)程序,并向系統(tǒng)引導(dǎo)中添加aSV的引導(dǎo)項,默認(rèn)引導(dǎo)到aSV系統(tǒng).當(dāng)在aSV中向虛擬磁盤讀寫數(shù)據(jù)時,虛擬磁盤驅(qū)動根據(jù)讀寫的扇區(qū)位置重新定位到虛擬磁盤文件所對應(yīng)的物理扇區(qū),實現(xiàn)數(shù)據(jù)的存取,下次進(jìn)入aSV系統(tǒng)后仍然可以讀寫已有數(shù)據(jù)。通過快虛技術(shù),既實現(xiàn)了將應(yīng)用環(huán)境遷移到了虛擬機(jī)環(huán)境中,同時在現(xiàn)有的物理主機(jī)服務(wù)器之上,快速的構(gòu)建了虛擬化底層的hypervisor。虛擬機(jī)熱遷移虛擬化環(huán)境中,物理服務(wù)器和存儲上承載更多的業(yè)務(wù)和數(shù)據(jù),設(shè)備故障時造成的影響更大。aSV虛擬化平臺提供虛擬機(jī)熱遷移技術(shù),降低宕機(jī)帶來的風(fēng)險、減少業(yè)務(wù)中斷的時間。aSV虛擬機(jī)熱遷移技術(shù)是指把一個虛擬機(jī)從一臺物理服務(wù)器遷移到另一臺物理服務(wù)器上,即虛擬機(jī)保存/恢復(fù)(Save/Restore)。首先將整個虛擬機(jī)的運行狀態(tài)完整保存下來,同時可以快速的恢復(fù)到目標(biāo)硬件平臺上,恢復(fù)以后虛擬機(jī)仍舊平滑運行,用戶不會察覺到任何差異。虛擬機(jī)的熱遷移技術(shù)主要被用于雙機(jī)容錯、負(fù)載均衡和節(jié)能降耗等應(yīng)用場景。aSV虛擬化平臺熱遷移提供內(nèi)存壓縮技術(shù),使熱遷移效率提升一倍,可支持并發(fā)8臺虛擬機(jī)同時遷移。功能價值:1.在設(shè)備維護(hù)過程中,通過熱遷移手動將應(yīng)用遷移至另一臺服務(wù)器,維護(hù)結(jié)束后再遷回來,中間應(yīng)用不停機(jī),減少計劃內(nèi)宕機(jī)時間。2.可結(jié)合資源動態(tài)調(diào)度策略,例如在夜晚虛擬機(jī)負(fù)荷減少時,通過預(yù)先配置自動將虛擬機(jī)遷移集中至部分服務(wù)器,減少服務(wù)器的運行數(shù)量,從而降低設(shè)備運營能耗上的支出。虛擬磁盤加密在虛擬化環(huán)境中,虛擬機(jī)的磁盤文件是沒有加密的,磁盤中的業(yè)務(wù)數(shù)據(jù)會存在泄漏的威脅。而對于數(shù)據(jù)保密程度要求較高的場景,可采用磁盤加密技術(shù),保證即使磁盤文件被竊取了,也無法獲取其中的數(shù)據(jù)。aSV提供了磁盤加密技術(shù),保障用戶業(yè)務(wù)的磁盤數(shù)據(jù)的安全防泄漏。aSV環(huán)境中,虛擬機(jī)鏡像是Qcow2格式的,Qcow2自身就支持用戶數(shù)據(jù)加密功能,VMP在其加密功能的基礎(chǔ)上進(jìn)行了修改,使其更加健壯。Qcow2只支持AES加密算法,VMP為其添加了RC4加密算法。VMP環(huán)境中僅支持對Qcow2格式的鏡像文件進(jìn)行加密,加密算法選用RC4,且不可以更換。虛擬機(jī)鏡像文件的密鑰(以下簡稱密碼)由VDC管理,當(dāng)VDC通過VMP接口操作虛擬機(jī)時,可以指定磁盤是否需要加密及對應(yīng)的密碼。如果一個虛擬機(jī)有多個磁盤需要加密,各磁盤可以分別指定密碼。虛擬機(jī)一旦創(chuàng)建成功,密碼不允許修改。VMP環(huán)境中使用密碼時,會修改命令行參數(shù)中的密碼字符串為“*”,防止管理員通過ps命令查看到密碼。前面提到的保存在鏡像文件中的經(jīng)過加密的密鑰,為了防止使用密碼字典或窮舉等方式暴力破解加密的鏡像文件,要求加密函數(shù)的執(zhí)行時間不能太短,可以使用重復(fù)加密的方式來達(dá)到這個目的。虛擬機(jī)的HAHA全稱是HighAvailability(高可用性)。在aSV環(huán)境中,HA虛擬機(jī)所連接的物理口網(wǎng)線被拔出、或存儲不能訪問時,會將此虛擬機(jī)切換到其他的主機(jī)運行,保障虛擬機(jī)上的業(yè)務(wù)正常使用。aSV存在后臺進(jìn)程,通過輪詢的機(jī)制,每隔5s檢測一次虛擬機(jī)狀態(tài)是否異常,發(fā)現(xiàn)異常時,切換HA虛擬機(jī)到其他主機(jī)運行。下面任意一種情況發(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)提供了高可用性,極大縮短了由于各種故障引起的業(yè)務(wù)中斷時間。多USB映射當(dāng)物理服務(wù)器部署虛擬化之后。其中類似金蝶等需要通過usbkey進(jìn)行應(yīng)用加密的服務(wù)器,轉(zhuǎn)化到虛擬化后,需要將插在虛擬化平臺上的硬件key,映射給虛擬機(jī),而且需要滿足虛擬機(jī)熱遷移、跨主機(jī)映射的需求。業(yè)界給出的方案有三種:一、采用主機(jī)映射:直接采用主機(jī)映射的方式來完成,缺點是不支持網(wǎng)絡(luò)映射,無法支持熱遷移、網(wǎng)絡(luò)映射的需求。二、采用UsbAnywhere:通過使用中間設(shè)備,將中間設(shè)備IP化,然后在虛擬機(jī)上安裝驅(qū)動并配置對端設(shè)備的方式進(jìn)行的。缺點是需要guest虛擬機(jī)內(nèi)部進(jìn)行修改安裝特定軟件,與第三方應(yīng)用進(jìn)行配合才能完成。三、采用底層硬件虛擬化加網(wǎng)絡(luò)代理:支持熱遷移、網(wǎng)絡(luò)映射、無需修改guest機(jī)內(nèi)部。最終實現(xiàn),物理設(shè)備遷移到虛擬化平臺后,可以直接無縫的操作讀取原usb硬件設(shè)備。同時解決上述兩種方案中的缺陷,破除了在虛擬化推廣中外設(shè)映射造成的阻礙。熱遷移功能的實現(xiàn)機(jī)制:由于整體方案是基于網(wǎng)絡(luò)代理處理,所以在遷移到對端設(shè)備,進(jìn)行虛擬機(jī)切換時,發(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ī)無需安裝插件;3、能支持熱遷移,跨主機(jī)映射,適應(yīng)VMP集群環(huán)境;4、虛擬機(jī)遷移完成可以自動掛載上原usb設(shè)備;5、可以簡化集成為類似usbhub的小設(shè)備,與VMP配套,搭建usb映射環(huán)境;6、虛擬機(jī)故障重啟、目標(biāo)端usb設(shè)備網(wǎng)絡(luò)中斷等異常情況恢復(fù)后自動重映射。aSAN存儲虛擬化存儲虛擬化概述虛擬后對存儲帶來的挑戰(zhàn)虛擬機(jī)技術(shù)給服務(wù)器帶來更高的利用率、給業(yè)務(wù)帶來更便捷的部署,降低了TCO,與此同時,虛擬機(jī)應(yīng)用給存儲帶來以下挑戰(zhàn):第一,相比傳統(tǒng)的物理服務(wù)器方式,單個存儲系統(tǒng)承載了更多的業(yè)務(wù),存儲系統(tǒng)需要更強勁的性能來支撐;第二,采用共享存儲方式部署虛擬機(jī),單個卷上可能承載幾十或上百的虛擬機(jī),導(dǎo)致卷IO呈現(xiàn)更多的隨機(jī)特征,這對傳統(tǒng)的Cache技術(shù)提出挑戰(zhàn);第三,單個卷承載多個虛擬機(jī)業(yè)務(wù),要求存儲系統(tǒng)具備協(xié)調(diào)虛擬機(jī)訪問競爭,保證對QoS要求高的虛擬機(jī)獲取到資源實現(xiàn)性能目標(biāo);第四,單個卷上承載較多的虛擬機(jī),需要卷具有很高的IO性能,這對傳統(tǒng)受限于固定硬盤的RAID技術(shù)提出挑戰(zhàn);第五,虛擬機(jī)的廣泛使用,需要更加高效的技術(shù)來提高虛擬機(jī)的部署效率,加快新業(yè)務(wù)的上線時間。分布式存儲技術(shù)的發(fā)展業(yè)界典型的分布式存儲技術(shù)主要有分布式文件系統(tǒng)存儲、分布式對象存儲和分布式塊設(shè)備存儲等幾種形式。分布式存儲技術(shù)及其軟件產(chǎn)品已經(jīng)日趨成熟,并在IT行業(yè)得到了廣泛的使用和驗證,例如互聯(lián)網(wǎng)搜索引擎中使用的分布式文件存儲,商業(yè)化公有云中使用的分布式塊存儲等。分布式存儲軟件系統(tǒng)具有以下特點:第一,高性能:數(shù)據(jù)分散存放,實現(xiàn)全局負(fù)載均衡,不存在集中的數(shù)據(jù)熱點,大容量分布式緩存;第二,高可靠:采用集群管理方式,不存在單點故障,靈活配置多數(shù)據(jù)副本,不同數(shù)據(jù)副本存放在不同的機(jī)架、服務(wù)器和硬盤上,單個物理設(shè)備故障不影響業(yè)務(wù)的使用,系統(tǒng)檢測到設(shè)備故障后可以自動重建數(shù)據(jù)副本;第三,高擴(kuò)展:沒有集中式機(jī)頭,支持平滑擴(kuò)容,容量幾乎不受限制;第四,易管理:存儲軟件直接部署在服務(wù)器上,沒有單獨的存儲專用硬件設(shè)備,通過WebUI的方式進(jìn)行軟件管理,配置簡單。aSAN概述在充分掌握了用戶需求的基礎(chǔ)上,的超融合架構(gòu)中,推出以aSAN分布式存儲軟件為核心的解決方案,虛擬存儲(簡稱aSAN)是基于分布式文件系統(tǒng)開發(fā)的面對存儲虛擬化趨勢的一款產(chǎn)品。當(dāng)前aSAN集成在虛擬化管理平臺上面,通過網(wǎng)絡(luò)整合管理集群內(nèi)所有服務(wù)器的硬盤(系統(tǒng)盤除外)。aSAN屬于超融合解決方案中專門為云計算環(huán)境而設(shè)計、面向一體化市場應(yīng)用的新一代產(chǎn)品,融合分布式緩存、SSD緩存加速、全局負(fù)載均衡、及多重數(shù)據(jù)保護(hù)等諸多存儲技術(shù),能夠滿足關(guān)鍵業(yè)務(wù)的需求,保證客戶業(yè)務(wù)高效穩(wěn)定運行。aSAN技術(shù)原理aSAN通過主機(jī)管理、磁盤管理、緩存技術(shù)、存儲網(wǎng)絡(luò)、冗余副本等技術(shù),管理集群內(nèi)所有硬盤,“池化”集群所有硬盤存儲的空間,通過向VMP提供訪問接口,使得虛擬機(jī)可以進(jìn)行業(yè)務(wù)數(shù)據(jù)的保存、管理和讀寫等整個存儲過程中的操作。主機(jī)管理aSAN需要基于VMP集群獲取集群內(nèi)主機(jī)信息,因此在構(gòu)建aSAN時,首先會要求建立VMP集群,所以在aSAN的環(huán)境中,至少需要2臺節(jié)點來構(gòu)建aSAN主機(jī)。文件副本由于下一節(jié)磁盤管理的策略與副本設(shè)置有直接管理,因此在講解磁盤管理前,我們要先介紹文件副本技術(shù)。所謂文件副本,即將文件數(shù)據(jù)保存多份的一種冗余技術(shù)。aSAN副本顆粒度是文件級別。例如2副本,即把文件A同時保存到磁盤1和磁盤2上。并且保證在無故障情況下,2個副本始終保持一致。技術(shù)特點:存儲池可用空間=集群全部機(jī)械磁盤空間/副本數(shù)(同構(gòu)情況),因此副本是會降低實際可用容量的。服務(wù)層是提供給上層服務(wù)的訪問入口,以目錄掛載點的方式提供。服務(wù)層看到的文件A實際是個被底層管理轉(zhuǎn)化后的邏輯視圖。底層管理的副本對上層服務(wù)是透明的,上層無法感知副本的存在。磁盤管理、副本分布由底層服務(wù)負(fù)責(zé),副本顆粒度是文件級。在沒有故障等異常情況下,文件副本數(shù)據(jù)是始終一致的,不存在所謂主副本和備副本之分。如果對文件A進(jìn)行修改,如寫入一段數(shù)據(jù),這段數(shù)據(jù)會被同時寫到2個副本文件。如果是從文件A讀取一段數(shù)據(jù),則只會從其中一個副本讀取。磁盤管理aSAN磁盤管理服務(wù)根據(jù)集群內(nèi)主機(jī)數(shù)和aSAN初始化時所選擇的副本數(shù)決定集群內(nèi)所有受管磁盤的組織策略。在多主機(jī)集群下,采用2副本或3副本組建aSAN的磁盤管理,為了支持主機(jī)故障而不影響數(shù)據(jù)完整性的目標(biāo),復(fù)制卷的磁盤組的每個磁盤都必須是在不同主機(jī)上。即需要做到跨主機(jī)副本??缰鳈C(jī)副本的關(guān)鍵在于復(fù)制卷磁盤分組算法。注意:下面的例子討論的主機(jī)都屬于同構(gòu)情況,即可每臺主機(jī)的磁盤個數(shù)、磁盤容量是一樣的情況,主機(jī)磁盤數(shù)異構(gòu)場景后文再另外敘述。我們先從簡單的場景開始,當(dāng)主機(jī)數(shù)、集群磁盤數(shù)都可以被副本數(shù)整除時。如2主機(jī),每主機(jī)3個磁盤(共6個)組建2副本aSAN為例:2副本下,2主機(jī),主機(jī)磁盤數(shù)相同時。主機(jī)間的磁盤會一一對應(yīng)組成復(fù)制卷。邏輯視圖如下:從邏輯視圖上,可以看出來和前文的單主機(jī)邏輯視圖并沒有本質(zhì)上的區(qū)別,只是最底層的磁盤分組時,保證了復(fù)制卷內(nèi)下面的磁盤不在同一主機(jī)內(nèi),從而達(dá)到了文件跨主機(jī)副本的目標(biāo)。如果采用3主機(jī)建立3副本,分組方式也是類似的。SSD讀緩存原理在aSAN里面,會默認(rèn)把系統(tǒng)內(nèi)的SSD磁盤作為緩存盤使用。在aSAN1.X版本,SSD磁盤只作為讀緩存使用,aSAN2.0開始支持SSD寫緩存。下面介紹aSANSSD讀緩存原理。首先需要區(qū)分aSAN客戶端和服務(wù)端概念。在aSAN里面,負(fù)責(zé)處理底層磁盤IO稱為服務(wù)端;負(fù)責(zé)向上層提供存儲接口(如訪問的掛載點)稱為客戶端。aSANSSD讀緩存工作在客戶端,而aSAN2.0的SSD寫緩存則工作在服務(wù)端。邏輯視圖如下:下面拋開底層的分布卷、復(fù)制卷、磁盤分組等概念,僅在客戶端上理解SSD讀緩存的原理。簡單地看,SSD讀緩存模塊工作在文件訪問入口和服務(wù)端通信層之間。所有對文件的IO動作都會經(jīng)過SSD讀緩存模塊進(jìn)行處理。下面分別針對首次文件讀取、二次文件讀取、文件寫入3個過程說明工作流程。SSD讀緩存的緩存顆粒度是按文件數(shù)據(jù)塊緩存,不是文件整體。例如,A、B、C3個文件,可以分別各緩存讀過的一部分?jǐn)?shù)據(jù),沒讀過的部分不緩存。首次文件讀取未緩存數(shù)據(jù)塊的首次讀操作步驟說明:從上層下來一個針對A文件的區(qū)間塊[A1,A2]的讀操作,由于該數(shù)據(jù)塊是首次讀取,沒命中SSD讀緩存。該讀操作會直接傳遞到下去,進(jìn)入流程2。[A1,A2]的讀操作繼續(xù)傳遞到服務(wù)端,進(jìn)行具體的讀操作,完成后返回,進(jìn)入流程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)行,因此這個緩存動作不會對原操作造成延時。至此,數(shù)據(jù)塊[A1,A2]就被保存到SSD磁盤內(nèi),以備下次讀取直接從SSD磁盤讀取。二次文件讀取針對已緩存數(shù)據(jù)塊的二次讀取步驟說明:假設(shè)數(shù)據(jù)塊[A1,A2]已經(jīng)緩存到SSD磁盤內(nèi)。從上層下來一個同樣是針對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]返回給上層至此,對緩存數(shù)據(jù)塊[A1,A2]的重復(fù)讀取直接在客戶端返回,避免了服務(wù)端通信的流程,從而減少了延時和減輕了底層磁盤的IO壓力。文件寫入雖然當(dāng)前aSAN實現(xiàn)的讀緩存,但對于文件寫入操作,也需要做相應(yīng)的處理,以保證緩存的內(nèi)容始終和底層磁盤一致,并且是最新的。但這個針對文件寫入的處理并不是寫緩存。aSAN讀緩存模塊對寫操作進(jìn)行處理實質(zhì)是基于最近訪問原則,即最近寫入的數(shù)據(jù)在不久的將來被讀出的概率會比較高,例如文件共享服務(wù)器,某人傳到文件服務(wù)器的文件,很快會其他人讀出來下載。aSAN讀緩存對寫操作的處理從實現(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)讀操作,對應(yīng)4.2。注意4.1、4.2是并發(fā)進(jìn)行,因此這個緩存動作不會對原操作造成延時。至此,數(shù)據(jù)塊[A1,A2]的寫入也會保存到SSD磁盤上,以備下次訪問。下次訪問的流程與二次文件讀取流程相同。文件塊二次寫更新緩存SSD讀緩存文件塊寫更新是指對SSD讀緩存已緩存的數(shù)據(jù)塊進(jìn)行更新的動作。假設(shè)數(shù)據(jù)塊[A1,A2]原來已經(jīng)有緩存了,現(xiàn)在上層再次對[A1,A2]來一次寫操作(例如更新內(nèi)容)。寫操作寫來經(jīng)過SSD讀緩存模塊,由于是寫操作,SSD讀緩存會直接PASS到下層寫操作一直傳遞到服務(wù)端,寫入到底層磁盤,操作完成后會返回結(jié)果,進(jìn)入流程3返回結(jié)果經(jīng)過SSD讀緩存模塊,如果返回結(jié)果是成功的,表示底層數(shù)據(jù)已經(jīng)成功寫入,可以更新SSD讀緩存數(shù)據(jù),進(jìn)入流程4。如果返回結(jié)果是失敗,則不會進(jìn)入更新流程。SSD讀緩存模塊會把數(shù)據(jù)塊[A1,A2]復(fù)制一份更新到SSD磁盤并建立相關(guān)索引,對應(yīng)4.1。原返回結(jié)果繼續(xù)往上返回到上層響應(yīng)讀操作,對應(yīng)4.2。注意4.1、4.2是并發(fā)進(jìn)行,因此這個緩存動作不會對原操作造成延時。SSD寫緩存原理SSD寫緩存功能在aSAN2.0開始支持。如前文所說,SSD寫緩存工作在服務(wù)端。由于寫緩存工作在服務(wù)端,也就是說在每個副本上都有寫緩存,即SSD寫緩存也是多副本的。即使有SSD磁盤突然損壞,也能在副本數(shù)范圍內(nèi)保證數(shù)據(jù)的安全。SSD寫緩存模塊結(jié)構(gòu)SSD寫緩存原理是在機(jī)械硬盤上增加一層SSD寫緩存層,見下圖:SSD寫緩存數(shù)據(jù)流分成藍(lán)色和紅色兩部分。這兩部分是同時在運行的,沒有先后關(guān)系。藍(lán)色部分是虛擬機(jī)有數(shù)據(jù)寫入SSD緩存,紅色部分是從SSD緩存讀出數(shù)據(jù)回寫到機(jī)械磁盤。流程如下:上層寫入數(shù)據(jù)請求到達(dá)SSD寫緩存模塊SSD寫緩存模塊把數(shù)據(jù)寫入到SSD磁盤,并獲得返回值。SSD寫緩存模塊在確定數(shù)據(jù)寫入SSD磁盤后,即立即返回上層模塊寫入成功SSD寫緩存模塊在緩存數(shù)據(jù)累計到一定量后,從SSD磁盤讀出數(shù)據(jù)SSD寫緩存把從SSD磁盤讀出的數(shù)據(jù)回寫到機(jī)械磁盤。其中,第4、5步是在后臺自動進(jìn)行的,不會干擾第1、2、3步的邏輯。SSD寫緩存數(shù)據(jù)讀命中從SSD磁盤回寫到機(jī)械磁盤是需要累積一定數(shù)據(jù)量后才會進(jìn)行觸發(fā)的。這時如果來了一個讀數(shù)據(jù)的請求,SSD寫緩存模塊會先確認(rèn)該讀請求是否在SSD寫緩存數(shù)據(jù)內(nèi),如果有則從SSD緩存內(nèi)返回;如果沒有則透到機(jī)械硬盤去讀取。流程說明:上層下發(fā)讀請求SSD寫緩存模塊先檢查數(shù)據(jù)是否還在緩存內(nèi)未回寫命中緩存,返回數(shù)據(jù)(如果不命中緩存,則會返回從底層數(shù)據(jù)盤讀取)向上層返回數(shù)據(jù)SSD寫緩存寫滿后處理如果上層持續(xù)對SSD寫緩存進(jìn)行大量不間斷的數(shù)據(jù)寫入,直到SSD寫緩存空間用完。這時的上次繼續(xù)寫入數(shù)據(jù)的速度就會下降至約等于寫緩存回寫機(jī)械盤的速度。當(dāng)SSD磁盤用滿時會出現(xiàn)寫入數(shù)據(jù)流速度<=回寫數(shù)據(jù)流速度。在虛擬機(jī)層面看,就是寫入數(shù)據(jù)下降到機(jī)械盤速度。如果持續(xù)出現(xiàn)這種情況,說明SSD磁盤容量不足以應(yīng)對業(yè)務(wù)IO寫性能,需要增加SSD緩存盤解決。當(dāng)SSD磁盤故障或離線時的處理如前文所說,SSD寫緩存工作于brick服務(wù)端,有多副本機(jī)制。在多主機(jī)多副本場景下,如果一個SSD磁盤損壞后,其他副本的SSD還正常情況下,對數(shù)據(jù)安全不會造成影響。但對寫入性能會有影響。一旦SSD離線超過10分鐘,緩存數(shù)據(jù)就視作失效,進(jìn)入副本修復(fù)流程。由于所有數(shù)據(jù)都是被SSD接管的,這時的數(shù)據(jù)修復(fù)量會非常大。因此如果是誤拔出SSD硬盤,需要在10分鐘內(nèi)插回來,否則會認(rèn)為該副本數(shù)據(jù)全部需要重建磁盤故障處理機(jī)制人工介入替換故障磁盤當(dāng)磁盤出現(xiàn)故障后,在WEBUI上可以看到如下提示:(或顯示為磁盤損壞)這時拔出故障磁盤,插入容量不低于故障磁盤的新磁盤,點擊“更新磁盤”按步驟操作即可。更換故障磁盤的內(nèi)部過程:故障磁盤在出現(xiàn)故障時,對應(yīng)磁盤的服務(wù)會先停止完成新磁盤替換后,服務(wù)會重新啟動新磁盤對應(yīng)的服務(wù)啟動后,發(fā)現(xiàn)其所在復(fù)制卷1上的另一個磁盤是A1,會根據(jù)A1的數(shù)據(jù)重建副本,即復(fù)制所有文件建立新副本。整個重建過程在線進(jìn)行,無需關(guān)停機(jī),副本重建過程不中斷業(yè)務(wù)。對比RAID系統(tǒng),需要關(guān)機(jī)中斷業(yè)務(wù)重建數(shù)據(jù)是一大優(yōu)勢。磁盤故障超時后aSAN自動重建如果在磁盤故障后,超過了設(shè)置的超時時間依然沒有人工介入處理,aSAN將會自動進(jìn)行數(shù)據(jù)重建,以保證數(shù)據(jù)副本數(shù)完備,確保數(shù)據(jù)可靠性。同時采用了熱備盤的保障機(jī)制。在aSAN1.2版本里面,在初始化階段會自動配置至少把集群里副本數(shù)個磁盤作為熱備盤。注意不是每個主機(jī)一個熱備盤,而是一個集群里面全局使用。熱備盤在初始化時不會納入aSAN復(fù)制卷內(nèi),只是作為一個不使用的磁盤帶電存在,因此熱備盤的空間不會反映到aSAN的空間里面。例如2副本時會至少保留2個熱備盤,3副本時會至少保留3個熱備盤。這些熱備盤不會集中在一個主機(jī)上面,而是分布在不同主機(jī)上(符合副本跨主機(jī)原則)。下面以3主機(jī)2副本,每主機(jī)4個硬盤為例子。上圖是3主機(jī)2副本,每主機(jī)4磁盤的分組例子。其中磁盤A4、磁盤C3是作為熱備盤保留的,并沒有組成復(fù)制卷加入到aSAN存儲池內(nèi)。當(dāng)任何一個主機(jī)的任意一個硬盤發(fā)生故障時,都可以按照跨主機(jī)副本原則自動使用A4或者C3來替換。例1:C2損壞(C3或者A4均可以用作替換)例2:A3損壞(C3或者A4均可以用作替換)例3:B4損壞(注意:這時只能用A4替換,原因是C3和C4同主機(jī))在aSAN自動使用熱備盤替換故障磁盤后,再去UI替換故障硬盤(或顯示為磁盤損壞)在aSAN自動使用熱備盤替換故障磁盤后,UI上依然會顯示原來的故障磁盤損壞,可以進(jìn)行更換磁盤。這時新替換的硬盤會作為新熱備盤使用,不需要執(zhí)行數(shù)據(jù)回遷。這一點與前文沒有熱備盤會做數(shù)據(jù)回遷是不一樣的。以上面例子3為例,B4損壞后,熱備盤A4自動替換B4和C4建成新復(fù)制卷5。然后人工介入,把損壞的B4用新磁盤替換,這時新B4會直接做熱備盤使用,不再由數(shù)據(jù)回遷。故障磁盤替換所有過程都可以帶業(yè)務(wù)進(jìn)行,不需要停機(jī)停止業(yè)務(wù),就可以完成故障磁盤的替換,數(shù)據(jù)重建,相比RAID系統(tǒng)停業(yè)務(wù)重建有更大的可用性。主機(jī)故障處理aSAN在多主機(jī)集群下,復(fù)制卷有個最高原則:跨主機(jī)建立復(fù)制卷。該原則的目的是為了達(dá)到在主機(jī)出現(xiàn)故障時,數(shù)據(jù)依然可用。最簡單例子如下:

主機(jī)主機(jī)A磁盤A1磁盤A2磁盤A3主機(jī)B磁盤B1磁盤B2磁盤B3復(fù)制卷1復(fù)制卷2復(fù)制卷3在2主機(jī)2副本模式下,當(dāng)主機(jī)B整個離線或,可以看到任何一個復(fù)制卷都依然有一個副本存在主機(jī)A上,數(shù)據(jù)依然可用,影響只是少了個副本。略為復(fù)雜的例子(先不考慮有熱備盤):主機(jī)C離線后,剩余在線的復(fù)制卷任何一個都依然保持至少一個副本在線,因此這時全局?jǐn)?shù)據(jù)依然可用。在主機(jī)故障后,在aSAN高級設(shè)備里面有這樣一個故障時間策略執(zhí)行相應(yīng)的處理:主機(jī)故障未超時人工介入處理當(dāng)主機(jī)故障未超時時,人工介入處理是通過替換主機(jī)功能解決主機(jī)故障的。UI操作例子,點擊后按步驟進(jìn)行即可(詳見部署配置文件)。替換主機(jī)的硬件配置要求是新主機(jī)配置不可以低于故障主機(jī),包括CPU、內(nèi)存、磁盤個數(shù)、磁盤容量、網(wǎng)口個數(shù)。替換主機(jī)的內(nèi)部原理:

主機(jī)C主機(jī)主機(jī)C主機(jī)B主機(jī)A磁盤A1磁盤B1磁盤A1磁盤B1磁盤C1復(fù)制卷1磁盤A2磁盤B2磁盤磁盤A2磁盤B2磁盤C2復(fù)制卷2復(fù)制卷3復(fù)制卷3磁盤A3磁盤B3磁盤磁盤A3磁盤B3磁盤C3在aSAN層面,主機(jī)替換和磁盤替換并無差異,區(qū)別是主機(jī)替換是同時執(zhí)行多個磁盤替換。因為前面有新主機(jī)的硬件配置不低于故障主機(jī),因此磁盤數(shù)和容量是可以保證替換后足夠的。主機(jī)替換完成后,會根據(jù)新復(fù)制卷,在新主機(jī)的磁盤上重建文件副本。主機(jī)故障超時后aSAN自動處理假如入主機(jī)故障后直到超過設(shè)定的故障時間依然沒有人工介入處理,那么aSAN會采取自動替換動作在其他主機(jī)上重建副本。例子:3主機(jī)2副本,主機(jī)C出現(xiàn)故障。對比上面2張圖,可以看出在主機(jī)C故障并超時后,aSAN會在集群范圍內(nèi)尋找最佳借用磁盤組建復(fù)制卷,從而重建副本。這里的主機(jī)副本自動重建機(jī)制和單個故障硬盤的自動重建機(jī)制并沒有本質(zhì)差別,只是同時做了多個故障盤的重建。如果其中有熱備盤,這是會自動使用熱備盤。注意,主機(jī)自動重建是有代價的,會復(fù)用其他磁盤的空間和性能。因此在條件允許情況下,應(yīng)盡快替換主機(jī)。如果不想aSAN才超時自動重建,可以到高級設(shè)置關(guān)閉主機(jī)自動重建功能。副本修復(fù)副本修復(fù)是指當(dāng)某個磁盤出現(xiàn)離線再上線后,保存在上面的文件副本可能是舊數(shù)據(jù),需要按照其他在線的文件副本進(jìn)行修復(fù)的一個行為。典型的情況是主機(jī)短暫斷網(wǎng),導(dǎo)致副本不一致。在aSAN1.0、aSAN1.1版本,副本修復(fù)是整個文件進(jìn)行對比修復(fù),會占用比較大的IO。因此保證網(wǎng)絡(luò)穩(wěn)定性在aSAN里面是核心要求之一。在aSAN1.2版本里面,支持副本快速修復(fù),對于短暫離線的副本,可以做到只修復(fù)少量差異數(shù)據(jù),達(dá)到快速修改的目的。文件文件A磁盤2不一定是本地磁盤,也可以是其他主機(jī)的磁盤,由管理服務(wù)通過網(wǎng)絡(luò)訪問磁盤2不一定是本地磁盤,也可以是其他主機(jī)的磁盤,由管理服務(wù)通過網(wǎng)絡(luò)訪問磁盤2磁盤1文件A文件A(副本2)文件A(副本1)例如,上圖磁盤2和磁盤1不在一個主機(jī)上。由于網(wǎng)絡(luò)原因離線了1分鐘。這一分鐘內(nèi),虛擬鏡像文件A有修改,這時修改只會寫入到副本1上。一分鐘后,磁盤2上線,aSAN會感知到副本1和副本2有差異并且副本1是在用副本,即啟動副本修復(fù)流程,以副本1為源修復(fù)到副本2上。在修復(fù)過程中,任何讀動作都是從副本1去讀取的,寫動作依然同時寫到2個副本修復(fù)完成后,副本1、副本2會達(dá)到完全一致的狀態(tài)。在aSAN1.2以上版本,副本修復(fù)支持快速修復(fù)。aSAN會記錄副本離線時的數(shù)據(jù)更改記錄,短時間的副本離線,當(dāng)離線副本上線時,直接修復(fù)差異部分?jǐn)?shù)據(jù)。同時,aSAN對業(yè)務(wù)IO和修復(fù)IO做了優(yōu)先級控制,副本修復(fù)IO對業(yè)務(wù)IO的降低影響平均不超過20%。當(dāng)然,即使有快速修復(fù),數(shù)據(jù)校驗和傳輸依然會占用CPU和網(wǎng)絡(luò)帶寬,因此建議盡量保證aSAN存儲網(wǎng)絡(luò)穩(wěn)定,減少副本修復(fù)的產(chǎn)生。aSAN功能特性存儲精簡配置自動精簡配置(ThinProvisioning)是一種先進(jìn)的、智能的、高效的容量分配和管理技術(shù),它擴(kuò)展了存儲管理功能,可以用小的物理容量為操作系統(tǒng)提供超大容量的虛擬存儲空間。并且隨著應(yīng)用的數(shù)據(jù)量增長,實際存儲空間也可以及時擴(kuò)展,而無須手動擴(kuò)展。一句話而言,自動精簡配置提供的是“運行時空間”,可以顯著減少已分配但是未使用的存儲空間。如果采用傳統(tǒng)的磁盤分配方法,需要用戶對當(dāng)前和未來業(yè)務(wù)發(fā)展規(guī)模進(jìn)行正確的預(yù)判,提前做好空間資源的規(guī)劃。在實際中,由于對應(yīng)用系統(tǒng)規(guī)模的估計不準(zhǔn)確,往往會造成容量分配的浪費,比如為一個應(yīng)用系統(tǒng)預(yù)分配了5TB的空間,但該應(yīng)用卻只需要1TB的容量,這就造成了4TB的容量浪費,而且這4TB容量被分配了之后,很難再被別的應(yīng)用系統(tǒng)使用。即使是最優(yōu)秀的系統(tǒng)管理員,也不可能恰如其分的為應(yīng)用分配好存儲資源,而沒有一點的浪費。根據(jù)業(yè)界的權(quán)威統(tǒng)計,由于預(yù)分配了太大的存儲空間而導(dǎo)致的資源浪費,大約占總存儲空間的30%左右。aSAN采用了自動精簡配置技術(shù)有效的解決了存儲資源的空間分配難題,提高了資源利用率。采用自動精簡配置技術(shù)的數(shù)據(jù)卷分配給用戶的是一個邏輯的虛擬容量,而不是一個固定的物理空間,只有當(dāng)用戶向該邏輯資源真正寫數(shù)據(jù)時,才按照預(yù)先設(shè)定好的策略從物理空間分配實際容量。aSAN私網(wǎng)鏈路聚合aSAN的私網(wǎng)鏈路聚合是為了提高網(wǎng)絡(luò)可靠性和性能設(shè)置而提出的。使用aSAN私網(wǎng)鏈路聚合不需要交換機(jī)上配置鏈路聚合,由存儲私網(wǎng)負(fù)責(zé)鏈路聚合的功能,使用普通的二層交換機(jī),保證接線正確即可。傳統(tǒng)的鏈路聚合是按主機(jī)IP進(jìn)行均分,即每2臺主機(jī)間只能用1條物理鏈路。而aSAN私網(wǎng)鏈路聚合采用按照TCP連接進(jìn)行均分,兩臺主機(jī)間的不同TCP連接可使用不同物理鏈路。數(shù)據(jù)一致性檢查aSAN采用一致性復(fù)制協(xié)議來保證多個副本數(shù)據(jù)的一致性,即只有當(dāng)所有副本都寫成功,才返回寫入磁盤成功。正常情況下aSAN保證每個副本上的數(shù)據(jù)都是完全一致,從任一副本讀到的數(shù)據(jù)都是相同的。如果某個副本中的某個磁盤短暫故障,aSAN會暫時不寫這個副本,等恢復(fù)后再恢復(fù)該副本上的數(shù)據(jù);如果磁盤長時間或者永久故障,aSAN會把這個磁盤從群集中移除掉,并為副本尋找新的副本磁盤,再通過重建機(jī)制使得數(shù)據(jù)在各個磁盤上的分布均勻。aNet網(wǎng)絡(luò)虛擬化網(wǎng)絡(luò)虛擬化概述網(wǎng)絡(luò)虛擬化是構(gòu)建超融合架構(gòu)中,非常重要的一部分,我們通過aSV實現(xiàn)了服務(wù)器虛擬化,aSAN實現(xiàn)了通過服務(wù)器節(jié)點構(gòu)建了存儲虛擬化,但還是存在沒有解決的問題:一、如何保障虛擬機(jī)可以在我的物理網(wǎng)絡(luò)環(huán)境中進(jìn)行順利的遷移,虛擬化后的數(shù)據(jù)中心涉及業(yè)務(wù)眾多,對外部提供云接入服務(wù)時,傳統(tǒng)的Vlan技術(shù)已經(jīng)無法滿足業(yè)務(wù)隔離的需求,怎么解決大規(guī)模租戶和租戶之間、業(yè)務(wù)和業(yè)務(wù)之間的安全隔離也是面臨的首要問題。二、虛擬化后的數(shù)據(jù)中心的業(yè)務(wù)系統(tǒng)的構(gòu)建和上線對網(wǎng)絡(luò)功能的快速部署、靈活彈性甚至成本,提出了更高的要求。三、在傳統(tǒng)網(wǎng)絡(luò)中,不論底層的IT基礎(chǔ)設(shè)施還是上層的應(yīng)用,都由專屬設(shè)備來完成。這些設(shè)備成本高昂,能力和位置僵化,難以快速響應(yīng)新業(yè)務(wù)對網(wǎng)絡(luò)快速、靈活部署的需求?;谏鲜鰡栴},采用了業(yè)界成熟的SDN+NFV的解決方案,我們稱之為aNet,通過Overylay的方式來構(gòu)建大二層和實現(xiàn)業(yè)務(wù)系統(tǒng)之間的租戶隔離,通過NFV實現(xiàn)網(wǎng)絡(luò)中的所需各類網(wǎng)絡(luò)功能資源(包括基礎(chǔ)的路由交換、安全以及應(yīng)用交付等)按需分配和靈活調(diào)度,從而實現(xiàn)超融合架構(gòu)中的網(wǎng)絡(luò)虛擬化。aNET網(wǎng)絡(luò)虛擬化技術(shù)原理SDNSDN(SoftwareDefinedNetwork,軟件定義網(wǎng)絡(luò))是一種創(chuàng)新性的網(wǎng)絡(luò)架構(gòu),它通過標(biāo)準(zhǔn)化技術(shù)(比如openflow)實現(xiàn)網(wǎng)絡(luò)設(shè)備的控制層面和數(shù)據(jù)層面的分離,進(jìn)而實現(xiàn)對網(wǎng)絡(luò)流量的靈活化、集中化、細(xì)粒度的控制,從而為網(wǎng)絡(luò)的集中管理和應(yīng)用的加速創(chuàng)新提供了良好的平臺,由此可獲得對網(wǎng)絡(luò)的前所未有的可編程性、自動化和控制能力,使網(wǎng)絡(luò)很容易適應(yīng)變化的業(yè)務(wù)需求,從而建立高度可擴(kuò)展的彈性網(wǎng)絡(luò)。從SDN的實現(xiàn)方式來看,廣義和狹義兩種。在廣義的SDN下分為3個流派,分別是:網(wǎng)絡(luò)虛擬化NV(主要指的是Overlay),網(wǎng)絡(luò)功能虛擬化NFV。狹義的SDN主要指的是通過OpenFlow來實現(xiàn)。aNet中的SDN實現(xiàn)沒有采用上述的廣義的SDN的方案,但由于實現(xiàn)架構(gòu)上大同小異,用一副標(biāo)準(zhǔn)的SDN規(guī)范圖來說明下:可以這幅圖看出實現(xiàn)SDN的重點在Dataplane和Controllerplane,SDN的核心思想就是數(shù)據(jù)面與控制面分離。NFV以開放取代封閉,以通用替代專有——將原本專業(yè)的網(wǎng)元設(shè)備上的網(wǎng)絡(luò)功能提取出來虛擬化,運行在通用的硬件平臺上,業(yè)界稱這種變化為NFV。NFV(NetworkFunctionsVirtualisation網(wǎng)絡(luò)功能虛擬化)的目標(biāo)是希望通過廣泛采用的硬件承載各種各樣的網(wǎng)絡(luò)軟件功能,實現(xiàn)軟件的靈活加載,在數(shù)據(jù)中心、網(wǎng)絡(luò)節(jié)點和用戶端等各個位置靈活的配置,加快網(wǎng)絡(luò)部署和調(diào)整的速度,降低業(yè)務(wù)部署的復(fù)雜度及總體投資成本,提高網(wǎng)絡(luò)設(shè)備的統(tǒng)一化、通用化、適配性。NFV與SDN有很強的互補性,NFV增加了功能部署的靈活性,SDN可進(jìn)一步推動NFV功能部署的靈活性和方便性。通過NFV技術(shù),將網(wǎng)絡(luò)功能資源進(jìn)行虛擬化,使得網(wǎng)絡(luò)資源升級為虛擬化、可流動的流態(tài)資源,Overlay模型使流態(tài)網(wǎng)絡(luò)資源的流動范圍跳出了物理網(wǎng)絡(luò)的束縛,可以在全網(wǎng)范圍內(nèi)按需流動,呈現(xiàn)出網(wǎng)絡(luò)資源的統(tǒng)一池化狀態(tài),最終實現(xiàn)了超融合架構(gòu)中網(wǎng)絡(luò)資源的靈活定義、按需分配、隨需調(diào)整。aNet底層的實現(xiàn)aNet的實現(xiàn)主要包含兩個層面:數(shù)據(jù)平面和控制平面。傳統(tǒng)數(shù)據(jù)平面:在典型的虛擬化網(wǎng)絡(luò)場景下,數(shù)據(jù)包將由網(wǎng)絡(luò)接口卡接收,然后進(jìn)行分類并生成規(guī)定的動作,并對數(shù)據(jù)包付諸實施。在傳統(tǒng)的Linux模式下,系統(tǒng)接收數(shù)據(jù)包和將數(shù)據(jù)包發(fā)送出系統(tǒng)的過程占了包處理中很大一部分時間,這可能會出乎有些人的預(yù)料。換句話說,即使用戶空間應(yīng)用程序什么都不做,而只是將數(shù)據(jù)包從接收端口傳送到發(fā)送端口,那么仍然會花費大量的處理時間。當(dāng)網(wǎng)卡從網(wǎng)絡(luò)接收到一個數(shù)據(jù)幀后,會使用直接內(nèi)存訪問(DMA)將數(shù)據(jù)幀傳送到針對這一目的而預(yù)先分配的內(nèi)核緩沖區(qū)內(nèi),更新適當(dāng)?shù)慕邮彰枋龇h(huán),然后發(fā)出中斷通知數(shù)據(jù)幀的到達(dá)。操作系統(tǒng)對中斷進(jìn)行處理,更新環(huán),然后將數(shù)據(jù)幀交給網(wǎng)絡(luò)堆棧。網(wǎng)絡(luò)堆棧對數(shù)據(jù)進(jìn)行處理,如果數(shù)據(jù)幀的目的地是本地套接字,那

溫馨提示

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

評論

0/150

提交評論