一.簡介
Raid全稱" 獨(dú)立磁盤冗余陣列", 有時(shí)也簡稱磁盤陣列(Disk Array)。
RAID是一種把多塊獨(dú)立的硬盤(物理硬盤)按不同的方式組合起來形成一個(gè)硬盤組(邏輯硬盤),從而提供比單個(gè)硬盤更高的存儲(chǔ)性能和提供數(shù)據(jù)備份技術(shù)。組成磁盤陣列的不同方式成為RAID級(jí)別。
Raid的級(jí)別:
Raid 0,Raid 1,Raid 0+1(也稱Raid 10),Raid 2,Raid 3,Raid 5,Raid 6,Raid 7,Raid 53.
原理分析
我們?yōu)槭裁葱枰疟P陣列?
目前人們逐漸認(rèn)識(shí)了磁盤陣列技術(shù)。磁盤陣列技術(shù)可以詳細(xì)地劃分若干個(gè)級(jí)別0-5RAID技術(shù),并且又發(fā)展了所謂的RAID Level 10,30,50的新的級(jí)別。RAID是廉價(jià)冗余磁盤陣列(Redundant Array of Inexpensive Disk)的簡稱。用RAID的好處簡單的說就是:安全性高,速度快,數(shù)據(jù)容量超大。
某些級(jí)別的RAID技術(shù)可以把速度提高到單個(gè)硬盤驅(qū)動(dòng)器的400%。磁盤陣列把多個(gè)硬盤驅(qū)動(dòng)器連接在一起協(xié)同工作,大大提高了速度,同時(shí)把硬盤系統(tǒng)的可靠性提高到接近無錯(cuò)的境界。這些"容錯(cuò)"系統(tǒng)速度極快,同時(shí)可靠性極高。
本文將討論這些新技術(shù),以及不同級(jí)別RAID的優(yōu)缺點(diǎn)。
硬盤數(shù)據(jù)跨盤(Spanning)
數(shù)據(jù)跨盤技術(shù)使多個(gè)硬盤像一個(gè)硬盤那樣工作,這使用戶通過組合已有的資源或增加一些資源來廉價(jià)地突破現(xiàn)有的硬盤空間限制。
常用的是下面的幾種RAID形式
(1) RAID 0
RAID 0又稱為Stripe(條帶化)或Striping,它代表了所有RAID級(jí)別中最高的存儲(chǔ)性能。RAID 0提高存儲(chǔ)性能的原理是把連續(xù)的數(shù)據(jù)分散到多個(gè)磁盤上存取,這樣,系統(tǒng)有數(shù)據(jù)請(qǐng)求就可以被多個(gè)磁盤并行的執(zhí)行,每個(gè)磁盤執(zhí)行屬于它自己的那部分?jǐn)?shù)據(jù)請(qǐng)求。這種數(shù)據(jù)上的并行操作可以充分利用總線的帶寬,顯著提高磁盤整體存取性能。
RAID 0結(jié)構(gòu)圖解
如圖所示:系統(tǒng)向四個(gè)磁盤組成的邏輯硬盤(RADI 0 磁盤組)發(fā)出的I/O數(shù)據(jù)請(qǐng)求被轉(zhuǎn)化為4項(xiàng)操作,其中的每一項(xiàng)操作都對(duì)應(yīng)于一塊物理硬盤。我們從圖中可以清楚地看到通過建立RAID 0,原先順序的數(shù)據(jù)請(qǐng)求被分散到所有的兩塊硬盤中同時(shí)執(zhí)行。從理論上講,四塊硬盤的并行操作使同一時(shí)間內(nèi)磁盤讀寫速度提升了4倍。
但由于總線帶寬等多種因素的影響,實(shí)際的提升速率肯定會(huì)低于理論值,但是,大量數(shù)據(jù)并行傳輸與串行傳輸比較,提速效果顯著顯然毋庸置疑。
RAID 0的缺點(diǎn)是不提供數(shù)據(jù)冗余,因此一旦用戶數(shù)據(jù)損壞,損壞的數(shù)據(jù)將無法得到恢復(fù)。RAID 0具有的特點(diǎn),使其特別適用于對(duì)性能要求較高,而對(duì)數(shù)據(jù)安全不太在乎的領(lǐng)域,如圖形工作站等。對(duì)于個(gè)人用戶,RAID 0也是提高硬盤存儲(chǔ)性能的絕佳選擇。
(2) RAID 1
RAID 1又稱為Mirror或Mirroring(鏡像),它的宗旨是最大限度的保證用戶數(shù)據(jù)的可用性和可修復(fù)性。RAID 1的操作方式是把用戶寫入硬盤的數(shù)據(jù)百分之百地自動(dòng)復(fù)制到另外一個(gè)硬盤上。
RAID 1結(jié)構(gòu)圖解
如圖所示:當(dāng)讀取數(shù)據(jù)時(shí),系統(tǒng)先從RAID 0的源盤讀取數(shù)據(jù),如果讀取數(shù)據(jù)成功,則系統(tǒng)不去管備份盤上的數(shù)據(jù);如果讀取源盤數(shù)據(jù)失敗,則系統(tǒng)自動(dòng)轉(zhuǎn)而讀取備份盤上的數(shù)據(jù),不會(huì)造成用戶工作任務(wù)的中斷。當(dāng)然,我們應(yīng)當(dāng)及時(shí)地更換損壞的硬盤并利用備份數(shù)據(jù)重新建立Mirror,避免備份盤在發(fā)生損壞時(shí),造成不可挽回的數(shù)據(jù)損失。
由于對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行百分之百的備份,在所有RAID級(jí)別中,RAID 1提供最高的數(shù)據(jù)安全保障。同樣,由于數(shù)據(jù)的百分之百備份,備份數(shù)據(jù)占了總存儲(chǔ)空間的一半,因而Mirror(鏡像)的磁盤空間利用率低,存儲(chǔ)成本高。Mirror雖不能提高存儲(chǔ)性能,但由于其具有的高數(shù)據(jù)安全性,使其尤其適用于存放重要數(shù)據(jù),如服務(wù)器和數(shù)據(jù)庫存儲(chǔ)等領(lǐng)域.
(3) RAID 0+1
正如其名字一樣RAID 0+1是RAID 0和RAID 1的組合形式,也稱為RAID 10。
以四個(gè)磁盤組成的RAID 0+1為例,其數(shù)據(jù)存儲(chǔ)方式如圖所示:RAID 0+1是存儲(chǔ)性能和數(shù)據(jù)安全兼顧的方案。它在提供與RAID 1一樣的數(shù)據(jù)安全保障的同時(shí),也提供了與RAID 0近似的存儲(chǔ)性能。
由于RAID 0+1也通過數(shù)據(jù)的100%備份功能提供數(shù)據(jù)安全保障,因此RAID 0+1的磁盤空間利用率與RAID 1相同,存儲(chǔ)成本高。
RAID-10結(jié)構(gòu)圖解
RAID 0+1的特點(diǎn)使其特別適用于既有大量數(shù)據(jù)需要存取,同時(shí)又對(duì)數(shù)據(jù)安全性要求嚴(yán)格的領(lǐng)域,如銀行、金融、商業(yè)超市、倉儲(chǔ)庫房、各種檔案管理等。
(4) RAID 3
RAID 3是把數(shù)據(jù)分成多個(gè)"塊",按照一定的容錯(cuò)算法,存放在N+1個(gè)硬盤上,實(shí)際數(shù)據(jù)占用的有效空間為N個(gè)硬盤的空間總和,而第N+1個(gè)硬盤上存儲(chǔ)的數(shù)據(jù)是校驗(yàn)容錯(cuò)信息,當(dāng)這N+1個(gè)硬盤中的其中一個(gè)硬盤出現(xiàn)故障時(shí),從其它N個(gè)硬盤中的數(shù)據(jù)也可以恢復(fù)原始數(shù)據(jù),這樣,僅使用這N個(gè)硬盤也可以帶傷繼續(xù)工作(如采集和回放素材),當(dāng)更換一個(gè)新硬盤后,系統(tǒng)可以重新恢復(fù)完整的校驗(yàn)容錯(cuò)信息。由于在一個(gè)硬盤陣列中,多于一個(gè)硬盤同時(shí)出現(xiàn)故障率的幾率很小,所以一般情況下,使用RAID3,安全性是可以得到保障的。
RAID 3結(jié)構(gòu)圖解
與RAID0相比,RAID3在讀寫速度方面相對(duì)較慢。使用的容錯(cuò)算法和分塊大小決定RAID使用的應(yīng)用場合,在通常情況下,RAID3比較適合大文件類型且安全性要求較高的應(yīng)用,如視頻編輯、硬盤播出機(jī)、大型數(shù)據(jù)庫等.
(5) RAID 5
RAID 5 是一種存儲(chǔ)性能、數(shù)據(jù)安全和存儲(chǔ)成本兼顧的存儲(chǔ)解決方案。
以四個(gè)硬盤組成的RAID 5為例,其數(shù)據(jù)存儲(chǔ)方式如圖4所示:圖中,P0為D0,D1和D2的奇偶校驗(yàn)信息,其它以此類推。由圖中可以看出,RAID 5不對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行備份,而是把數(shù)據(jù)和相對(duì)應(yīng)的奇偶校驗(yàn)信息存儲(chǔ)到組成RAID5的各個(gè)磁盤上,并且奇偶校驗(yàn)信息和相對(duì)應(yīng)的數(shù)據(jù)分別存儲(chǔ)于不同的磁盤上。當(dāng)RAID5的一個(gè)磁盤數(shù)據(jù)發(fā)生損壞后,利用剩下的數(shù)據(jù)和相應(yīng)的奇偶校驗(yàn)信息去恢復(fù)被損壞的數(shù)據(jù)。
RAID 5結(jié)構(gòu)圖解
RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統(tǒng)提供數(shù)據(jù)安全保障,但保障程度要比Mirror低而磁盤空間利用率要比Mirror高。RAID 5具有和RAID 0相近似的數(shù)據(jù)讀取速度,只是多了一個(gè)奇偶校驗(yàn)信息,寫入數(shù)據(jù)的速度比對(duì)單個(gè)磁盤進(jìn)行寫入操作稍慢。同時(shí)由于多個(gè)數(shù)據(jù)對(duì)應(yīng)一個(gè)奇偶校驗(yàn)信息,RAID 5的磁盤空間利用率要比RAID 1高,存儲(chǔ)成本相對(duì)較低。
(6) RAID 6
RAID 6等級(jí)是在RAID 5基礎(chǔ)上,為了進(jìn)一步加強(qiáng)數(shù)據(jù)保護(hù)而設(shè)計(jì)的一種RAID方式,實(shí)際上是一種擴(kuò)展RAID 5等級(jí)。與RAID 5的不同之處于除了每個(gè)硬盤上都有同級(jí)數(shù)據(jù)XOR校驗(yàn)區(qū)外,還有一個(gè)針對(duì)每個(gè)數(shù)據(jù)塊的XOR校驗(yàn)區(qū)。當(dāng)然,當(dāng)前盤數(shù)據(jù)塊的校驗(yàn)數(shù)據(jù)不可能存在當(dāng)前盤而是交錯(cuò)存儲(chǔ)的,具體形式見圖。
這樣一來,等于每個(gè)數(shù)據(jù)塊有了兩個(gè)校驗(yàn)保護(hù)屏障(一個(gè)分層校驗(yàn),一個(gè)是總體校驗(yàn)),因此RAID 6的數(shù)據(jù)冗余性能相當(dāng)好。但是,由于增加了一個(gè)校驗(yàn),所以寫入的效率較RAID 5還差,而且控制系統(tǒng)的設(shè)計(jì)也更為復(fù)雜,第二塊的校驗(yàn)區(qū)也減少了有效存儲(chǔ)空間。由于RAID 6相對(duì)于RAID 5在校驗(yàn)方面的微弱優(yōu)勢和在性能與性價(jià)比方面的較大劣勢,RAID 6等級(jí)基本沒有實(shí)際應(yīng)用過,只是對(duì)更高級(jí)的數(shù)據(jù)的冗余進(jìn)行的一種技術(shù)與思路上的嘗試
RAID-6結(jié)構(gòu)圖解
(7) RAID 7
RAID 7等級(jí)是至今為止,理論上性能最高的RAID模式,因?yàn)樗鼜慕M建方式上就已經(jīng)和以往的方式有了重大的不同?;境尚问揭妶D,你會(huì)發(fā)現(xiàn)在,以往一個(gè)硬盤是一個(gè)組成陣列的"柱子",而在RAID 7中,多個(gè)硬盤組成一個(gè)"柱子",它們都有各自的通道,也正因?yàn)槿绱?,你可以把這個(gè)圖分解成一個(gè)個(gè)硬盤連接在主通道上,只是比以前的等級(jí)更為細(xì)分了。這樣做的好處就是在讀/寫某一區(qū)域的數(shù)據(jù)時(shí),可以迅速定位,而不會(huì)因?yàn)橐酝騿蝹€(gè)硬盤的限制同一時(shí)間只能訪問該數(shù)據(jù)區(qū)的一部分,在RAID 7中,以前的單個(gè)硬盤相當(dāng)于分割成多個(gè)獨(dú)立的硬盤,有自己的讀寫通道,效率也就不言自明了。
然而,RAID 7的設(shè)計(jì)與相應(yīng)的組成規(guī)模注定了它是一攬子承包計(jì)劃??傮w上說,RAID 7是一個(gè)整體的系統(tǒng),有自己的操作系統(tǒng),有自己的處理器,有自己的總線,而不是通過簡單的插卡就可以實(shí)現(xiàn)的。歸納起來,RAID 7的主要特性如下:
所有的I/O傳輸都是異步的,因?yàn)樗凶约邯?dú)立的控制器和帶有Cache的接口,與系統(tǒng)時(shí)鐘并不同步所有的讀與寫的操作都將通過一個(gè)帶有中心Cache的高速系統(tǒng)總線,我們稱之為X-Bus專用的校驗(yàn)硬盤可以用于任何通道帶有完整功能的即時(shí)操作系統(tǒng)內(nèi)嵌于陣列控制微處理器,這是RAID 7的心臟,它負(fù)責(zé)各通道的通信以及Cache的管理,這也是它與其他等級(jí)最大不同之一
連通性:可增至12個(gè)主機(jī)接口
擴(kuò)展性:線性容量可增至48個(gè)硬盤
開放式系統(tǒng),運(yùn)用標(biāo)準(zhǔn)的SCSI硬盤、標(biāo)準(zhǔn)的PC總線、主板以及SIMM內(nèi)存
高速的,集成Cache的數(shù)據(jù)總線(就是上文提到的X-bus)
在Cache內(nèi)部完成校驗(yàn)生成工作
多重的附加驅(qū)動(dòng)可以隨時(shí)熱機(jī)待命,提高冗余率和靈活性易管理性:SNMP(Simple Network Management Protocol,簡單網(wǎng)絡(luò)管理協(xié)議) 可以讓管理員遠(yuǎn)程監(jiān)視并實(shí)現(xiàn)系統(tǒng)控制按照RAID 7設(shè)計(jì)者的說法,這種陣列將比其他RAID等級(jí)提高150-600%寫入時(shí)的I/O性能,雖然這引起了不小的爭議。
RAID-7結(jié)構(gòu)圖解
(8) RAID 53
與RAID 10一樣,RAID 53也是一種組合RAID 等級(jí),但不要拿RAID 10的觀點(diǎn)套用,認(rèn)為它是RAID 5和RAID 3的組合,事實(shí)上,RAID 53應(yīng)該稱為RAID 30或RAID 03(也可以說是RAID 0+3),即RAID 3與RAID 0的組合,具體形式見圖:與圖1相對(duì)比,可以發(fā)現(xiàn),RAID 53中將備份等級(jí)由RAID 0變?yōu)榱薘AID 3,也就是說把原來的鏡像陣列變成了分割式(Segments)存儲(chǔ)陣列。但它不是對(duì)每個(gè)RAID 0硬盤都用一個(gè)RAID 3系統(tǒng)進(jìn)行,而是用RAID 3對(duì)所有數(shù)據(jù)進(jìn)行冗余存儲(chǔ)(或者說是校驗(yàn)),而且讀寫與ECC效率比RAID 0要高不少。
值得注意的是,RAID 3在RAID 53的數(shù)據(jù)傳輸中占有相當(dāng)重要的位置。在介紹RAID 3時(shí),曾說過它有很高的讀寫傳輸率。因此,在進(jìn)行大數(shù)據(jù)量吞吐時(shí),由于RAID 3的傳輸率高的緣故,RAID 53的性能要比RAID 10好(因?yàn)槿哂鄠浞莸臅r(shí)間縮短)。而且,借助于RAID 0,其I/O帶寬并沒有降低。不過,從它的配置形式上就可以看出來,它的存儲(chǔ)空間利用率要比RAID 10低,為40%。
評(píng)論
查看更多