• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      Ceph云文件系統(tǒng)中糾刪碼的應用研究

      2016-01-27 09:20劉莎楚傳仁
      計算機時代 2016年1期

      劉莎 楚傳仁

      摘 要: Ceph云文件系統(tǒng)[1]通過完全副本冗余策略來提高數(shù)據(jù)的可靠性,但是會造成存儲空間的浪費。為了提高存儲空間的利用率,研究了糾刪碼和緩存分層(Cache層)技術[2]。在Ceph平臺下,通過實驗對完全副本與糾刪碼冗余存儲進行分析比較,得出在存儲數(shù)據(jù)越來越大的情況下,基于Cache分層的糾刪碼存儲性能優(yōu)勢比完全副本更明顯;完全副本則更適合于對小文件進行存儲。

      關鍵詞: Ceph; 云文件系統(tǒng); 糾刪碼; 完全副本; 緩存層

      中圖分類號:TP309.3 文獻標志碼:A 文章編號:1006-8228(2016)01-01-03

      Research on application of erasure code in Ceph cloud file system

      Liu Sha, Chu Chuanren

      (School of Communication Engineering, Hangzhou Dianzi University, Hangzhou, Zhejiang 310018, China)

      Abstract: Ceph cloud file system uses replication technology to improve data reliability, but will cause the waste of storage space. To improve the storage space utilization, this paper studies the erasure code and cache tiering technology. On Ceph platform, through the analysis of replication mechanism and erasure code, the performance advantage of erasure code based on cache tiering is found more obvious than replication mechanism when the data is large enough, while replication mechanism is more suitable to small file.

      Key words: Ceph; cloud file system; erasure code; full replica; cache tiering

      0 引言

      數(shù)據(jù)的可靠性是云存儲領域研究的重點,為了保證數(shù)據(jù)可靠性,大多數(shù)分布式云文件系統(tǒng)使用完全副本冗余技術,即為每個對象創(chuàng)建同等數(shù)量的副本。本文所研究的Ceph云系統(tǒng)其數(shù)據(jù)放置策略就是基于該機制。完全副本冗余技術部署簡單,訪問效率高,但是會浪費很大的存儲空間。數(shù)據(jù)的副本冗余技術主要有完全副本和糾刪碼[3]。為了應對這一弊端,需要考慮糾刪碼,糾刪碼把原始數(shù)據(jù)通過一種規(guī)則編碼成數(shù)據(jù)塊和校驗塊后,再將這些塊一一進行存儲。這種冗余存儲技術使存儲空間的利用率得到了顯著提高,其缺點是讀性能下降。

      本文的主要目標是在Ceph系統(tǒng)采用完全副本冗余技術的基礎上,使用糾刪碼技術來提高存儲空間的利用率,同時引入緩存分層技術,以彌補糾刪碼讀取速度慢的缺陷。

      1 Ceph文件系統(tǒng)概述

      Ceph作為云存儲分布式系統(tǒng),具有高可擴展性、高可靠性和高性能特性[4],并且其系統(tǒng)源碼是開源的。即可以支持TB到PB的擴展,沒有單點故障,數(shù)據(jù)能夠均衡地在節(jié)點上分布。同時Ceph作為統(tǒng)一的存儲系統(tǒng),可以提供和支持對象、塊和文件的存儲功能。

      Ceph系統(tǒng)由四個組件組成:①客戶端(Client),用戶對Ceph文件系統(tǒng)進行執(zhí)行操作的入口;②對象存儲集群(OSD,Object Storage Device)負責存儲包括元數(shù)據(jù)在內(nèi)的所有數(shù)據(jù),同時負責數(shù)據(jù)的請求服務;③元數(shù)據(jù)服務器(MDS,Metadata Server)對系統(tǒng)中的元數(shù)據(jù)進行緩存,并對數(shù)據(jù)進行管理;④集群監(jiān)視器[5](Monitors),監(jiān)視和管理整個集群,時刻對集群的有效狀態(tài)進行維護。Ceph系統(tǒng)架構圖如圖1所示。

      圖1 Ceph系統(tǒng)架構圖

      2 容錯機制

      2.1 完全副本

      Ceph系統(tǒng)采用主-從(Primary-Replica)方式對文件執(zhí)行讀寫操作[6]。對于讀操作,Client端可以向?qū)ο螅╫bject)所對應的OSD集群的主OSD或從OSD發(fā)起讀操作,但是寫操作必須是對主OSD發(fā)起。Ceph系統(tǒng)對object的更新是按順序的,因為一個object有且僅有一個OSD。當object請求主OSD進行寫操作時,主OSD要把數(shù)據(jù)發(fā)送給其他從OSD;其他從OSD分別完成寫操作的請求后,將會一一向主OSD發(fā)送寫操作完成信息;當object寫入到其對應的所有的OSD中后,主OSD向Client端發(fā)送寫操作完成信息,從而確保了副本的一致性。

      2.2 糾刪碼

      本文所研究的糾刪碼的編碼和解碼操作都是由主OSD執(zhí)行的。當object需要進行寫操作時,通過Crush算法找到主OSD,并把object全部寫入到主OSD中。object在主OSD上被切分成k個數(shù)據(jù)塊后進行編碼,產(chǎn)生n個數(shù)據(jù)塊,其中m=n-k個數(shù)據(jù)塊為編碼塊。編碼后的第一個數(shù)據(jù)塊存儲在主OSD上,剩余的n-1個數(shù)據(jù)塊由主OSD分配到各個節(jié)點上。

      在對文件進行讀操作時,主OSD會優(yōu)先收集相應OSD上的數(shù)據(jù)塊。不管數(shù)據(jù)塊是否丟失,只需要收集k個數(shù)據(jù)塊和編碼塊,主OSD就可以解碼出原來的數(shù)據(jù)。

      2.3 糾刪碼與完全副本冗余度比較

      糾刪碼的原理是:將源數(shù)據(jù)分成k個數(shù)據(jù)塊,再進行編碼生成n個冗余數(shù)據(jù)塊,新編碼生成的m=n-k個數(shù)據(jù)塊為編碼塊。只要丟失的數(shù)據(jù)塊個數(shù)不大于m,就能夠通過剩余的數(shù)據(jù)塊實現(xiàn)原始數(shù)據(jù)的恢復。為了比較糾刪碼與完全副本的存儲空間占用率,引入了冗余度。冗余度用來表示信源信息率的多余程度,使用糾刪碼放置策略的冗余度為:

      對于可以糾m個錯的完全副本來說,需要m+1個副本,冗余度為m+1。相比較糾刪碼來說,完全副本的冗余度大于糾刪碼的冗余度。即糾刪碼技術可以節(jié)省極大的存儲空間。

      3 Cache分層

      由于糾刪碼的訪問效率相對于完全副本來說比較低,所以需要在存儲層之上添加Cache層。Cache層可以為Client端提供更高I/O性能;存儲層主要放置使用糾刪碼進行編碼后的數(shù)據(jù)塊;Ceph objecter在Client端之后,用來處理Objects的放置位置;在Cache層與存儲層之間有一個緩存分層代理(the cache tiering agent),其作用是用來自動處理緩存層和后備存儲層間的數(shù)據(jù)遷移。管理員(admin)有權利配置數(shù)據(jù)如何遷移。如下有兩種典型的模式。

      回寫模式(Writeback Mode):Client端寫數(shù)據(jù)到Cache層,Cache層做出響應后,在Cache層的數(shù)據(jù)會被下刷到存儲層中,并刷新Cache層;當Client端需要對存儲層讀寫數(shù)據(jù)時,緩存分層代理把存儲層的數(shù)據(jù)遷移到Cache層后發(fā)給Client端。Client端在Cache層執(zhí)行I/O操作?;貙懩J竭m用于經(jīng)常發(fā)生變動的數(shù)據(jù)。

      只讀模式(Read-only Mode):Client端直接寫數(shù)據(jù)到存儲層;在進行讀數(shù)據(jù)操作時,需要在存儲層中拷貝必須的數(shù)據(jù)到Cache層。根據(jù)已經(jīng)設定好的規(guī)則,原來的數(shù)據(jù)會從Cache層中刪除。只讀模式適用不經(jīng)常變動的數(shù)據(jù)。數(shù)據(jù)是弱一致性的,可能包含過時的數(shù)據(jù)[7]。

      4 實驗結果與分析

      4.1 環(huán)境配置

      為了測試云文件系統(tǒng)中糾刪碼技術的數(shù)據(jù)訪問性能,搭建了以下測試環(huán)境:2個Monitors、1個MDS、6個OSD、1個Client端。軟件環(huán)境:Ubuntu 12.04、Ceph 0.94.2。在相同糾錯能力下,創(chuàng)建完全副本冗余存儲和添加Cache層的糾刪碼存儲,這里糾刪碼為RS糾刪碼。

      4.2 測試分析

      使用Rados bench對完全副本和糾刪碼冗余存儲的不同請求大?。?2K、64K、128K、256K、512K、1M、2M、4M)在16進程下進行讀寫性能的測試[8-9],并對測試結果進行分析。圖2為讀性能的測試,圖3為寫性能的測試。

      通過圖2讀性能的對比分析可知,糾刪碼與完全副本冗余存儲的讀性能比較穩(wěn)定,完全副本的讀性能相對來說要比糾刪碼的好[10]。圖3顯示在1M以內(nèi)的數(shù)據(jù)完全副本的寫性能高于糾刪碼,1M以上的數(shù)據(jù)糾刪碼的寫性能明顯要高于完全副本。因此,當我們要存儲不經(jīng)常改變的冷數(shù)據(jù)或大數(shù)據(jù)時,可以選擇糾刪碼存儲;當需要存儲經(jīng)常變化的數(shù)據(jù)或小文件時,可以選擇完全副本進行存儲[11]。

      5 結束語

      本文搭建了基于糾刪碼Ceph冗余存儲系統(tǒng),通過實際測試,可以得出基于Cache分層的糾刪碼存儲數(shù)據(jù)越來越大時,其性能更優(yōu)于完全副本存儲,而且可以節(jié)省極大的數(shù)據(jù)存儲空間。完全副本冗余存儲則適合對小文件進行存儲,其讀寫性能明顯優(yōu)于糾刪碼。該系統(tǒng)與其他相關研究的區(qū)別在于,系統(tǒng)是一個PB級的分布式文件系統(tǒng),并在使用糾刪碼降低存儲空間浪費的基礎上引入緩存分層,實現(xiàn)在進行大數(shù)據(jù)存儲時,讀寫性能更優(yōu)于完全副本存儲。該系統(tǒng)具有增加空間利用率和提高讀寫性能的普遍意義,但是接下來需要考慮使用哪種糾刪碼可以更有效地提高性能。

      參考文獻(References):

      [1] 程靚坤.基于Ceph的云存儲系統(tǒng)設計與實現(xiàn)[D].中山大學,

      中山大學碩士學位論文,2014.

      [2] 沈良好.基于Ceph的分布式存儲節(jié)能技術研究[J].計算機工

      程,2014.39(3):322-327

      [3] 程振東,欒鐘治,孟由等.云文件系統(tǒng)中糾刪碼技術的研究與

      實現(xiàn)[J].計算機科學與探索,2013.23(4):315-325

      [4] Weil S A, Brandt S A, Miller E L, et al. CRUSH:

      Controlled, scalable, decentralized placement of replicated data[C]//Proceedings of the 2006 ACM/IEEE conference on Supercomputing, Tampa, USA: ACM,2006.

      [5] 鄭傳建.Ceph對象文件系統(tǒng)添加任務遷移特性的研究[D].武

      漢理工大學碩士學位論文,2014.

      [6] 劉學梁.基于對象存儲的安全分布式文件系統(tǒng)研究[D].電子

      科技大學碩士學位論文,2012.

      [7] 聶瑞華,張科倫,梁軍.一種改進的云存儲系統(tǒng)容錯機制[J].計

      算機應用研究,2013.45(12):3724-3728

      [8] 肖哲鋒.基于ErasureCode的高可用分布式存儲系統(tǒng)的設計

      與實現(xiàn)[D].國防科學技術大學碩士學位論文,2010.

      [9] 李玲,付園,麻曉珍等.云存儲系統(tǒng)中數(shù)據(jù)冗余策略優(yōu)化問題[J].

      吉林大學學報,2013.44(1):1-7

      [10] 王引娜,宋耀光,倪巍等.基于RS糾刪碼的HDFS云存儲動

      態(tài)副本策略研究[J].科技創(chuàng)新導報,2013.17:29-31

      [11] 楊東日,王穎,劉鵬.一種副本復制和糾錯碼融合的云存儲

      文件系統(tǒng)容錯機制[J].清華大學學報(自然科學版),2014.34(1):137-144

      上高县| 信宜市| 浑源县| 梅州市| 华池县| 静宁县| 右玉县| 漠河县| 文成县| 环江| 黑水县| 平定县| 镇宁| 拜城县| 白银市| 区。| 绥芬河市| 兴海县| 汉川市| 雷山县| 白山市| 浦北县| 峨眉山市| 河曲县| 曲靖市| 西盟| 九台市| 渑池县| 远安县| 溧水县| 正定县| 拉孜县| 凉城县| 新巴尔虎左旗| 富蕴县| 东台市| 宣城市| 江川县| 阳城县| 永宁县| 双江|