云計(jì)算-分布式存儲(chǔ)_第1頁(yè)
云計(jì)算-分布式存儲(chǔ)_第2頁(yè)
云計(jì)算-分布式存儲(chǔ)_第3頁(yè)
云計(jì)算-分布式存儲(chǔ)_第4頁(yè)
云計(jì)算-分布式存儲(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

云計(jì)算原理與實(shí)踐PrinciplesandPracticeofCloudComputing2021/6/271Outline5.1分布式存儲(chǔ)的基礎(chǔ)5.2文件存儲(chǔ)5.3從單機(jī)存儲(chǔ)系統(tǒng)到分布式存儲(chǔ)系統(tǒng)5.4實(shí)踐:分布式存儲(chǔ)系統(tǒng)CephMachineLearningDomainexpertiseMathematicsDataengineering2021/6/2725.1分布式存儲(chǔ)的基礎(chǔ)5.1.1基本概念5.1.2分布式存儲(chǔ)分類5.1.3分布式存儲(chǔ)的發(fā)展歷史2021/6/2735.1.1基本概念分布式存儲(chǔ)系統(tǒng)的定義:分布式存儲(chǔ)系統(tǒng)是將為數(shù)眾多的普通計(jì)算機(jī)或服務(wù)器通過(guò)網(wǎng)絡(luò)進(jìn)行連接,同時(shí)對(duì)外提供一個(gè)整體的存儲(chǔ)服務(wù)。分布式存儲(chǔ)系統(tǒng)包括以下幾個(gè)特性:高性能可擴(kuò)展低成本易用性分布式存儲(chǔ)系統(tǒng)的技術(shù)挑戰(zhàn)包括:數(shù)據(jù)和狀態(tài)信息的持久化、數(shù)據(jù)的自動(dòng)遷移、系統(tǒng)的自動(dòng)容錯(cuò)、并發(fā)讀寫的數(shù)據(jù)的一致性等方面。2021/6/2745.1.2分布式存儲(chǔ)分類分布式存儲(chǔ)面臨的應(yīng)用場(chǎng)景和數(shù)據(jù)需求都比較復(fù)雜,根據(jù)數(shù)據(jù)類型,可以將其分為非結(jié)構(gòu)化數(shù)據(jù)、結(jié)構(gòu)化數(shù)據(jù)、半結(jié)構(gòu)化數(shù)據(jù)三類。正因?yàn)閿?shù)據(jù)類型的多樣性,不同的分布式存儲(chǔ)系統(tǒng)適合處理不同類型的數(shù)據(jù),因此可以將分布式存儲(chǔ)系統(tǒng)分為四類:分布式文件系統(tǒng)分布式鍵值(Key-Value)系統(tǒng)分布式表系統(tǒng)分布式數(shù)據(jù)庫(kù)2021/6/2751.分布式文件系統(tǒng)分布式文件系統(tǒng)存儲(chǔ)三種類型的數(shù)據(jù):Blob對(duì)象、定長(zhǎng)塊以及大文件。圖5.1數(shù)據(jù)塊與Blob對(duì)象、定長(zhǎng)塊、大文件之間的關(guān)系2021/6/2762分布式鍵值(Key-Value)系統(tǒng)分布式鍵值系統(tǒng)用于存儲(chǔ)關(guān)系簡(jiǎn)單的半結(jié)構(gòu)化數(shù)據(jù),它提供基于主鍵的CRUD(Create/Read/Update/Delete)功能,即根據(jù)主鍵創(chuàng)建、讀取、更新或者刪除一條鍵值記錄。典型的系統(tǒng)有AmazonDynamo。分布式鍵值系統(tǒng)是分布式表系統(tǒng)的一種簡(jiǎn)化,一般用作緩存,比如Memcache。從數(shù)據(jù)結(jié)構(gòu)的角度看,分布式鍵值系統(tǒng)支持將數(shù)據(jù)分布到集群中的多個(gè)存儲(chǔ)節(jié)點(diǎn)。一致性散列是分布式鍵值系統(tǒng)中常用的數(shù)據(jù)分布技術(shù),由于在眾多系統(tǒng)中被采用而變得非常有名。2021/6/2773分布式表系統(tǒng)分布式表系統(tǒng)主要用于存儲(chǔ)半結(jié)構(gòu)化數(shù)據(jù)。與分布式鍵值系統(tǒng)相比,分布式表系統(tǒng)不僅僅支持簡(jiǎn)單的CRUD操作,而且支持掃描某個(gè)主鍵范圍。分布式表系統(tǒng)以表格為單位組織數(shù)據(jù),每個(gè)表格包括很多行,通過(guò)主鍵標(biāo)識(shí)一行,支持根據(jù)主鍵的CRUD功能以及范圍查找功能。典型的分布式表系統(tǒng)包括GoogleBigtable、MicrosoftAzureTableStorage、AmazonDynamoDB等。2021/6/2784分布式數(shù)據(jù)庫(kù)分布式數(shù)據(jù)庫(kù)是從傳統(tǒng)的基于單機(jī)的關(guān)系型數(shù)據(jù)庫(kù)擴(kuò)展而來(lái),用于存儲(chǔ)大規(guī)模的結(jié)構(gòu)化數(shù)據(jù)。分布式數(shù)據(jù)庫(kù)采用二維表格組織數(shù)據(jù),提供經(jīng)典的SQL關(guān)系查詢語(yǔ)言,支持嵌套子查詢、多表關(guān)聯(lián)等復(fù)雜操作,并提供數(shù)據(jù)庫(kù)事務(wù)以及并發(fā)控制。關(guān)系數(shù)據(jù)庫(kù)是目前為止最為成熟的存儲(chǔ)技術(shù),功能豐富,有完善的商業(yè)關(guān)系數(shù)據(jù)庫(kù)軟件的支持。隨著大數(shù)據(jù)時(shí)代的到來(lái),為了解決關(guān)系數(shù)據(jù)庫(kù)面臨的可擴(kuò)展性、高并發(fā)以及性能方面的問(wèn)題,各種各樣的非關(guān)系數(shù)據(jù)庫(kù)不斷涌現(xiàn),這類被稱為NoSQL的系統(tǒng),可以理解為“NotOnlySQL”的含義。2021/6/279圖5.2分布式文件系統(tǒng)的發(fā)展5.1.3分布式存儲(chǔ)的發(fā)展歷史2021/6/27101.20世紀(jì)80年代的代表:AFS、NFS、Coda(1)

AFS:1983年CMU和IBM共同合作開(kāi)發(fā)了Andrew文件系統(tǒng)(AndrewFileSystem,AFS)(2)

NFS:1985年,Sun公司基于UDP開(kāi)發(fā)了網(wǎng)絡(luò)共享文件系統(tǒng)(NetworkFileSystem,NFS)(3)

Coda:1987年,CMU在基于AFS的基礎(chǔ)上開(kāi)發(fā)了Coda文件系統(tǒng)5.1.3分布式存儲(chǔ)的發(fā)展歷史2021/6/27112.20世紀(jì)90年代的代表:XFS、TigerShark、SFS5.1.3分布式存儲(chǔ)的發(fā)展歷史XFS:加州大學(xué)伯克利分校(UCBerkeley)開(kāi)發(fā)了XFS文件系統(tǒng),克服了以往分布式文件系統(tǒng)只適用于局域網(wǎng)而不適用于廣域網(wǎng)和大數(shù)據(jù)存儲(chǔ)的問(wèn)題,提出了廣域網(wǎng)進(jìn)行緩存較少網(wǎng)絡(luò)流量設(shè)計(jì)思想,采用層次命名結(jié)構(gòu),減少Cache一致性狀態(tài)和無(wú)效寫回Cache一致性協(xié)議,從而減少了網(wǎng)絡(luò)負(fù)載,在當(dāng)時(shí)獲得了一定的成功。2021/6/27123.20世紀(jì)末的代表:

(1)

SAN(StorageAreaNetwork)(2)NAS(NetworkAttachedStorage)(3)

GPFS(GeneralParallelFileSystem)(4)

GFS(GoogleFileSystem)(5)

HDFS

(HadoopDistributedFileSystem)5.1.3分布式存儲(chǔ)的發(fā)展歷史2021/6/2713(1)SAN(StorageAreaNetwork)通過(guò)將磁盤存儲(chǔ)系統(tǒng)和服務(wù)器直接相連的方式提供一個(gè)易擴(kuò)展、高可靠的存儲(chǔ)環(huán)境,高可靠的光纖通道交換機(jī)和光纖通道網(wǎng)絡(luò)協(xié)議保證各個(gè)設(shè)備間鏈接的可靠性和高效性。設(shè)備間的連接接口主要是采用FC或者SCSI。圖5.3SAN網(wǎng)絡(luò)結(jié)構(gòu)2021/6/2714(2)

NAS(NetworkAttachedStorage)通過(guò)基于TCP/IP的各種上層應(yīng)用在各工作站和服務(wù)器之間進(jìn)行文件訪問(wèn),直接在工作站客戶端和NAS文件共享設(shè)備之間建立連接,NAS隱藏了文件系統(tǒng)的底層實(shí)現(xiàn),注重上層的文件服務(wù)實(shí)現(xiàn),具有良好的擴(kuò)展性圖5.4NAS存儲(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)2021/6/2715(3)GPFS(GeneralParallelFileSystem)GPFS是IBM公司開(kāi)發(fā)的共享文件系統(tǒng),起源于IBMSP系統(tǒng)上使用的虛擬共享磁盤技術(shù)。GPFS是一個(gè)并行的磁盤文件系統(tǒng),它保證在資源組內(nèi)的所有節(jié)點(diǎn)可以并行訪問(wèn)整個(gè)文件系統(tǒng)。GPFS允許客戶共享文件,而這些文件可能分布在不同節(jié)點(diǎn)的不同硬盤上。它同時(shí)還提供了許多標(biāo)準(zhǔn)的UNIX文件系統(tǒng)接口,允許應(yīng)用不需修改或者重新編輯就可以在其上運(yùn)行。2021/6/2716(4)GFS(GoogleFileSystem)圖5.5GFS架構(gòu)圖2021/6/2717(5)HDFS(HadoopDistributedFileSystem)圖5.6HDFS總體結(jié)構(gòu)示意圖2021/6/27184.21世紀(jì)的代表:Cassandra、HBase、MongoDB、DynamoDB(1)

Cassandra:是一套開(kāi)源分布式NoSQL數(shù)據(jù)庫(kù)系統(tǒng),最初由Facebook開(kāi)發(fā),用于儲(chǔ)存收件箱等簡(jiǎn)單格式數(shù)據(jù),集GoogleBigTable的數(shù)據(jù)模型與AmazonDynamo的完全分布式的架構(gòu)于一身。(2)

HBase:列存儲(chǔ)數(shù)據(jù)庫(kù),擅長(zhǎng)以列為單位讀取數(shù)據(jù),面向列存儲(chǔ)的數(shù)據(jù)庫(kù)具有高擴(kuò)展性,即使數(shù)據(jù)大量增加也不會(huì)降低相應(yīng)的處理速度,特別是寫入速度。5.1.3分布式存儲(chǔ)的發(fā)展歷史2021/6/27194.21世紀(jì)的代表:Cassandra、HBase、MongoDB、DynamoDB(3)

MongoDB:文檔型數(shù)據(jù)庫(kù)同鍵值(Key-Value)型的數(shù)據(jù)庫(kù)類似,是鍵值型數(shù)據(jù)庫(kù)的升級(jí)版,允許嵌套鍵值,Value值是結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)庫(kù)可以理解Value的內(nèi)容,提供復(fù)雜的查詢,類似于RDBMS的查詢條件。(4)

DynamoDB:Amazon公司的一個(gè)分布式存儲(chǔ)引擎,是一個(gè)經(jīng)典的分布式Key-Value存儲(chǔ)系統(tǒng),具備去中心化、高可用性、高擴(kuò)展性的特點(diǎn)。5.1.3分布式存儲(chǔ)的發(fā)展歷史2021/6/27205.2文件存儲(chǔ)5.2.1單機(jī)文件系統(tǒng)5.2.2網(wǎng)絡(luò)文件系統(tǒng)5.2.3并行文件系統(tǒng)5.2.4分布式文件系統(tǒng)5.2.5高通量文件系統(tǒng)2021/6/27215.2.1單機(jī)文件系統(tǒng)現(xiàn)代文件系統(tǒng)的起源要追溯到分時(shí)操作系統(tǒng)時(shí)期。1965年,在Multics操作系統(tǒng)中首次提出使用樹型結(jié)構(gòu)來(lái)組織文件、目錄以及訪問(wèn)控制的思想。這些思想被后來(lái)的UNIX文件系統(tǒng)(1973年)所借鑒。從結(jié)構(gòu)上看,它包括四個(gè)模塊:引導(dǎo)塊、超級(jí)塊、索引節(jié)點(diǎn)和數(shù)據(jù)塊。為解決UNIX文件系統(tǒng)I/O性能低的問(wèn)題,先后出現(xiàn)了1984年的快速文件系統(tǒng)(FastFileSystem,F(xiàn)FS)和1992年的日志結(jié)構(gòu)文件系統(tǒng)(Log-StructuredFile,LFS)。20世紀(jì)90年代至今,出現(xiàn)了很多單機(jī)文件系統(tǒng)。包括SGI公司于1994年發(fā)布的XFS,以及Sun公司于2004年發(fā)布的ZFS。2021/6/27225.2.2網(wǎng)絡(luò)文件系統(tǒng)NFS(NetworkFileSystem,網(wǎng)絡(luò)文件系統(tǒng))由Sun公司在1984年開(kāi)發(fā),被認(rèn)為是第一個(gè)廣泛應(yīng)用的現(xiàn)代網(wǎng)絡(luò)文件系統(tǒng)。NFS的設(shè)計(jì)目標(biāo)是提供跨平臺(tái)的文件共享系統(tǒng)。由于NFS的實(shí)現(xiàn)和設(shè)計(jì)思想都相對(duì)簡(jiǎn)單,該協(xié)議很快被納入到RFC標(biāo)準(zhǔn),并開(kāi)始大量應(yīng)用。然而,NFS單一服務(wù)器的結(jié)構(gòu)也決定了它的擴(kuò)展性有限。AFS(AndrewFileSystem)是美國(guó)卡耐基·梅隆大學(xué)1982年開(kāi)發(fā)的分布式文件系統(tǒng)。其設(shè)計(jì)目標(biāo)是支持5000~10000個(gè)節(jié)點(diǎn)的集群,擴(kuò)展性是首要考慮的因素。與NFS等系統(tǒng)不同的是,AFS中有多個(gè)服務(wù)器,整個(gè)命名空間被靜態(tài)地劃分到各個(gè)服務(wù)器上,因此,AFS具有更好的擴(kuò)展性。2021/6/27235.2.3并行文件系統(tǒng)早期的并行文件系統(tǒng)有BFS(BridgeFileSystem)和CFS(ConcurrentFileSystem)等。它們運(yùn)行在MPP(MassivelyParallelProcessing,MPP)結(jié)構(gòu)的超級(jí)計(jì)算機(jī)上。。20世紀(jì)90年代中期,開(kāi)源的Linux操作系統(tǒng)逐漸成熟并得到廣泛使用,為了能在越來(lái)越多的Linux集群上運(yùn)行,出現(xiàn)了以PVFS和Lustr為代表的Linux集群上的并行文件系統(tǒng)。它們吸收了MPP并行文件系統(tǒng)的很多思想,包括采用一個(gè)專門的元數(shù)據(jù)服務(wù)器來(lái)維護(hù)和管理文件系統(tǒng)的命名空間,以及將文件數(shù)據(jù)條帶化并分散存儲(chǔ)在所有的存儲(chǔ)服務(wù)器上等。2021/6/27245.2.4分布式文件系統(tǒng)20世紀(jì)90年代后期,隨著互聯(lián)網(wǎng)的發(fā)展,出現(xiàn)了搜索引擎這樣的海量文本數(shù)據(jù)檢索工具。搜索引擎需要高吞吐率、低成本、高可靠的系統(tǒng),而非高峰值處理性能的系統(tǒng)。于是產(chǎn)生了以谷歌的GoogleFileSystem(GFS)、MapReduce為代表的新型數(shù)據(jù)處理架構(gòu)。GFS的底層平臺(tái)是大規(guī)模(數(shù)千臺(tái)到數(shù)萬(wàn)臺(tái))的、廉價(jià)的、可靠性較低的PC集群,存儲(chǔ)設(shè)備是集群中每個(gè)節(jié)點(diǎn)上的多塊IDE磁盤谷歌架構(gòu)被互聯(lián)網(wǎng)企業(yè)廣泛采用,現(xiàn)在流行的Hadoop就是GFS和MapReduce的一種開(kāi)源實(shí)現(xiàn),被很多企業(yè)采用。2021/6/27255.2.5高通量文件系統(tǒng)高通量文件系統(tǒng)是為大型數(shù)據(jù)中心設(shè)計(jì)的文件系統(tǒng),它將數(shù)據(jù)中心中大量低成本的存儲(chǔ)資源有效地組織起來(lái),服務(wù)于上層多種應(yīng)用的數(shù)據(jù)存儲(chǔ)需求和數(shù)據(jù)訪問(wèn)需求。隨著云計(jì)算技術(shù)的發(fā)展,數(shù)據(jù)中心的數(shù)據(jù)存儲(chǔ)需求逐漸成為數(shù)據(jù)存儲(chǔ)技術(shù)和文件系統(tǒng)發(fā)展的主要驅(qū)動(dòng)力,高通量文件系統(tǒng)將成為一種重要的文件系統(tǒng)。大型數(shù)據(jù)中心在數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)訪問(wèn)方面有著與先前的應(yīng)用非常不同的需求特征,主要包括:數(shù)據(jù)量龐大、訪問(wèn)的并發(fā)度高、文件數(shù)量巨大、數(shù)據(jù)訪問(wèn)語(yǔ)義和訪問(wèn)接口不同于傳統(tǒng)的文件系統(tǒng)、數(shù)據(jù)共享與數(shù)據(jù)安全的保障越來(lái)越重要等。2021/6/2726表5.1文件系統(tǒng)

的發(fā)展脈絡(luò)2021/6/27275.3從單機(jī)存儲(chǔ)系統(tǒng)到分布式存儲(chǔ)系統(tǒng)5.3.1單機(jī)存儲(chǔ)系統(tǒng)5.3.2分布式存儲(chǔ)系統(tǒng)2021/6/27285.3.1單機(jī)存儲(chǔ)系統(tǒng)1.硬件基礎(chǔ)簡(jiǎn)單來(lái)說(shuō),單機(jī)存儲(chǔ)就是散列表、B樹等數(shù)據(jù)結(jié)構(gòu)在機(jī)械硬盤、SSD等持久化介質(zhì)上的實(shí)現(xiàn)。單機(jī)存儲(chǔ)系統(tǒng)的理論來(lái)源于關(guān)系數(shù)據(jù)庫(kù),是單機(jī)存儲(chǔ)引擎的封裝,對(duì)外提供文件、鍵值、表或者關(guān)系模型。由摩爾定律可知,相同性能的計(jì)算機(jī)等IT產(chǎn)品,每18個(gè)月價(jià)錢會(huì)下降一半。而計(jì)算機(jī)的硬件體系架構(gòu)卻保持相對(duì)穩(wěn)定,一個(gè)重要原因就是希望最大限度地發(fā)揮底層硬件的價(jià)值。計(jì)算機(jī)架構(gòu)中常見(jiàn)硬件的大致性能參數(shù)如表5.2所示。2021/6/2729表5.2常用硬件性能參數(shù)2021/6/27305.3.1單機(jī)存儲(chǔ)系統(tǒng)2.存儲(chǔ)引擎存儲(chǔ)引擎直接決定了存儲(chǔ)系統(tǒng)能夠提供的性能和功能,其基本功能包括:增、刪、改、查,而讀取操作又分為隨機(jī)讀取和順序掃描兩種。散列存儲(chǔ)引擎是散列表的持久化實(shí)現(xiàn),支持增、刪、改,以及隨機(jī)讀取操作,但不支持順序掃描,對(duì)應(yīng)的存儲(chǔ)系統(tǒng)為鍵值(Key-Value)存儲(chǔ)系統(tǒng)。B樹(B-Tree)存儲(chǔ)引擎是樹的持久化實(shí)現(xiàn),不僅支持單條記錄的增、刪、讀、改操作,還支持順序掃描,對(duì)應(yīng)的存儲(chǔ)系統(tǒng)是關(guān)系數(shù)據(jù)庫(kù)。LSM樹(Log-StructuredMergeTree)存儲(chǔ)引擎和B樹存儲(chǔ)引擎一樣,支持增、刪、改、隨機(jī)讀取以及順序掃描,它通過(guò)批量轉(zhuǎn)儲(chǔ)技術(shù)規(guī)避了磁盤隨機(jī)寫入問(wèn)題,廣泛應(yīng)用于互聯(lián)網(wǎng)的后臺(tái)存儲(chǔ)系統(tǒng),例如GoogleBigtable、GoogleLevelDB以及Cassandra系統(tǒng)等。2021/6/27315.3.1單機(jī)存儲(chǔ)系統(tǒng)3.?dāng)?shù)據(jù)模型如果說(shuō)存儲(chǔ)引擎相當(dāng)于存儲(chǔ)系統(tǒng)的發(fā)動(dòng)機(jī),那么,數(shù)據(jù)模型就是存儲(chǔ)系統(tǒng)的外殼。存儲(chǔ)系統(tǒng)的數(shù)據(jù)模型主要包括三類:文件、關(guān)系以及鍵值模型。傳統(tǒng)的文件系統(tǒng)和關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)分別采用文件和關(guān)系模型。關(guān)系模型描述能力強(qiáng),生態(tài)好,是目前存儲(chǔ)系統(tǒng)的業(yè)界標(biāo)準(zhǔn)。而新產(chǎn)生的鍵值模型、關(guān)系弱化的表格模型等,因?yàn)槠淇蓴U(kuò)展性、高并發(fā)以及性能上的優(yōu)勢(shì),開(kāi)始在越來(lái)越多的大數(shù)據(jù)應(yīng)用場(chǎng)景中發(fā)揮重要作用。2021/6/27325.3.2分布式存儲(chǔ)系統(tǒng)1.基本概念(1)異常(2)超時(shí)(3)一致性(4)衡量指標(biāo)性能可用性一致性可擴(kuò)展性2021/6/27335.3.2分布式存儲(chǔ)系統(tǒng)2.性能分析性能分析是用來(lái)判斷設(shè)計(jì)方案是否存在瓶頸點(diǎn),權(quán)衡多種設(shè)計(jì)方案的一種手段,也可作為后續(xù)性能優(yōu)化的依據(jù)。性能分析與性能優(yōu)化是相對(duì)的,系統(tǒng)設(shè)計(jì)之初通過(guò)性能分析確定設(shè)計(jì)目標(biāo),防止出現(xiàn)重大的設(shè)計(jì)失誤,等到系統(tǒng)試運(yùn)行后,需要通過(guò)性能優(yōu)化方法找出系統(tǒng)中的瓶頸點(diǎn)并逐步消除,使系統(tǒng)達(dá)到設(shè)計(jì)之初確定的設(shè)計(jì)目標(biāo)。設(shè)計(jì)之初首先分析整體架構(gòu),接著重點(diǎn)分析可能成為瓶頸的單機(jī)模塊。系統(tǒng)中的資源(CPU、內(nèi)存、磁盤、網(wǎng)絡(luò))是有限的,性能分析就是需要找出可能出現(xiàn)的資源瓶頸。2021/6/27345.3.2分布式存儲(chǔ)系統(tǒng)3.?dāng)?shù)據(jù)分布分布式系統(tǒng)能夠?qū)?shù)據(jù)分布到多個(gè)節(jié)點(diǎn),并在多個(gè)節(jié)點(diǎn)之間實(shí)現(xiàn)負(fù)載均衡。其方式主要有兩種:散列分布,如一致性散列,代表系統(tǒng)為Amazon的Dynamo系統(tǒng);順序分布,即每張表格上的數(shù)據(jù)按照主鍵整體有序,代表系統(tǒng)為Google的Bigtable。將數(shù)據(jù)分散到多臺(tái)機(jī)器后,需要盡量保證多臺(tái)機(jī)器之間的負(fù)載是比較均衡的。分布式存儲(chǔ)系統(tǒng)需要能夠自動(dòng)識(shí)別負(fù)載高的節(jié)點(diǎn),當(dāng)某臺(tái)機(jī)器的負(fù)載較高時(shí),將它服務(wù)的部分?jǐn)?shù)據(jù)遷移到其他機(jī)器,實(shí)現(xiàn)自動(dòng)負(fù)載均衡。2021/6/27355.3.2分布式存儲(chǔ)系統(tǒng)4.復(fù)制為了保證分布式存儲(chǔ)系統(tǒng)的高可靠和高可用,數(shù)據(jù)在系統(tǒng)中一般存儲(chǔ)多個(gè)副本。當(dāng)某個(gè)副本所在的存儲(chǔ)節(jié)點(diǎn)出現(xiàn)故障時(shí),分布式存儲(chǔ)系統(tǒng)能夠自動(dòng)將服務(wù)切換到其他的副本,從而實(shí)現(xiàn)自動(dòng)容錯(cuò)。分布式存儲(chǔ)系統(tǒng)通過(guò)復(fù)制協(xié)議將數(shù)據(jù)同步到多個(gè)存儲(chǔ)節(jié)點(diǎn),并確保多個(gè)副本之間的數(shù)據(jù)一致性。同一份數(shù)據(jù)的多個(gè)副本中往往有一個(gè)副本為主副本(Primary),其他副本為備用副本(Backup),由主副本將數(shù)據(jù)復(fù)制到備用副本。當(dāng)主副本出現(xiàn)故障時(shí),分布式存儲(chǔ)系統(tǒng)能夠?qū)⒎?wù)自動(dòng)切換到某個(gè)備用副本,實(shí)現(xiàn)自動(dòng)容錯(cuò)。2021/6/27365.3.2分布式存儲(chǔ)系統(tǒng)5.容錯(cuò)分布式存儲(chǔ)系統(tǒng)首先需要能夠檢測(cè)到機(jī)器故障,然后需要將服務(wù)復(fù)制或者遷移到集群中的其他正常節(jié)點(diǎn)。表5.3 Google某數(shù)據(jù)中心第一年運(yùn)行故障2021/6/27375.3.2分布式存儲(chǔ)系統(tǒng)6.可擴(kuò)展性可擴(kuò)展性的實(shí)現(xiàn)手段很多,如通過(guò)增加副本個(gè)數(shù)或者緩存來(lái)提高讀取能力,將數(shù)據(jù)分片使每個(gè)分片可以被分配到不同的工作節(jié)點(diǎn)以實(shí)現(xiàn)分布式處理,把數(shù)據(jù)復(fù)制到多個(gè)數(shù)據(jù)中心等。同時(shí),衡量分布式存儲(chǔ)系統(tǒng)的可擴(kuò)展性應(yīng)該綜合考慮節(jié)點(diǎn)故障后的恢復(fù)時(shí)間、擴(kuò)容的自動(dòng)化程度、擴(kuò)容的靈活性等。2021/6/27387.分布式協(xié)議(1)兩階段提交協(xié)議(Two-PhaseCommit,2PC):由階段1請(qǐng)求階段(PreparePhase)和階段2提交階段(CommitPhase)組成,經(jīng)常用來(lái)實(shí)現(xiàn)分布式事務(wù),以保證跨多個(gè)節(jié)點(diǎn)操作的原子性。(2)

Paxos協(xié)議:用于解決多個(gè)節(jié)點(diǎn)之間的一致性問(wèn)題。Paxos協(xié)議考慮到主節(jié)點(diǎn)可能出現(xiàn)故障,系統(tǒng)需要選舉出新的主節(jié)點(diǎn)的問(wèn)題,該協(xié)議可以保證多個(gè)節(jié)點(diǎn)之間操作日志的一致性,并在這些節(jié)點(diǎn)上構(gòu)建高可用的全局服務(wù),例如分布式鎖服務(wù)、全局命名和配置服務(wù)等。5.3.2分布式存儲(chǔ)的發(fā)展歷史2021/6/27395.4實(shí)踐:分布式存儲(chǔ)系統(tǒng)Ceph5.4.1概述5.4.2設(shè)計(jì)思想5.4.3整體架構(gòu)5.4.4集群部署2021/6/2740Ceph最初是一項(xiàng)關(guān)于存儲(chǔ)系統(tǒng)的研究項(xiàng)目,由塞奇·維爾(SageWeil)在加州大學(xué)圣克魯茲分校(UCSC)開(kāi)發(fā)。Ceph是一個(gè)統(tǒng)一的、分布式的存儲(chǔ)系統(tǒng),具有出眾的性能、可靠性和可擴(kuò)展性。其中,“統(tǒng)一”和“分布式”是理解Ceph的設(shè)計(jì)思想的出發(fā)點(diǎn)。①統(tǒng)一:意味著Ceph可以以一套存儲(chǔ)系統(tǒng)同時(shí)提供“對(duì)象存儲(chǔ)”“塊存儲(chǔ)”和“文件系統(tǒng)”三種功能,以滿足不同應(yīng)用的需求。②分布式:意味著無(wú)中心結(jié)構(gòu)和系統(tǒng)規(guī)模的無(wú)限(至少理論上沒(méi)有限制)擴(kuò)展。在實(shí)踐當(dāng)中,Ceph可以被部署于成千上萬(wàn)臺(tái)服務(wù)器上。5.4.1概述2021/6/27415.4.2設(shè)計(jì)思想Ceph最初設(shè)計(jì)的目標(biāo)應(yīng)用場(chǎng)景就是大規(guī)模的、分布式的存儲(chǔ)系統(tǒng),是指至少能夠承載PB量級(jí)的數(shù)據(jù),并且由成千上萬(wàn)的存儲(chǔ)節(jié)點(diǎn)組成。在Ceph的設(shè)計(jì)思想中,對(duì)于一個(gè)大規(guī)模的存儲(chǔ)系統(tǒng),主要考慮了三個(gè)場(chǎng)景變化特征:存儲(chǔ)系統(tǒng)的規(guī)模變化、存儲(chǔ)系統(tǒng)中的設(shè)備變化以及存儲(chǔ)系統(tǒng)中的數(shù)據(jù)變化。Ceph的設(shè)計(jì)思路基本上可以

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論