一、RAID概述
1.1RAID概念
- 磁盤陣列的全名是(Redundant Arrays of Inexpensive Disk,RAID),中文意思是獨立冗余磁盤陣列
- RAID可以通過技術(軟體或者硬體)將多個較小的磁盤整合成為一個較大的磁盤設備,而這個較大的磁盤功能可不止存盤而已,它還具有資料保護的功能,整個RAID由于選擇的級別(level)不同,而使得整合后的磁盤具有不同的功能
- 基本常用的level有以下幾種RAID0, RAID1, RAID5,RAID6,RAID1+0等
1.2RAID 中主要有三個關鍵概念和技術
- 鏡像( Mirroring )將資料復制到多個磁盤,一方面可以提高可靠性,另一方面可并發從兩個或多個副本讀取資料來提高讀性能,顯而易見,鏡像的寫性能要稍低, 確保資料正確地寫到多個磁盤需要更多的時間消耗,
- 資料條帶( Data Stripping )將資料分片保存在多個不同的磁盤,多個資料分片共同組成一個完整資料副本,這與鏡像的多個副本是不同的,它通常用于性能考慮,資料條帶具有更高的并發粒度,當訪問資料時,可以同時對位于不同磁盤上資料進行讀寫操作, 從而獲得非常可觀的 I/O 性能提升 ,
- 資料校驗( Data parity )利用冗余資料進行資料錯誤檢測和修復,冗余資料通常采用海明碼、異或操作等演算法來計算獲得,利用校驗功能,可以很大程度上提高磁盤陣列的可靠性、魯棒性和容錯能力,不過,資料校驗需要從多處讀取資料并進行計算和對比,會影響系統性能,
- 不同等級的 RAID 采用一個或多個以上的三種技術,來獲得不同的資料可靠性、可用性和 I/O 性能,至于設計何種 RAID (甚至新的等級或型別)或采用何種模式的 RAID ,需要在深入理解系統需求的前提下進行合理選擇,綜合評估可靠性、性能和成本來進行折中的選擇,
1.3RAID功能實作
- 提高IO能力,磁盤并行讀寫
- 提高耐用性,磁盤冗余演算法來實作
二、RAID0

RAID 0(條帶化存盤):性能最佳
- RAID 0連續以位或位元組為單位分割資料,并行讀/寫于多個磁盤上,因此具有很高的資料傳輸率,但它沒有資料冗余;
- RAID 0只是單純地提高性能,并沒有為資料的可靠性提供保證,而且其中的一個磁盤失效將影響到所有資料;
- RAID 0不能應用于資料安全性要求高的場合,
總結:
因為讀寫時都可以并行處理,所以在所有的級別中,RAID0的速度是最快的,
但是RAID0既沒有冗余功能,也不具備容錯能力,如果一個磁盤(物理)損壞,所有資料都會丟失,
讀寫性能提升可用空間:N*min(S1,S2,...)
無容錯能力
最少磁盤數:1+
三、RAID1

RAID 1(鏡像存盤):完整備份
- 通過磁盤資料鏡像實作資料冗余,在成對的獨立磁盤上產生互為備份的資料;
- 當原始資料繁忙時,可直接從鏡像拷貝中讀取資料,因此RAID 1 可以提高讀取性能;
- RAID 1是磁盤陣列中單位成本最高的,但提供了很高的資料安全性和可用性,當個磁盤失效時, 系統可以自動切換到鏡像磁盤上讀寫,而不需要重組失效的資料
總結:
也稱為鏡像, 兩組以上的N個磁盤相互作鏡像
讀性能提升,寫性能略有下降
可用空間:1*min(S1,S2,...)
磁盤利用率 50%
有冗余能力
最少磁盤數:2n
四、RAID5

RAID 5:性能與資料備份的均衡考慮
- N (N>=3) 塊盤組成陣列,一份資料產生N-1個條帶,同時還有1份校驗資料,共N份資料在N塊盤上回圈均衡存盤;
- N塊盤同時讀寫,讀性能很高,但由于有校驗機制的問題,寫性能相對不高;
- (N-1) /N磁盤利用率;
- 可靠性高,允許壞1塊盤,不影響所有資料(如果壞了2塊硬碟,則恢復不了);
- RAID5取代了RAID3,RAID3是將校驗資料放在一個磁盤上,所以此硬碟是動態頻繁變化的,故障率極高;
- RAID5將校驗資料分攤到每個硬碟上,可靠性高;
總結:
讀寫性能提升
可用空間:(N-1)*min(S1,S2,...)
有容錯能力:允許最多1塊磁盤損壞
最少磁盤數:3或者3+
五、RAID1+0

總結:
讀寫性能提升
可用空間:N*min(S1,S2,...)/2
有容錯能力:每組鏡像最多只能壞一塊
最少磁盤數:4或者4+
六、主流RAID技術對比

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/510834.html
標籤:其他
下一篇:關于程式員成長的一些思考
