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 組合後的容量空間為硬碟容量的加總。
例如:
- 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 10 / RAID 01 – 各取優點的組合拳
結合 RAID 0 & RAID 1 的綜合體,最少需要 4 顆硬碟組成,所組成的 RAID 同時會有 RAID 0 的效能及 RAID 1 的容錯。
RAID 10 是什麼?
先將兩組兩顆硬碟組成 RAID 1 後,再將兩組組合成 RAID 0。4 顆硬碟最多可以壞 2 顆,且還能正常運作,但兩顆若是壞在同一組則會 RAID 損毀。
RAID 01 是什麼?
這個與 RAID 10 相反,是將兩組兩顆硬碟先組成 RAID 0 ,兩組再組成 RAID 1。
RAID 01 可以容許壞同一組的兩顆硬碟,還可以正常運作。若兩顆壞在不同邊,則有機會會讓 RAID 損毀 (視壞哪兩顆硬碟決定)。
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 6 是什麼?
RAID 6 是由 RAID 5 演化而來,比 RAID5 多寫了一組 Parity ,共有 2 組 Parity,所以RAID6 允許壞兩顆硬碟都還能正常運作。
RAID 6 最少需要 4 顆硬碟才能組成,它的容量利用率為:(n-2)。
雖比 RAID 5 來得安全,但是因為多寫了一份 Parity,再寫入時效能會比 RAID 5 來得差。這點已由 Netapp 研發的 RAID-DP 所改善,我們接著看底下的介紹。
RAID-DP 是什麼?
RAID-DP 是由 NetApp 公司所研發出來的獨特 RAID 演算法,由於傳統型 RAID 5 在RAID Rebuild 時風險非常高,傳統型 RAID 6 又有效能不佳的問題存在,廠商為了解決這些問題,催生出低風險效能佳的RAID-DP。
高階 Storage 要求的是穩定性、低風險以及高效能,而 NetApp 所研發的 RAID-DP 兼具這些優勢。
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 vs RAID 6
屬性 | RAID-DP | RAID 6 |
Parity存放方式 | Partiy 固定存放在兩顆硬碟上 | Parity 平均分散存放在每顆硬碟 |
如何建立 | RAID-DP 屬於 NetApp 專利,故只有 NetApp Storage 有支援。 | 許多 RAID 控制卡皆有支援,例如常見的 LSI Mega RAID 卡及 Linux 系統。 |
優勢 | 讀寫時不會有任何效能延遲、Rebuild 時速度快且不會讓整體效能下降。 | 較為平價,且容易取得。 |
缺點 | 僅在 NetApp 系統上可用 | 運用在高運算環境效能不彰、Rebuild 時間長且效能會下降。 |
備註 | 結合 WAFL 檔案系統,讓它可以隨意放大及縮小。 |
講在最後:鉅亨的經驗談
不得不說 RAID-DP 的穩定性真的很好,我們做資料救援這行業,會救到 RAID 磁碟陣列的最大原因,就是 RAID Rebuild 過程中又有硬碟掛掉,就會「整組害了了」。
尤其現代硬碟容量越來越大,Rebuild 時間越拉越長,風險也跟著增加。
鉅亨科技在這行業數十年,累積救援了上百組的 RAID 陣列,還真的從未救過 NetApp 的 Storage!
我們也仔細鑽研過 NetApp 的檔案系統及演算方式,萬一碰到 RAID-DP 需要搶救,這種 RAID 救援難度非常的高…。
不過我們也已做好準備,在未來幫助可能有需要的企業來拯救。