1.RAID歷史
1988 年美國加州大學(xué)伯克利分校的 D. A. Patterson 教授等首次在論文 “A Case of Redundant Array of Inexpensive Disks” 中提出了 RAID 概念 ,即廉價(jià)冗余磁盤陣列
( Redundant Array of Inexpensive Disks )。由于當(dāng)時(shí)大容量磁盤比較昂貴, RAID 的基本思想是將多個(gè)容量較小抗楔、相對(duì)廉價(jià)的磁盤進(jìn)行有機(jī)組合,從而以較低的成本獲得與昂貴大容量磁盤相當(dāng)?shù)娜萘恐谰蟆⑿阅芩=伞⒖煽啃员绲啊kS著磁盤成本和價(jià)格的不斷降低苹熏, “廉價(jià)” 已經(jīng)毫無意義碟贾。因此, RAID 咨詢委員會(huì)( RAID Advisory Board, RAB )決定用“ 獨(dú)立 ” 替代 “ 廉價(jià) ” 轨域,于時(shí) RAID 變成了獨(dú)立磁盤冗余陣列
( Redundant Array of Independent Disks )袱耽。但這僅僅是名稱的變化,實(shí)質(zhì)內(nèi)容沒有改變干发。
2.RAID等級(jí)
RAID 這種設(shè)計(jì)思想很快被業(yè)界接納朱巨, RAID 技術(shù)作為高性能、高可靠的存儲(chǔ)技術(shù)铐然,得到了非常廣泛的應(yīng)用蔬崩。 RAID 主要利用鏡像、數(shù)據(jù)條帶和數(shù)據(jù)校驗(yàn)三種技術(shù)來獲取高性能搀暑、可靠性沥阳、容錯(cuò)能力和擴(kuò)展性,根據(jù)對(duì)這三種技術(shù)的使用策略和組合架構(gòu)自点,可以把 RAID 分為不同的等級(jí)桐罕,以滿足不同數(shù)據(jù)應(yīng)用的需求。
D. A. Patterson 等的論文中定義了 RAID0 ~ RAID6 原始 RAID 等級(jí)桂敛。隨后存儲(chǔ)廠商又不斷推出 RAID7功炮、 RAID10、RAID01 术唬、 RAID50 薪伏、 RAID53 、 RAID100 等 RAID 等級(jí)粗仓,但這些并無統(tǒng)一的標(biāo)準(zhǔn)嫁怀。目前業(yè)界與學(xué)術(shù)界公認(rèn)的標(biāo)準(zhǔn)是 RAID0 ~ RAID6 ,而在實(shí)際應(yīng)用領(lǐng)域中使用最多的 RAID 等級(jí)是 RAID0 借浊、RAID1 塘淑、 RAID3 、 RAID5 蚂斤、 RAID6 和 RAID10存捺。
RAID 每一個(gè)等級(jí)代表一種實(shí)現(xiàn)方法和技術(shù),等級(jí)之間并無高低之分曙蒸。在實(shí)際應(yīng)用中捌治,應(yīng)當(dāng)根據(jù)用戶的數(shù)據(jù)應(yīng)用特點(diǎn),綜合考慮可用性逸爵、性能和成本來選擇合適的 RAID 等級(jí)具滴,以及具體的實(shí)現(xiàn)方式。
3.關(guān)鍵技術(shù)
鏡像技術(shù)
鏡像技術(shù)是一種冗余技術(shù)师倔,為磁盤提供數(shù)據(jù)備份功能构韵,防止磁盤發(fā)生故障而造成數(shù)據(jù)丟失。對(duì)于RAID而言趋艘,采用鏡像技術(shù)最典型的用法就是疲恢,同時(shí)在磁盤陣列中生成兩個(gè)完全相同的數(shù)據(jù)副本,并且分布在兩個(gè)不同的磁盤上瓷胧。鏡像提供了完全的數(shù)據(jù)冗余能力显拳,當(dāng)一個(gè)數(shù)據(jù)副本失效不可用時(shí),外部系統(tǒng)仍可正常訪問另一副本搓萧,不會(huì)對(duì)應(yīng)用系統(tǒng)運(yùn)行和性能產(chǎn)生影響杂数。而且宛畦,鏡像不需要額外的計(jì)算和校驗(yàn),故障修復(fù)很快揍移,直接復(fù)制即可次和。鏡像技術(shù)可以從多個(gè)副本進(jìn)行并發(fā)讀取數(shù)據(jù),提供更高的讀I/O性能那伐,但不能并行寫數(shù)據(jù)踏施,寫多個(gè)副本通常會(huì)導(dǎo)致一定的I/O性能下降。
鏡像技術(shù)提供了非常高的數(shù)據(jù)安全性罕邀,其代價(jià)也是非常昂貴的畅形,需要至少雙倍的存儲(chǔ)空間。高成本限制了鏡像的廣泛應(yīng)用诉探,主要應(yīng)用與至關(guān)重要的數(shù)據(jù)保護(hù)日熬。
數(shù)據(jù)條帶技術(shù)
數(shù)據(jù)條帶化技術(shù)是一種自動(dòng)將I/O操作負(fù)載到多個(gè)物理磁盤上的技術(shù)涨醋。更具體地說就是顾犹,將一塊連續(xù)的數(shù)據(jù)分成很多小部分并把它們分別存儲(chǔ)到不同磁盤上。這就能夠使多個(gè)進(jìn)程可以并發(fā)訪問數(shù)據(jù)的多個(gè)不同部分改基,從而獲得最大程度上的I/O并行能力阳液,極大地提升性能
數(shù)據(jù)校驗(yàn)技術(shù)
數(shù)據(jù)校驗(yàn)技術(shù)是指怕敬,RAID要在寫入數(shù)據(jù)的同時(shí)進(jìn)行校驗(yàn)計(jì)算,并將得到的校驗(yàn)數(shù)據(jù)存儲(chǔ)在RAID成員磁盤中帘皿。校驗(yàn)數(shù)據(jù)可以集中保存在某個(gè)磁盤或分散存儲(chǔ)在多個(gè)不同磁盤中东跪。當(dāng)其中一部分?jǐn)?shù)據(jù)出錯(cuò)時(shí),就可以對(duì)剩余數(shù)據(jù)和校驗(yàn)數(shù)據(jù)進(jìn)行反校驗(yàn)計(jì)算重建丟失的數(shù)據(jù)鹰溜。
數(shù)據(jù)校驗(yàn)技術(shù)相對(duì)于鏡像技術(shù)的優(yōu)勢(shì)在于節(jié)省大量開銷虽填,但由于每次數(shù)據(jù)讀寫都需要進(jìn)行大量的校驗(yàn)運(yùn)算,對(duì)計(jì)算機(jī)的運(yùn)算速度要求很高曹动,且必須使用硬件RAID控制器斋日。在數(shù)據(jù)重建恢復(fù)方面,校驗(yàn)技術(shù)比鏡像技術(shù)復(fù)雜得多且慢得多墓陈。
4.RAID分類
從實(shí)現(xiàn)角度看恶守,RAID主要分為軟RAID、硬RAID以及混合RAID三種贡必。
軟RAID
所有功能均有操作系統(tǒng)和CPU來完成兔港,沒有獨(dú)立的RAID控制處理芯片和I/O處理芯片,效率自然最低
硬RAID
配備了專門的RAID控制處理芯片和I/O處理芯片以及陣列緩沖仔拟,不占用CPU資源衫樊。效率很高,但成本也很高
混合RAID
具備RAID控制處理芯片,但沒有專門的I/O處理芯片科侈,需要CPU和驅(qū)動(dòng)程序來完成载佳。性能和成本在軟和硬之間。
5.常見RAID等級(jí)詳解
JBOD
JBOD 臀栈,Just a Bunch of Disks刚盈,磁盤簇。表示一個(gè)沒有控制軟件提供協(xié)調(diào)控制的磁盤集合挂脑,這是 RAID區(qū)別與 JBOD 的主要因素。 JBOD 將多個(gè)物理磁盤串聯(lián)起來欲侮,提供一個(gè)巨大的邏輯磁盤崭闲。
JBOD 的數(shù)據(jù)存放機(jī)制是由第一塊磁盤開始按順序往后存儲(chǔ),當(dāng)前磁盤存儲(chǔ)空間用完后威蕉,再依次往后面的磁盤存儲(chǔ)數(shù)據(jù)刁俭。 JBOD 存儲(chǔ)性能完全等同于單塊磁盤,而且也不提供數(shù)據(jù)安全保護(hù)韧涨。
其實(shí)只是提供一種簡(jiǎn)單的擴(kuò)展存儲(chǔ)空間的機(jī)制牍戚,JBOD可用存儲(chǔ)容量等與所有成員磁盤的存儲(chǔ)空間之和
RAID0
RAID0是一種簡(jiǎn)單的、無數(shù)據(jù)校驗(yàn)的數(shù)據(jù)條帶化技術(shù)
虑粥。實(shí)際上不是一種真正的RAID如孝,因?yàn)樗惶峁┤魏涡问降娜哂嗖呗浴AID0將所在磁盤條帶化后組成大容量的存儲(chǔ)空間娩贷,將數(shù)據(jù)分散存儲(chǔ)在所有磁盤中第晰,以獨(dú)立訪問實(shí)現(xiàn)多塊磁盤的并讀訪問。
理論上講彬祖,一個(gè)由n塊磁盤組成的RAID00茁瘦,它的讀寫性能是單個(gè)磁盤性能的n倍,但由于總線帶寬等多種因素的限制储笑,實(shí)際的性能提升低于理論值甜熔。由于可以并發(fā)執(zhí)行I/O操作,總線帶寬得到充分利用突倍。再加上不需要進(jìn)行數(shù)據(jù)校驗(yàn)腔稀,RAID0的性能在所有RAID等級(jí)中是最高的
。
RAID0具有低成本羽历,高讀寫性能烧颖、100%的高存儲(chǔ)空間利用率等優(yōu)點(diǎn),但是它不提供數(shù)據(jù)冗余保護(hù)窄陡,一旦數(shù)據(jù)損壞炕淮,將無法恢復(fù)。
應(yīng)用場(chǎng)景:對(duì)數(shù)據(jù)的阿順序讀寫要求不高跳夭,對(duì)數(shù)據(jù)的安全性和可靠性要求不高涂圆,但對(duì)系統(tǒng)性能要求很高的場(chǎng)景们镜。
RAID與JBOD相同點(diǎn):
1)存儲(chǔ)容量:都是成員磁盤容量綜合
2)磁盤利用率都是100%,即都沒有做任何的數(shù)據(jù)冗余備份
RAID0與JBOD不同點(diǎn):
1)JBOD:數(shù)據(jù)是順序存放的润歉,一個(gè)磁盤存滿后才會(huì)開始存放到下一個(gè)磁盤
2)RAID:各個(gè)磁盤中的數(shù)據(jù)寫入是并行的模狭,是通過數(shù)據(jù)條帶技術(shù)寫入的。其讀寫性能是JBOD的n倍
RAID1
RAID1就是一種鏡像技術(shù)
踩衩,它將數(shù)據(jù)完全一致地分別寫道工作磁盤和鏡像磁盤嚼鹉,它的磁盤空間利用率為50%。RAID1在數(shù)據(jù)寫入時(shí)驱富,響應(yīng)時(shí)間會(huì)有所影響锚赤,但時(shí)讀數(shù)據(jù)的時(shí)候沒有影響。RAID1提供了最佳的數(shù)據(jù)保護(hù)褐鸥,一旦工作磁盤發(fā)生故障线脚,系統(tǒng)將自動(dòng)切換到鏡像磁盤,不會(huì)影響使用叫榕。
RAID1時(shí)為了增強(qiáng)數(shù)據(jù)安全性使用兩塊磁盤數(shù)據(jù)呈現(xiàn)完全鏡像浑侥,從而達(dá)到安全性好、技術(shù)簡(jiǎn)單晰绎、管理方便寓落。RAID1擁有完全容錯(cuò)的能力,但實(shí)現(xiàn)成本高荞下。
應(yīng)用場(chǎng)景:對(duì)春旭讀寫性能要求較高零如,或?qū)?shù)據(jù)安全性要求較高的場(chǎng)景。
RAID10
RAID10是一個(gè)RAID1與RAID0的組合體锄弱,所以它繼承了RAID0的快速和RAID1的安全考蕾。簡(jiǎn)單來說就是,先做條帶会宪,再做鏡像肖卧。將進(jìn)來的數(shù)據(jù)先分散到不同的磁盤,再將磁盤中的數(shù)據(jù)做鏡像掸鹅。
RAID01
RAID01是一個(gè)RAID0與RAID1的組合體塞帐,所以它繼承了RAID0的快速和RAID1的安全。簡(jiǎn)單說就是先做鏡像再做條帶巍沙。
RAID10要比RAID01的容錯(cuò)率要高葵姥,所以生產(chǎn)環(huán)境下一般不適用RAID01。