RAID是一個我們經(jīng)常能見到的名詞。但卻因為很少能在實際環(huán)境中體驗,所以很難對其原理 能有很清楚的認識和掌握。本文將對RAID技術(shù)進行介紹和總結(jié),以期能盡量闡明其概念。 簡介 RAID全稱為獨立磁盤冗余陣列(Rdeundant Array of Independent Disks),基本思想就是把 多個相對*的硬盤組合起來,成為一個硬盤陣列組,使性能達到甚至**過一個價格昂貴、 容量巨大的硬盤。RAID通常被用在服務(wù)器電腦上,使用完全相同的硬盤組成一個邏輯扇區(qū), 因此操作系統(tǒng)只會把它當做一個硬盤。 RAID分為不同的等級,各個不同的等級均在數(shù)據(jù)可靠性及讀寫性能上做了不同的權(quán)衡。 在實際應(yīng)用中,可以依據(jù)自己的實際需求選擇不同的RAID方案。 標準RAID RAID 0 RAID0稱為條帶化(Striping)存儲,將數(shù)據(jù)分段存儲于 各個磁盤中,讀寫均可以并行處理。因此其讀寫速率為單個磁盤的N倍(N為組成RAID0的磁盤個數(shù)),但是卻沒有數(shù) 據(jù)冗余,單個磁盤的損壞會導(dǎo)致數(shù)據(jù)的不可修復(fù)。 大多數(shù)striping的實現(xiàn)允許管理者通過調(diào)節(jié)兩個關(guān)鍵的參數(shù)來定義數(shù)據(jù)分段及寫入磁盤的 方式,這兩個參數(shù)對RAID0的性能有很重要的影響。 STRIPE WIDTH stripe width是指可被并行寫入的 stripe 的個數(shù),即等于磁盤陣列中磁盤的個數(shù)。 STRIPE SIZE 也可稱為block size(chunk size,stripe length,granularity),指寫入每個磁 盤的數(shù)據(jù)塊大小。以塊分段的RAID通??稍试S選擇的塊大小從 2KB 到 512KB不等,也有較 高的,但一定要是2的指數(shù)倍。以字節(jié)分段的(比如RAID3)一般的stripe size為1字節(jié)或者 512字節(jié),并且用戶不能調(diào)整。 stripe size對性能的影響是很難簡單估量的,較好在實際應(yīng)用中依自己需求多多調(diào)整并 觀察其影響。通常來說,減少stripe size,文件會被分成較小的塊,傳輸數(shù)據(jù)會較快,但 是卻需要更多的磁盤來保存,增加positioning performance,反之則相反。應(yīng)該說,沒有 一個理論上的較優(yōu)的值。很多時候,也要考慮磁盤控制器的策略,比如有的磁盤控制器會等 等到一定數(shù)據(jù)量才開始往磁盤寫入。 RAID 1 鏡像存儲(mirroring),沒有數(shù)據(jù)校驗。數(shù)據(jù)被同等地寫入兩個或多個磁盤中,可想而知,寫入速度會比較 慢,但讀取速度會比較快。讀取速度可以接近所有磁盤吞吐量的總和,寫入速度受限于較慢 的磁盤。 RAID1也是磁盤利用率較低的一個。如果用兩個不同大小的磁盤建立RAID1,可以用空間較小的那一個,較大的磁盤多出來的部分可以作他用,不會浪費。 RAID 2 RAID0的改良版,加入了漢明碼(Hanmming Code)錯誤校驗。 漢明碼能夠檢測較多兩個同時發(fā)生的比特錯誤,并且能夠更正單一比特的錯誤。漢明碼的位 數(shù)與數(shù)據(jù)的位數(shù)有一個不等式關(guān)系,即: 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(比如視頻流服務(wù))的情況。 RAID 3 類似于RAID2,數(shù)據(jù)條帶化(stripe)存儲于不同的硬盤,數(shù)據(jù)以字節(jié)為單位,只是RAID3使用單塊磁盤存儲簡單的 奇偶校驗信息,所以較終磁盤數(shù)量為 N+1 。當這N+1個硬盤中的其中一個硬盤出現(xiàn)故障時,從其它N個硬盤中的數(shù)據(jù)也可以恢復(fù)原始數(shù)據(jù),當更換一個新硬盤后,系統(tǒng)可以重新恢復(fù)完整 的校驗容錯信息。 由于在一個硬盤陣列中,多于一個硬盤同時出現(xiàn)故障率的幾率很小,所以一般情況下,使用 RAID3,安全性是可以得到**的。RAID 3會把數(shù)據(jù)的寫入操作分散到多個磁盤上進行,不管是向哪一個數(shù)據(jù)盤寫入數(shù)據(jù), 都需要同時重寫校驗盤中的相關(guān)信息。因此,對于那些經(jīng)常需要執(zhí)行大量寫入操作的應(yīng)用來說,校驗盤的負載將會很大,無法滿足程序的運行速度,從而導(dǎo)致整個RAID系統(tǒng)性能的下降。 鑒于這種原因,RAID 3較加適合應(yīng)用于那些寫入操作較少,讀取操作較多的應(yīng)用環(huán)境,例如 數(shù)據(jù)庫和WEB服務(wù)器等。 RAID 4 與RAID3類似,但RAID4是按塊(扇區(qū))存取。無須像RAID3那樣,哪怕每一次小I/O操作也要涉 及全組,只需涉及組中兩塊硬盤(一塊數(shù)據(jù)盤,一塊校驗盤)即可,從而提高了小量數(shù)據(jù) I/O速度。 RAID 5 奇偶校驗(XOR),數(shù)據(jù)以塊分段條帶化存儲。校驗信息交叉地存儲在所有的數(shù)據(jù)盤上。 RAID5把數(shù)據(jù)和相對應(yīng)的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和 相對應(yīng)的數(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ù)學(xué)角度來說,RAID 5使用一個方程式解出一個未知變量,而RAID 6則能通過兩個獨立的線性方程構(gòu)成方程組,從而恢復(fù)兩個未知數(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年代麻省理工學(xué)院林肯實驗室開發(fā)的Reed-Solomon碼。實際情況中,多數(shù)RAID6實現(xiàn)都采用了標準的RAID5教校驗比特和Reed-Solomon碼 。而純擦除碼算法的使用使得RAID6陣列可以失效兩塊以上的硬盤,保護力度較強,有些實現(xiàn)方法提供了多種級別的保護,甚至允許用戶(或存儲管理員)*保護級別。 混合RAID RAID 01 顧名思義,是RAID0和RAID1的結(jié)合。先做條帶(0),再做鏡像(1)。 RAID 10 同上,但是先做鏡像(1),再做條帶(0) RAID01和RAID10非常相似,二者在讀寫性能上沒有什么差別。但是在安全性上RAID10要好于 RAID01。如圖中所示,假設(shè)DISK0損壞,在RAID10中,在剩下的3塊盤中,只有當DISK1故障, 整個RAID才會失效。但在RAID01中,DISK0損壞后,左邊的條帶將無法讀取,在剩下的3快盤 中,只要DISK2或DISK3兩個盤中任何一個損壞,都會導(dǎo)致RAID失效。 RAID10和RAID5也是經(jīng)常用來比較的兩種方案,二者都在生產(chǎn)實踐中得到了廣泛的應(yīng)用。 RAID10安全性較高,但是空間利用率低。至于讀寫性能,與cache有很大關(guān)聯(lián),較好根據(jù)實 際情況測試比較選擇。 非標準RAID DRFS DRFS,即DistributedRaidFileSystem,是一種嘗試將RAID與Hadoop的DFS結(jié)合起來的技術(shù)。 通常的HDFS在實踐中需要將replication factor設(shè)為3以保證數(shù)據(jù)完整性,而如果利用 RAID的stripe和partity(奇偶校驗)技術(shù),將數(shù)據(jù)分為多個塊,并且存儲各個塊的校驗信 息(XOR或擦除碼)。有了這些措施,塊的副本數(shù)就可以降低并且保證同樣的數(shù)據(jù)可靠性,就能節(jié)省相當一部分的存儲空間。 DRFS包含以下幾個組件: DRFS client: 提供應(yīng)用程序訪問DRFS的接口,在發(fā)現(xiàn)讀取到的文件有損壞時修復(fù),整 個操作對應(yīng)用程序透明 RaidNode: 創(chuàng)建,維護檢驗文件的daemon BlockFixer: 周期性地檢查文件,重新計算校驗和,修復(fù)文件. RaidShell: 類似于hadoop shell. ErasureCode: 即DRFS所使用的生成校驗碼的算法,可為XOR或者Reed-Solomon算法。 XOR僅能創(chuàng)建一個校驗字節(jié),而Reed-Solomon則可以創(chuàng)建無數(shù)位(位數(shù)越多,能恢復(fù)的數(shù) 據(jù)也越多),如果使用Reed-Solomon,replication甚至可以降為1,缺點是降低了數(shù)據(jù)讀 寫的并行程度(只能從單機讀寫)。 實現(xiàn) 軟件實現(xiàn) 現(xiàn)在很都操作系統(tǒng)都提供了RAID的軟件實現(xiàn),主要由以下幾個方面: 由軟件在多個設(shè)備上創(chuàng)建RAID,比如linux上的mdadm工具.具體使用方法可查看參考鏈接中 的例子。 LVM或者Veritas,虛擬卷管理工具. 文件系統(tǒng)實現(xiàn) :btrfs,ZFS,GPFS.這些文件都可以直接管理多個設(shè)備上的數(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ū)動提供支持。
詞條
詞條說明
失敗的“SCSI硬盤故障之間的平均時間,平均故障間隔時間,在數(shù)千小時的幾萬,正常情況下,它是不容易打破的硬盤;在同一個系統(tǒng)中,兩個磁盤驅(qū)動器和破碎的概率是很小的。然而,如果磁盤驅(qū)動器在環(huán)境中充滿**,是另一回事。 構(gòu)建磁盤陣列存儲系統(tǒng),可靠性比速度較重要。因此,不僅要選擇一個高性能陣列控制器,而且要仔細挑選一個高可靠性的磁盤陣列柜。因為有**的數(shù)據(jù)不是數(shù)組控制器,而是存儲在磁盤驅(qū)動器中的;而磁盤
可靠,高性能,容錯冷卻系統(tǒng) 在許多情況下,我們發(fā)現(xiàn),散熱系統(tǒng)的設(shè)計不是**的磁盤陣列柜,只能配備7200轉(zhuǎn)盤驅(qū)動器,如果使用一個10000轉(zhuǎn)盤驅(qū)動器,系統(tǒng)會過熱。現(xiàn)在,希捷已經(jīng)推出了150000轉(zhuǎn)盤驅(qū)動器,以及如何選擇可靠、高性能、容錯的散熱系統(tǒng)的磁盤陣列柜,則顯得較為重要。 磁盤陣列柜的設(shè)計,在每個磁盤驅(qū)動器負載小扇出,整個系統(tǒng),然后把一個大風(fēng)扇數(shù),與側(cè)吹熱吸的方式,不僅冷卻效果不好,而且磁盤驅(qū)
RAID是一個我們經(jīng)常能見到的名詞。但卻因為很少能在實際環(huán)境中體驗,所以很難對其原理 能有很清楚的認識和掌握。本文將對RAID技術(shù)進行介紹和總結(jié),以期能盡量闡明其概念。 簡介 RAID全稱為獨立磁盤冗余陣列(Rdeundant Array of Independent Disks),基本思想就是把 多個相對*的硬盤組合起來,成為一個硬盤陣列組,使性能達到甚至**過一個價格昂貴、 容量巨大的硬盤。
RAID含義:磁盤陣列(Redundant Arrays of Independent Disks,RAID),有"獨立磁盤構(gòu)成的具有冗余能力的陣列"之意。 RAID功能:現(xiàn)在的RAID都包含 LSI MegaRAID、Nytro和Syncro這些功能。 MegaRAID、Nytro和Syncro都是LSI 針對RAID而推出的解決方案,并且一直在創(chuàng)造較新。 LSI MegaRAID的主要是保護數(shù)
公司名: 深圳市迪仂科技有限公司
聯(lián)系人: 陳水麗
電 話: 0755-84049523
手 機: 17704020953
微 信: 17704020953
地 址: 廣東深圳龍崗區(qū)深圳市龍崗區(qū)橫崗街道紅棉4路6號森城工業(yè)園5棟4樓
郵 編:
網(wǎng) 址: shenzhendile.cn.b2b168.com
DELL MD3800F/MD3820F 控制器PN號OHFPGK/W45CK
DELL MD3800 MD3220 控制器PN號 ON98MP/JYTHW/C256J
DELL MD3660 I 控制器PN號 RR9F6
DELL MD3260控制器 PN號 :OV7TD/9HPTN
DELL MD3000 I控制器PN號 OX2R63/OMW726/OCM669/OP809D/OM913N/ONY223
DELL PS4110控制器PN號 OX3J14/OYN3KR
DELL PS4210 控制器PN號 03KKY
PN號 042J9 07V250 0W25F7 0W2PM3 0J3R23 DELL PS6100控制器
公司名: 深圳市迪仂科技有限公司
聯(lián)系人: 陳水麗
手 機: 17704020953
電 話: 0755-84049523
地 址: 廣東深圳龍崗區(qū)深圳市龍崗區(qū)橫崗街道紅棉4路6號森城工業(yè)園5棟4樓
郵 編:
網(wǎng) 址: shenzhendile.cn.b2b168.com