學習大數(shù)據(jù)-需要了解RAID

簡介

RAID是一個我們經(jīng)常能見到的名詞。但卻因為很少能在實際環(huán)境中體驗窘拯,所以很難對其原理 能有很清楚的認識和掌握红且。本文將對RAID技術(shù)進行介紹和總結(jié),以期能盡量闡明其概念树枫,科多大數(shù)據(jù)帶你來學習學習直焙。

RAID全稱為獨立磁盤冗余陣列(Redundant Array of Independent Disks),基本思想就是把多個相對便宜的硬盤組合起來砂轻,成為一個硬盤陣列組奔誓,使性能達到甚至超過一個價格昂貴、 容量巨大的硬盤。RAID通常被用在服務器電腦上厨喂,使用完全相同的硬盤組成一個邏輯扇區(qū)和措,因此操作系統(tǒng)只會把它當做一個硬盤。 RAID分為不同的等級蜕煌,各個不同的等級均在數(shù)據(jù)可靠性及讀寫性能上做了不同的權(quán)衡派阱。 在實際應用中,可以依據(jù)自己的實際需求選擇不同的RAID方案斜纪。

標準RAID

RAID 0

RAID0稱為條帶化(Striping)存儲贫母,將數(shù)據(jù)分段存儲于 各個磁盤中,讀寫均可以并行處理盒刚。因此其讀寫速率為單個磁盤的N倍(N為組成RAID0的磁盤個數(shù))腺劣,但是卻沒有數(shù) 據(jù)冗余,單個磁盤的損壞會導致數(shù)據(jù)的不可修復因块。

大多數(shù)striping的實現(xiàn)允許管理者通過調(diào)節(jié)兩個關鍵的參數(shù)來定義數(shù)據(jù)分段及寫入磁盤的方式橘原,這兩個參數(shù)對RAID0的性能有很重要的影響。

STRIPE WIDTH

stripe width是指可被并行寫入的 stripe 的個數(shù)涡上,即等于磁盤陣列中磁盤的個數(shù)趾断。

STRIPE SIZE

也可稱為block size(chunk size,stripe length吩愧,granularity)芋酌,指寫入每個磁 盤的數(shù)據(jù)塊大小。以塊分段的RAID通逞慵眩可允許選擇的塊大小從 2KB 到 512KB不等隔嫡,也有更 高的,但一定要是2的指數(shù)倍甘穿。以字節(jié)分段的(比如RAID3)一般的stripe size為1字節(jié)或者 512字節(jié),并且用戶不能調(diào)整梢杭。 stripe size對性能的影響是很難簡單估量的温兼,最好在實際應用中依自己需求多多調(diào)整并觀察其影響。通常來說武契,減少stripe size募判,文件會被分成更小的塊,傳輸數(shù)據(jù)會更快咒唆,但是卻需要更多的磁盤來保存届垫,增加positioning performance,反之則相反全释。應該說装处,沒有一個理論上的最優(yōu)的值。很多時候浸船,也要考慮磁盤控制器的策略妄迁,比如有的磁盤控制器會等等到一定數(shù)據(jù)量才開始往磁盤寫入寝蹈。

RAID 1

鏡像存儲(mirroring),沒有數(shù)據(jù)校驗登淘。數(shù)據(jù)被同等地寫入兩個或多個磁盤中箫老,可想而知,寫入速度會比較 慢黔州,但讀取速度會比較快耍鬓。讀取速度可以接近所有磁盤吞吐量的總和,寫入速度受限于最慢 的磁盤流妻。 RAID1也是磁盤利用率最低的一個牲蜀。如果用兩個不同大小的磁盤建立RAID1,可以用空間較小 的那一個合冀,較大的磁盤多出來的部分可以作他用各薇,不會浪費。

RAID 2

RAID0的改良版君躺,加入了漢明碼(Hanmming Code)錯誤校驗峭判。

漢明碼能夠檢測最多兩個同時發(fā)生的比特錯誤,并且能夠更正單一比特的錯誤棕叫。漢明碼的位數(shù)與數(shù)據(jù)的位數(shù)有一個不等式關系林螃,即:

1

2^P ≥ P + D +1

P代表漢明碼的個數(shù),D代表數(shù)據(jù)位的個數(shù)俺泣,比如4位數(shù)據(jù)需要3位漢明碼疗认,7位數(shù)據(jù)需要4位漢 明碼,64位數(shù)據(jù)時就需要7位漢明碼伏钠。RAID2是按1bit來分割數(shù)據(jù)寫入的横漏,而P:D就代表了數(shù)據(jù) 盤與校驗盤的個數(shù)。所以如果數(shù)據(jù)位寬越大熟掂,用于校驗的盤的比例就越小缎浇。由于漢明碼能夠 糾正單一比特的錯誤,所以當單個磁盤損壞時赴肚,漢明碼便能夠糾正數(shù)據(jù)素跺。

RAID 2 因為每次讀寫都需要全組磁盤聯(lián)動,所以為了最大化其性能誉券,最好保證每塊磁盤主 軸同步指厌,使同一時刻每塊磁盤磁頭所處的扇區(qū)邏輯編號都一致,并存并取踊跟,達到最佳性能踩验。 如果不能同步,則會產(chǎn)生等待,影響速度晰甚。

與RAID0相比衙传,RAID2的傳輸率更好。因為RAID0一般stripe size相對于RAID2的1bit來說 實在太大厕九,并不能保證每次都是多磁盤并行蓖捶。而RAID2每次IO都能保證是多磁盤并行,為了 發(fā)揮這個優(yōu)勢扁远,磁盤的尋道時間一定要減少(尋道時間比數(shù)據(jù)傳輸時間要大幾個數(shù)量級)俊鱼,所 以RAID2適合于連續(xù)IO,大塊IO(比如視頻流服務)的情況畅买。

RAID 3

類似于RAID2并闲,數(shù)據(jù)條帶化(stripe)存儲于不同的硬盤,數(shù)據(jù)以字節(jié)為單位谷羞,只是RAID3使用單塊磁盤存儲簡單的 奇偶校驗信息帝火,所以最終磁盤數(shù)量為 N+1 。當這N+1個硬盤中的其中一個硬盤出現(xiàn)故障時湃缎, 從其它N個硬盤中的數(shù)據(jù)也可以恢復原始數(shù)據(jù)犀填,當更換一個新硬盤后,系統(tǒng)可以重新恢復完整 的校驗容錯信息嗓违。

由于在一個硬盤陣列中九巡,多于一個硬盤同時出現(xiàn)故障率的幾率很小,所以一般情況下蹂季,使用 RAID3冕广,安全性是可以得到保障的。RAID 3會把數(shù)據(jù)的寫入操作分散到多個磁盤上進行偿洁,不管是向哪一個數(shù)據(jù)盤寫入數(shù)據(jù)撒汉, 都需要同時重寫校驗盤中的相關信息。因此涕滋,對于那些經(jīng)常需要執(zhí)行大量寫入操作的應用來 說神凑,校驗盤的負載將會很大,無法滿足程序的運行速度何吝,從而導致整個RAID系統(tǒng)性能的下降。 鑒于這種原因鹃唯,RAID 3更加適合應用于那些寫入操作較少爱榕,讀取操作較多的應用環(huán)境,例如 數(shù)據(jù)庫和WEB服務器等坡慌。

RAID 4

與RAID3類似黔酥,但RAID4是按塊(扇區(qū))存取。無須像RAID3那樣,哪怕每一次小I/O操作也要涉 及全組跪者,只需涉及組中兩塊硬盤(一塊數(shù)據(jù)盤棵帽,一塊校驗盤)即可,從而提高了小量數(shù)據(jù) I/O速度渣玲。

RAID 5

奇偶校驗(XOR)逗概,數(shù)據(jù)以塊分段條帶化存儲。校驗信息交叉地存儲在所有的數(shù)據(jù)盤上忘衍。

RAID5把數(shù)據(jù)和相對應的奇偶校驗信息存儲到組成RAID5的各個磁盤上逾苫,并且奇偶校驗信息和 相對應的數(shù)據(jù)分別存儲于不同的磁盤上,其中任意N-1塊磁盤上都存儲完整的數(shù)據(jù)枚钓,也就是 說有相當于一塊磁盤容量的空間用于存儲奇偶校驗信息铅搓。因此當RAID5的一個磁盤發(fā)生損壞 后,不會影響數(shù)據(jù)的完整性搀捷,從而保證了數(shù)據(jù)安全星掰。當損壞的磁盤被替換后,RAID還會自動 利用剩下奇偶校驗信息去重建此磁盤上的數(shù)據(jù)嫩舟,來保持RAID5的高可靠性氢烘。

RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統(tǒng)提供數(shù)據(jù)安全保障至壤,但 保障程度要比鏡像低而磁盤空間利用率要比鏡像高威始。RAID 5具有和RAID 0相近似的數(shù)據(jù)讀取 速度,只是因為多了一個奇偶校驗信息像街,寫入數(shù)據(jù)的速度相對單獨寫入一塊硬盤的速度略慢黎棠。

RAID 6

類似RAID5,但是增加了第二個獨立的奇偶校驗信息塊镰绎,兩個獨立的奇偶系統(tǒng)使用不同的算法脓斩, 數(shù)據(jù)的可靠性非常高,即使兩塊磁盤同時失效也不會影響數(shù)據(jù)的使用畴栖。但RAID 6需要分配給 奇偶校驗信息更大的磁盤空間随静,相對于RAID 5有更大的“寫損失”,因此“寫性能”非常差吗讶。

由圖所知燎猛,每個硬盤上除了都有同級數(shù)據(jù)XOR校驗區(qū)外,還有一個針對每個數(shù)據(jù) 塊的XOR校驗區(qū)照皆。當然重绷,當前盤數(shù)據(jù)塊的校驗數(shù)據(jù)不可能存在當前盤而是交錯存儲的。從數(shù) 學角度來說膜毁,RAID 5使用一個方程式解出一個未知變量昭卓,而RAID 6則能通過兩個獨立的線性 方程構(gòu)成方程組愤钾,從而恢復兩個未知數(shù)據(jù)。

伴隨著硬盤容量的增長候醒,RAID6已經(jīng)變得越來越重要能颁。TB級別的硬盤上更容易造成數(shù)據(jù)丟失, 數(shù)據(jù)重建過程(比如RAID5倒淫,只允許一塊硬盤損壞)也越來越長伙菊,甚至到數(shù)周,這是完全不可接受的昌简。而RAID6允許兩 塊硬盤同時發(fā)生故障占业,所以漸漸受到人們的青睞。

伴隨CD纯赎,DVD和藍光光盤的問世谦疾,存儲介質(zhì)出現(xiàn)了擦除碼技術(shù),即使媒介表面出現(xiàn)劃痕犬金,仍然可以播放念恍,大多數(shù)常見的擦除碼算法已經(jīng)演變?yōu)樯鲜兰o60年代麻省理工學院林肯實驗室開 發(fā)的Reed-Solomon碼。實際情況中晚顷,多數(shù)RAID6實現(xiàn)都采用了標準的RAID5教校驗比特和Reed-Solomon碼峰伙。而純擦除碼算法的使用使得RAID 6陣列可以失效兩塊以上的硬盤,保護力度更強该默,有些實現(xiàn)方法提供了多種級別的保護瞳氓,甚至允許用戶(或存儲管理員)指定保護級別。

混合RAID

RAID 01

顧名思義栓袖,是RAID0和RAID1的結(jié)合匣摘。先做條帶(0),再做鏡像(1)裹刮。

RAID 10

同上音榜,但是先做鏡像(1),再做條帶(0)

RAID01和RAID10非常相似捧弃,二者在讀寫性能上沒有什么差別赠叼。但是在安全性上RAID10要好于 RAID01。如圖中所示违霞,假設DISK0損壞嘴办,在RAID10中,在剩下的3塊盤中买鸽,只有當DISK1故障涧郊, 整個RAID才會失效。但在RAID01中癞谒,DISK0損壞后底燎,左邊的條帶將無法讀取,在剩下的3快盤 中弹砚,只要DISK2或DISK3兩個盤中任何一個損壞双仍,都會導致RAID失效。

RAID10和RAID5也是經(jīng)常用來比較的兩種方案桌吃,二者都在生產(chǎn)實踐中得到了廣泛的應用朱沃。 RAID10安全性更高,但是空間利用率低茅诱。至于讀寫性能逗物,與cache有很大關聯(lián),最好根據(jù)實 際情況測試比較選擇瑟俭。

非標準RAID

DRFS

DRFS翎卓,即DistributedRaidFileSystem,是一種嘗試將RAID與Hadoop的DFS結(jié)合起來的技術(shù)摆寄。 通常的HDFS在實踐中需要將replication factor設為3以保證數(shù)據(jù)完整性失暴,而如果利用 RAID的stripe和partity(奇偶校驗)技術(shù),將數(shù)據(jù)分為多個塊微饥,并且存儲各個塊的校驗信 息(XOR或擦除碼)逗扒。有了這些措施,塊的副本數(shù)就可以降低并且保證同樣的數(shù)據(jù)可靠性欠橘,就能節(jié)省相當一部 分的存儲空間矩肩。

DRFS包含以下幾個組件:

· DRFS client: 提供應用程序訪問DRFS的接口,在發(fā)現(xiàn)讀取到的文件有損壞時修復肃续,整個操作對應用程序透明

· RaidNode: 創(chuàng)建黍檩,維護檢驗文件的daemon

· BlockFixer: 周期性地檢查文件,重新計算校驗和痹升,修復文件.

· RaidShell: 類似于hadoop shell.

· ErasureCode: 即DRFS所使用的生成校驗碼的算法建炫,可為XOR或者Reed-Solomon算法。 XOR僅能創(chuàng)建一個校驗字節(jié)疼蛾,而Reed-Solomon則可以創(chuàng)建無數(shù)位(位數(shù)越多肛跌,能恢復的數(shù) 據(jù)也越多),如果使用Reed-Solomon察郁,replication甚至可以降為1衍慎,缺點是降低了數(shù)據(jù)讀 寫的并行程度(只能從單機讀寫)。

實現(xiàn)

軟件實現(xiàn)

現(xiàn)在很都操作系統(tǒng)都提供了RAID的軟件實現(xiàn)皮钠,主要由以下幾個方面:

· 由軟件在多個設備上創(chuàng)建RAID稳捆,比如linux上的mdadm工具.具體使用方法可查看參考鏈接中 的例子。

· LVM或者Veritas麦轰,虛擬卷管理工具.

· 文件系統(tǒng)實現(xiàn) :btrfs乔夯,ZFS砖织,GPFS.這些文件都可以直接管理多個設備上的數(shù)據(jù),實 現(xiàn)了類似各級RAID的功能末荐。

· 在已有文件系統(tǒng)之上提供數(shù)據(jù)校驗功能的RAID系統(tǒng)(RAID-F)

固件/驅(qū)動實現(xiàn)

軟件實現(xiàn)并總是與系統(tǒng)的啟動進程兼容侧纯,硬件實現(xiàn)(RAID控制器)總是太貴并且都是廠商專有的技術(shù),所以 有了一中混合的實現(xiàn):系統(tǒng)啟動時甲脏,由固件(firmware)來實現(xiàn)RAID眶熬,系統(tǒng)啟動的差不多了,由驅(qū)動來管 理RAID块请。當然娜氏,這需要操作系統(tǒng)對這種驅(qū)動提供支持。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末墩新,一起剝皮案震驚了整個濱河市贸弥,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抖棘,老刑警劉巖茂腥,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異切省,居然都是意外死亡最岗,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門朝捆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來般渡,“玉大人,你說我怎么就攤上這事芙盘⊙庇茫” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵儒老,是天一觀的道長蝴乔。 經(jīng)常有香客問我,道長驮樊,這世上最難降的妖魔是什么薇正? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮囚衔,結(jié)果婚禮上挖腰,老公的妹妹穿的比我還像新娘。我一直安慰自己练湿,他們只是感情好猴仑,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布总处。 她就那樣靜靜地躺著因悲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪奕谭。 梳的紋絲不亂的頭發(fā)上稳强,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天厂抖,我揣著相機與錄音墓塌,去河邊找鬼羹铅。 笑死,一個胖子當著我的面吹牛坐漏,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播碧信,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼赊琳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了砰碴?” 一聲冷哼從身側(cè)響起躏筏,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呈枉,沒想到半個月后趁尼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡猖辫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年酥泞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啃憎。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡芝囤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辛萍,到底是詐尸還是另有隱情悯姊,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布贩毕,位于F島的核電站悯许,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏辉阶。R本人自食惡果不足惜先壕,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望睛藻。 院中可真熱鬧启上,春花似錦、人聲如沸店印。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽按摘。三九已至包券,卻和暖如春纫谅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背溅固。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工付秕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人侍郭。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓询吴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親亮元。 傳聞我的和親對象是個殘疾皇子猛计,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 獨立磁盤冗余數(shù)組(RAID, Redundant Array of Independent Disks)簡稱硬盤陣...
    yekai閱讀 4,843評論 0 14
  • 介紹一個新概念,RAID爆捞,這也是大學的時候的學的東西了奉瘤,一直很少在工作中使用,有點忘記煮甥,今天復習更新一下盗温。分享給大...
    若與閱讀 4,700評論 0 6
  • 一.RAID定義 RAID(Redundant Array of Independent Disk 獨立冗余磁盤陣...
    小艾QQD閱讀 532評論 0 1
  • 每一個人双霍,對未來都有美好的期望吼驶,這就是夢想。 在追求目標與夢想過程中店煞,有一個非常重要的習慣往往被忽略甚至遺忘蟹演,這個...
    瑞田學習力閱讀 1,691評論 0 5
  • 在公交車上顷蟀,她聽見一女子跟另一半在電話里吵架:夜不歸宿鸣个、三五成群到處喝酒囤萤,抽煙……種種罪狀涛舍。 她突然慶幸并羨...
    作夢綿綿小懶瓜閱讀 215評論 0 0