各種RAID級別介紹:RAID資料救援專家一文告訴你哪種好!

RAID 是什麼?

RAID 是由多顆硬碟透過演算法組合出來的一個磁區,因不同的 RAID 演算法可以變化出不同型態的 RAID 級別,有些講求讀寫效能,有的講求安全性,也有兩者兼具的RAID,以下會介紹常見的RAID級別:

  • RAID 0
  • RAID 1
  • RAID 10 / RAID 01
  • RAID 5
  • RAID 6
  • RAID-DP

延伸閱讀:RAID基本介紹:什麼是RAID磁碟陣列?
延伸閱讀:RAID 資料救援費用:鉅亨科技這樣的收費方式給客戶最大保障!

RAID 0 是什麼?

RAID 0 最少需要 2 顆以上硬碟才能組成,在寫入資料時它會將資料經過分割後同時寫到不同的硬碟。因為寫入時分佈在不同硬碟上,所以寫入效能會大大提高。

在讀取資料時,也會利用所有硬碟同時讀取,故讀取速度會加快,且硬碟越多顆會越快!

但因為 RAID 0 是將資料分散讀寫在每顆硬碟上,所以沒有任何容錯機制,只要有任一顆硬碟發生故障,整個 RAID 就會損毀。

通常 RAID 0 會用在檔案較大且要求傳輸速度快的行業。( 例如:影音編輯類 )

RAID 0組成示意圖
RAID 0組成示意圖
RAID 0運算方式示意圖
RAID 0運算方式示意圖

RAID 0 的容量利用率計算方式

RAID 0 因為沒有容錯機制,所以 RAID 0 組合後的容量空間為硬碟容量的加總。

例如:

  • 4 顆 1TB 硬碟組合成 RAID 0 = 4TB 可用空間;
  • 3 顆 1TB、1 顆 500G 組合成 RAID0 = 2TB 可用空間
    (取 RAID Group 內最小容量硬碟來計算)

RAID 1 是什麼?

RAID 1 最少也是需要 2 顆以上的硬碟組成,又名 Mirror。(顧名思義兩顆硬碟就像鏡子兩邊會一模一樣。)

RAID 1 在寫入資料時,會將資料在每顆硬碟完整的寫入一份,速度與單顆硬碟相同。
在讀取資料時,則會自動挑一顆正常硬碟做讀取,讀取速度不會因為硬碟數量多而增加。

RAID 1 這樣的讀寫方式,讓它有非常好的容錯機制。

優點:
如果主要硬碟掛掉,會有另外一顆硬碟直接頂替作業,不會有任何 downtime 的時間。而硬碟發生一顆故障時候,可以換上新硬碟來做 RAID Rebuild。

缺點:
也因為 RAID 1 這樣的保護機制,讓它空間利用率只有一半。
例如兩顆 1TB 硬碟組成 RAID 1, 只會有 1TB 可用空間。

RAID 1組成示意圖
RAID 1組成示意圖
RAID 1運算方式示意圖
RAID 1運算方式示意圖

RAID 10 / RAID 01 – 各取優點的組合拳

結合 RAID 0 & RAID 1 的綜合體,最少需要 4 顆硬碟組成,所組成的 RAID 同時會有 RAID 0 的效能及 RAID 1 的容錯。

RAID 10 是什麼?

先將兩組兩顆硬碟組成 RAID 1 後,再將兩組組合成 RAID 0。4 顆硬碟最多可以壞 2 顆,且還能正常運作,但兩顆若是壞在同一組則會 RAID 損毀。

RAID 10運算方式示意圖
RAID 10運算方式示意圖

RAID 01 是什麼?

這個與 RAID 10 相反,是將兩組兩顆硬碟先組成 RAID 0 ,兩組再組成 RAID 1。

RAID 01 可以容許壞同一組的兩顆硬碟,還可以正常運作。若兩顆壞在不同邊,則有機會會讓 RAID 損毀 (視壞哪兩顆硬碟決定)。

RAID 10組成方式示意圖
RAID 10組成方式示意圖

RAID 5 是什麼?

RAID 5 是最常用到的 RAID 級別,它最少需要 3 顆硬碟來組成,同時提供了讀寫效能及容錯機制。

RAID 5 在讀寫資料時,會將資料分割分散讀寫至每顆硬碟,故 RAID 5 的讀寫效能相當優秀;同時 RAID 5 也提供容錯機制,它會在每顆硬碟寫入一份校驗值( Parity )。

因為有 Parity 的關係,RAID 5 容許壞掉 1 顆硬碟都還可以讓 RAID 正常運作。

RAID 5 的容量利用率計算方式

RAID 5 的容量利用率為:( n-1 ),多出來那一顆硬碟的空間,沒有被浪費,是預先扣除起來做資料保險(Parity 備援),萬一有一顆壞掉,還能把資料救回來。

舉例:

  • 3 顆 2TB 硬碟組 RAID 5,實際能用來存資料的空間是:(3-1) × 2TB = 4TB。
  • 5 顆 1TB,就是 (5-1) × 1TB = 4TB。

RAID 5 的 Rebuild 機制

雖然 RAID 5 有 Rebuild 機制,但這個機制同時也是 RAID 5 的風險。

因前面提到的容量利用方式,導致 RAID 5 在 Rebuild 時已沒有容錯機制,這時全部硬碟又在大量讀寫,必須要特別注意 Rebuild 的狀況。

RAID 5組成方式示意圖
RAID 5組成方式示意圖
RAID 5運算方式示意圖
RAID 5運算方式示意圖

RAID 6 是什麼?

RAID 6 是由 RAID 5 演化而來,比 RAID5 多寫了一組 Parity ,共有 2 組 Parity,所以RAID6 允許壞兩顆硬碟都還能正常運作。

RAID 6 最少需要 4 顆硬碟才能組成,它的容量利用率為:(n-2)。

雖比 RAID 5 來得安全,但是因為多寫了一份 Parity,再寫入時效能會比 RAID 5 來得差。這點已由 Netapp 研發的 RAID-DP 所改善,我們接著看底下的介紹。

RAID 6組成方式示意圖
RAID 6組成方式示意圖

RAID-DP 是什麼?

RAID-DP 是由 NetApp 公司所研發出來的獨特 RAID 演算法,由於傳統型 RAID 5 在RAID Rebuild 時風險非常高,傳統型 RAID 6 又有效能不佳的問題存在,廠商為了解決這些問題,催生出低風險效能佳的RAID-DP。

高階 Storage 要求的是穩定性、低風險以及高效能,而 NetApp 所研發的 RAID-DP 兼具這些優勢。

NetApp的LOGO

RAID-DP 運算架構

RAID-DP 與 RAID 6 一樣會有兩份 Parity,不同的是 RAID 6 屬於分散式雙同位元演算,RAID-DP 是固定式雙同位元演算。

因為演算上的差異,不會出現像 RAID 6 效能不彰的問題。

RAID-DP 優點

RAID-DP 因有 2 份 Parity,允許損壞 2 顆硬碟也能正常使用。

傳統RAID 5、6 在 Rebuild 過程中執行 XOR 運算時,會需要動用全部硬碟來運算,不僅很消耗 CPU 運算資源,還會讓整體 RAID 存取效能大幅下降。

RAID-DP 的固定式位元演算方式讓它 Rebuild 時比 RAID 5 來得快速,風險不僅大幅降低,且整體 RAID 效能絲毫不受影響!

RAID-DP 組合式意圖
RAID-DP 組合式意圖

RAID-DP vs RAID 6

屬性RAID-DPRAID 6
Parity存放方式Partiy 固定存放在兩顆硬碟上Parity 平均分散存放在每顆硬碟
如何建立RAID-DP 屬於 NetApp 專利,故只有 NetApp Storage 有支援。許多 RAID 控制卡皆有支援,例如常見的 LSI Mega RAID 卡及 Linux 系統。
優勢讀寫時不會有任何效能延遲、Rebuild 時速度快且不會讓整體效能下降。較為平價,且容易取得。
缺點僅在 NetApp 系統上可用運用在高運算環境效能不彰、Rebuild 時間長且效能會下降。
備註結合 WAFL 檔案系統,讓它可以隨意放大及縮小。
RAID-DP 和 RAID 6 比較表

講在最後:鉅亨的經驗談

不得不說 RAID-DP 的穩定性真的很好,我們做資料救援這行業,會救到 RAID 磁碟陣列的最大原因,就是 RAID Rebuild 過程中又有硬碟掛掉,就會「整組害了了」。

尤其現代硬碟容量越來越大,Rebuild 時間越拉越長,風險也跟著增加。

鉅亨科技在這行業數十年,累積救援了上百組的 RAID 陣列,還真的從未救過 NetApp 的 Storage!

我們也仔細鑽研過 NetApp 的檔案系統及演算方式,萬一碰到 RAID-DP 需要搶救,這種 RAID 救援難度非常的高…。

不過我們也已做好準備,在未來幫助可能有需要的企業來拯救。