RAID 0
即Data Stripping數(shù)據(jù)分條技術(shù),又稱條帶化(Stripe)存儲(chǔ)。RAID 0可以把多塊硬盤串連成一個(gè)容量更大的集群,從而顯著提高磁盤的性能和吞吐量。這里需要注意的是RAID 0沒有冗余或錯(cuò)誤修復(fù)能力,但是成本低,要求至少兩個(gè)磁盤,這種架構(gòu)一般只是在那些對數(shù)據(jù)安全性要求不高的情況下才被使用。RAID 0連續(xù)以位或字節(jié)為單位分割數(shù)據(jù),并行讀/寫于多個(gè)磁盤上,在所有的級別中,RAID 0的速度是最快的。理論上說,由N個(gè)磁盤組成的RAID0是單個(gè)磁盤讀寫速度的N倍。但是RAID 0沒有冗余備份功能的,如果一個(gè)磁盤(物理)損壞,則所有的數(shù)據(jù)都無法使用。因此嚴(yán)格來說并不能算是狹義上的RAID結(jié)構(gòu)。
(1) RAID 0簡易架構(gòu)
就是把N塊同樣的硬盤用硬件的形式通過智能磁盤控制器或用操作系統(tǒng)中的磁盤驅(qū)動(dòng)程序以軟件的方式串聯(lián)在一起,形成一個(gè)單獨(dú)的邏輯驅(qū)動(dòng)器,容量是單獨(dú)硬盤的N倍,在數(shù)據(jù)寫入時(shí)被依次寫入到各磁盤中,當(dāng)一塊磁盤的空間用盡時(shí),數(shù)據(jù)則會(huì)被自動(dòng)寫入到下一塊磁盤中,它的好處是可以增加磁盤的容量。速度與其中任何一塊磁盤的速度相同,如果其中的任何一塊磁盤出現(xiàn)故障,整個(gè)系統(tǒng)將會(huì)受到破壞,可靠性是單獨(dú)使用一塊硬盤的1/n。
(2) RAID 0的另一架構(gòu)
是用N塊硬盤選擇合理的帶區(qū)大小創(chuàng)建帶區(qū)集,最好是為每一塊硬盤都配備一個(gè)專門的磁盤控制器,在電腦數(shù)據(jù)讀寫時(shí)同時(shí)向N塊磁盤讀寫數(shù)據(jù),速度提升n倍,提高系統(tǒng)的性能。
RAID 1
鏡像(Mirror)存儲(chǔ)。把一個(gè)磁盤的數(shù)據(jù)鏡像到另一個(gè)磁盤上,在不影響性能情況下最大限度的保證系統(tǒng)的可靠性和集中讀取數(shù)據(jù),因此RAID 1可以提高讀取性能。RAID 1是磁盤陣列中單位成本最高的,但提供了很高的數(shù)據(jù)安全性和可用性。當(dāng)一個(gè)磁盤失效時(shí),系統(tǒng)可以自動(dòng)切換到鏡像磁盤上讀寫,而不需要重組失效的數(shù)據(jù)。
RAID 1有以下特點(diǎn):
(1)RAID 1的每一個(gè)磁盤都具有一個(gè)對應(yīng)的鏡像盤,任何時(shí)候數(shù)據(jù)都同步鏡像,系統(tǒng)可以從一組鏡像盤中的任何一個(gè)磁盤讀取數(shù)據(jù)。
(2)磁盤所能使用的空間只有磁盤容量總和的一半,系統(tǒng)成本較高。
(3)只要系統(tǒng)中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數(shù)量的硬盤出現(xiàn)問題時(shí)系統(tǒng)都可以正常運(yùn)行。
(4)出現(xiàn)了故障的RAID系統(tǒng)可靠性不足,必須及時(shí)的更換故障硬盤,否則等到剩余的鏡像盤也出現(xiàn)故障,那么整個(gè)系統(tǒng)就無法繼續(xù)使用。
(5)加入新盤后原有數(shù)據(jù)會(huì)需要很長時(shí)間同步數(shù)據(jù)讀寫,外界對數(shù)據(jù)的訪問不會(huì)受到影響,只是這時(shí)整個(gè)系統(tǒng)的性能有所下降。
(6)RAID 1對于硬盤控制設(shè)備的負(fù)載相當(dāng)大,用多個(gè)硬盤控制設(shè)備可以提高數(shù)據(jù)的安全性和可用性。在可修復(fù)性上,具有很高的數(shù)據(jù)冗余能力,但磁盤利用率為50%。當(dāng)原始數(shù)據(jù)繁忙時(shí),可直接從鏡像拷貝。
RAID 2
又稱海明碼(Hamming Code)校驗(yàn)條帶存儲(chǔ)。將數(shù)據(jù)條塊化地分布于不同的硬盤上,條塊單位為位或字節(jié),使用稱為海明碼來提供錯(cuò)誤檢查及恢復(fù)。這種編碼技術(shù)需要多個(gè)磁盤存放檢查及恢復(fù)信息,使得RAID 2技術(shù)實(shí)施更復(fù)雜,因此在商業(yè)網(wǎng)站項(xiàng)目中很少使用。
RAID 3
又稱奇偶校驗(yàn)(XOR)條帶存儲(chǔ),共享校驗(yàn)盤,數(shù)據(jù)條帶存儲(chǔ)單位為字節(jié)。RAID 3是以一個(gè)硬盤來存放數(shù)據(jù)的奇偶校驗(yàn)位,數(shù)據(jù)則分段存儲(chǔ)于其余硬盤中。它像RAID 0一樣以并行的方式來存放數(shù),但速度沒有RAID 0快。如果數(shù)據(jù)盤(物理)損壞,只要將壞硬盤換掉,RAID控制系統(tǒng)則會(huì)根據(jù)校驗(yàn)盤的數(shù)據(jù)校驗(yàn)位在新盤中重建壞盤上的數(shù)據(jù)。不過,如果校驗(yàn)盤(物理)損壞的話,則全部數(shù)據(jù)都無法使用。利用單獨(dú)的校驗(yàn)盤來保護(hù)數(shù)據(jù)雖然沒有鏡像的安全性高,但是硬盤利用率得到了很大的提高,為n-1。RAID 3對于大量的連續(xù)數(shù)據(jù)可提供很好的傳輸率,但對于隨機(jī)數(shù)據(jù)來說,奇偶盤會(huì)成為寫操作的瓶頸。導(dǎo)致讀寫速度減慢。
RAID 4
也是奇偶校驗(yàn)(XOR)條帶存儲(chǔ),共享校驗(yàn)盤,數(shù)據(jù)條帶存儲(chǔ)單位為塊。RAID 4同樣也將數(shù)據(jù)條塊化并分布于不同的磁盤上,但條塊單位為塊或記錄。RAID 4使用一塊磁盤作為奇偶校驗(yàn)盤,每次寫操作都需要訪問奇偶盤,這時(shí)奇偶校驗(yàn)盤會(huì)成為寫操作的瓶頸,因此RAID 4在商業(yè)環(huán)境中也很少使用。
RAID 5
奇偶校驗(yàn)(XOR)條帶存儲(chǔ),校驗(yàn)數(shù)據(jù)分布式存儲(chǔ),數(shù)據(jù)條帶存儲(chǔ)單位為塊。RAID 5不單獨(dú)指定的奇偶盤,而是在所有磁盤上交叉地存取數(shù)據(jù)及奇偶校驗(yàn)信息。在RAID 5上,讀/寫指針可同時(shí)對陣列設(shè)備進(jìn)行操作,提供了更高的數(shù)據(jù)流量。RAID 5更適合于小數(shù)據(jù)塊和隨機(jī)讀寫的數(shù)據(jù)。RAID 3與RAID 5相比,最主要的區(qū)別在于RAID 3每進(jìn)行一次數(shù)據(jù)傳輸就需涉及到所有的陣列盤;而對于RAID 5來說,大部分?jǐn)?shù)據(jù)傳輸只對一塊磁盤操作,并可進(jìn)行并行操作。在RAID 5中有“寫損失”,即每一次寫操作將產(chǎn)生四個(gè)實(shí)際的讀/寫操作,其中兩次讀舊的數(shù)據(jù)及奇偶信息,兩次寫新的數(shù)據(jù)及奇偶信息。
RAID 5把校驗(yàn)塊分散到所有的數(shù)據(jù)盤中。它使用了一種特殊的算法,可以計(jì)算出任何一個(gè)帶區(qū)校驗(yàn)塊的存放位置。這樣就可以確保任何對校驗(yàn)塊進(jìn)行的讀寫操作都會(huì)在所有的RAID磁盤中進(jìn)行均衡,從而消除了產(chǎn)生瓶頸的可能。RAID5的讀出效率很高,寫入效率一般,塊式的集體訪問效率不錯(cuò)。RAID 5提高了系統(tǒng)可靠性,但對數(shù)據(jù)傳輸?shù)牟⑿行越鉀Q不好,而且控制器的設(shè)計(jì)也相當(dāng)困難。為了具有RAID-5級的冗余度,需要最少由三個(gè)磁盤組成的磁盤陣列(不包括一個(gè)熱備用)。RAID-5可以通過磁盤陣列控制器硬件實(shí)現(xiàn),也可以通過某些網(wǎng)絡(luò)操作系統(tǒng)軟件實(shí)現(xiàn)了。硬盤的利用率為n-1。
當(dāng)進(jìn)行恢復(fù)時(shí),比如我們需要需要恢復(fù)下圖中的A0,這里就必須需要B0、C0、D0加0 parity才能計(jì)算并得出A0,進(jìn)行數(shù)據(jù)恢復(fù)。所以當(dāng)有兩塊盤壞掉的時(shí)候,整個(gè)RAID的數(shù)據(jù)失效。
RAID 6
奇偶校驗(yàn)(XOR)條帶存儲(chǔ),兩個(gè)分布式存儲(chǔ)的校驗(yàn)數(shù)據(jù),數(shù)據(jù)條帶存儲(chǔ)單位為塊。與RAID 5相比,RAID 6增加了第二個(gè)獨(dú)立的奇偶校驗(yàn)信息塊。兩個(gè)獨(dú)立的奇偶系統(tǒng)使用不同的算法,數(shù)據(jù)的可靠性非常高,即使兩塊磁盤同時(shí)失效也不會(huì)影響數(shù)據(jù)的使用。但RAID 6需要分配給奇偶校驗(yàn)信息更大的磁盤空間,相對于RAID 5有更大的“寫損失”,因此“寫性能”非常差。較差的性能和復(fù)雜的實(shí)施方式使得RAID 6很少得到實(shí)際應(yīng)用。
RAID 7
這是一種全新的RAID架構(gòu),由于其自身就帶有實(shí)時(shí)操作系統(tǒng)和用于存儲(chǔ)管理的軟件工具,可完全獨(dú)立于主機(jī)運(yùn)行,且不占用主機(jī)CPU資源。RAID 7可以看作是一種小型存儲(chǔ)計(jì)算機(jī),使得它與其他RAID架構(gòu)相比較更為先進(jìn)。
RAID 7等級是目前為止是理論上性能最高的RAID架構(gòu),因?yàn)樗鼜慕M建方式上就已經(jīng)和以往的方式有了極大的不同?;境尚问揭妶D,以往一個(gè)硬盤是一個(gè)組成陣列的“柱子”,而在RAID 7中,多個(gè)硬盤組成一個(gè)“柱子”,它們都有各自的通道,也正因?yàn)槿绱耍憧梢园堰@個(gè)圖分解成一個(gè)個(gè)硬盤連接在主通道上,只是比以前的等級更為細(xì)分了。這樣做的好處就是在讀/寫某一區(qū)域的數(shù)據(jù)時(shí),可以迅速定位,而不會(huì)因?yàn)橐酝騿蝹€(gè)硬盤的限制同一時(shí)間只能訪問該數(shù)據(jù)區(qū)的一部分,在RAID 7中,以前的單個(gè)硬盤相當(dāng)于分割成多個(gè)獨(dú)立的硬盤,有自己的讀寫通道。