独立硬盘冗余阵列(RAID, Redundant Array of Independent Disks),旧称廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),简称磁盘阵列。其基本思想就是把多个相对便宜的硬盘组合起来,成为一个硬盘阵列组,使性能达到甚至超过一个价格昂贵、容量巨大的硬盘。根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。另外,磁盘阵列对于电脑来说,看起来就像一个单独的硬盘或逻辑存储单元。分为RAID-0,RAID-1,RAID-1E,RAID-5,RAID-6,RAID-7,RAID-10,RAID-50,RAID-60。
简单来说,RAID把多个硬盘组合成为一个逻辑扇区,因此,操作系统只会把它当作一个硬盘。RAID常被用在服务器电脑上,并且常使用完全相同的硬盘作为组合。由于硬盘价格的不断下降与RAID功能更加有效地与主板集成,它也成为玩家的一个选择,特别是需要大容量存储空间的工作,如:视频与音频制作。
最初的RAID分成了不同的等级,每种等级都有其理论上的优缺点,不同的等级在两个目标间获取平衡,分别是增加数据可靠性以及增加存储器(群)读写性能。这些年来,出现了对于RAID观念不同的应用。
磁碟陣列其樣式有三種:一是外接式磁碟陣列櫃、二是內接式磁碟陣列卡,三是利用軟體來模擬。外接式磁碟陣列櫃最常被使用大型伺服器上,具可熱抽換(Hot Swap)的特性,不過這類產品的價格都很貴。內接式磁碟陣列卡,因為價格便宜,但需要較高的安裝技術,適合技術人員使用****作。另外利用軟體模擬的方式,由於會拖累機器的速度,不適合大資料流量的伺服器。
磁碟陣列有那些優點:
1.傳輸速率快
2.儲存容量可提升
3.提升I/O每秒的數量
4.增加資料安全性及穩定性
5.大量資料快速及簡易管理
6.增加可用運時間,減少維護
各階層磁碟陣列(RAID)介紹:
磁碟陣列是由2個以上的硬碟,模擬一個邏輯硬碟出現在系統中;使用磁碟陣列控制器以達成其存在,利用不同陣列形式,模擬各種層級。現在我們先來了解磁碟陣列(RAID)到底有幾種模式,一般最常提到及應用的RAID層級分為0、1、0+1、3及5。另外還有一些極少用到的RAID 4及RAID 6在此我們就不提它了。
以下就是各個階層的介紹:
RAID 0:Striping/Span (切分/延展)
RAID 1:Mirroring (磁碟鏡射)
RAID 0+1:Mirror + Striping (磁碟鏡射+切分/延展)
RAID 3:Parallel with Parity (平行同位元檢查)
RAID 5:Striping with Rotating Parity (切分/延展+輪轉同位元)
RAID 0:Striping/Span (切分/延展)
RAID 0,它是將資料儲存在2個以上的硬碟機,其將全部磁碟機的儲存容量合併,藉由將資料切分到全部的磁碟機上,進行平行讀寫,而達到提高效能增加容量。
例如:假設有2顆硬碟都為20G
RAID 0 的結果為 在系統內看到一顆硬碟容量就為 20+20=40G
但是RAID 0缺點是完全沒有容錯能力,只要有一個磁碟故障,就會導致陣列磁碟的所有資料,毀於一旦無法挽回。
RAID 1:Mirroring (磁碟鏡射)
RAID 1,必須由2個以上的硬碟所組成,由磁碟陣列(RAID)來控制,將資料同時寫入第1個與第2個硬碟,其2組硬碟上的資料完全相同,也就是其中一個硬碟是用來作備份用途;當其中有一個硬碟故障時,系統照常運作正常。RAID 1是所有RAID階層上,經濟效益最好,效能很高,極佳的資料安全性。是所有階層中使用最多最廣最符合當初RAID設計概念的一種。唯一小缺點是,其陣列磁碟容量是全部硬碟容量的一半。 因為二顆硬碟是存放著相同的資料,就浪費了一顆硬碟的空間。
RAID 0+1:Mirror + Striping (磁碟鏡射+切分/延展)
RAID 0+1,是結合了RAID 0與1兩種模式,這個階層須具備4個或以上的雙數硬碟所組成。這個模式是由2個硬碟遵守RAID 0規範,設定成一組,再由每組間遵循RAID 1的規範,使RAID 0+1擁有容錯力及整體讀寫速度與資料安全性。不過,缺點是成本很高。
RAID 3:Parallel with Parity (平行同位元檢查)
RAID 3,最少須3個硬碟或以上,這個階層的磁碟陣列具備了同位元高階智慧型演算法,利用一個硬碟來儲存其運算出來的同位元值的資料。當陣列磁碟中有一個硬碟發生故障時(當然不能是同位元碟),只要換上新硬碟後,磁碟陣列控制器就能利用同位元碟的資料,重新演算得到其舊有資料並回寫建立。因為其同位元檢查資料是將資料切割成數個區段,利用XOR演算法計算出同位元資料;而其區段以Bytes計算時,稱為RAID 3,如果是以Block計算時,就稱為RAID 4。所以RAID 3在整體讀寫效能會較慢較差,但在成本上會比RAID 0+1還省一點,其陣列磁碟整體容量計算公式為N-1。
RAID 5:Striping with Rotating Parity (切分/延展+輪轉同位元)
RAID 5,最少須3個硬碟,其工作原理與RAID 3相似,主要差別是其同位元資料沒有固定在同個硬碟,是以輪流方式儲存在每個硬碟上,故稱輪轉同位元。當磁碟陣列控制器利用XOR演算出同位元檢查資料後,會隨著資料分別寫入各台硬碟上,因此整體讀寫效能比RAID 3要好一些,當然比RAID 0要差。不過在大型資料處理時,需同時讀寫多個硬碟,而同位元檢查是由磁碟陣列控制器的XOR邏輯所控制的,所以資料處理越大越多時,一定會有所遺失,但這個階層的RAID還是可以提供很高的容錯能力。
RAID 5 的組成一定是3顆以上的硬碟,其容量的計算是(n-1)顆
假設有a b c 三顆硬碟是20G
組成 RAID 5 之後容量是 20+20+20=40G
RAID 5 結合了 RAID 0 跟 RAID 1,它將硬碟的容量加總了,但是又保留了一顆的容量在作檔案的容錯,在寫入資料時會透過其演算法去寫入三顆硬碟之中,假設C硬碟掛掉了,只要將一顆新的20G取代 C 硬碟,RAID 5 的容錯機制會由A B 二顆硬碟中留下的資料來還原 C 硬碟的資料,但前提是壞一顆硬碟,如果同時壞二顆,那資料亦是全毀。
總結:
RAID 0 可以將硬碟容量加總,增加讀取速度,但是沒有容錯功能.
RAID 1 可以將資料鏡射一份,但是讀取速度沒有增加.而且要浪費一顆硬碟.
RAID 5 可以將硬碟容量加總,亦可以增加讀取速度,也有容錯功能.而且多顆組合起來只會浪費一顆硬碟.不像RAID 1每二顆硬碟會浪費一顆。
由於RAID 5 只容許同時有一顆硬碟損壞.就有了RAID 0+1 或 RAID 1+0
這是更安全的作法.但相對的也更浪費硬碟。
舉例RAID 0+1
假設有4個硬碟 A B C D 各20G
RAID 0 A+B => 20+20=40(E)
RAID 0 C+D => 20+20=40(F)
在這裡由A B C D 組成了二顆RAID 0的硬碟.雖然容量加總了.但並沒有容錯功能
所以
RAID 1 E+F => 40+40=40(G)
RAID 1+0 則是反過來運作
RAID 1 A+B => 20+20=20(E)
RAID 1 C+D => 20+20=20(F)
RAID 0 E+F => 20+20=40(G)
作RAID 最好是都用相同容量的硬碟,如果容量不同.則以當中容量最小的為基準
如 A=20G B=30G C=40G
RAID 0 A+B => 20+30=40
RAID 1 A+B => 20+30=20
RAID 5 A+B+C => 20+30+40 => 20+20=40 (n-1)
转载于:https://blog.51cto.com/yuxing34/1623876