2015.04.30

RAID 5 架構&運作原理解說

備註:如果除了 RAID 5 之外,想了解更完整的RAID解析,可以參考RAID 磁碟陣列介紹與解析 這一篇文章,內有針對RAID提供非常完整的介紹解析。

RAID 5 就是容許1台硬碟故障,RAID 5 資料還可正常讀取

RAID 5 是最常見最廣為使用的架構,且企業級規格 Server 一定都採用 RAID 5 等級。 但RAID 5 因銷售上標榜容錯功能(Fault tolerance),導致使用者誤以為『容許RAID故障、錯誤』,而忽略做資料備份,不可不慎。 此章節盡可能詳細說明 RAID 5 架構運作、運算原理、優缺點、使用注意事項。提供給使用者一個正確使用RAID 的觀念。

RAID 5 Configuration 架構原理:

最少需3台硬碟 Physical Drives 1TB + 1TB+1TB = 2TB Logical Drive (Array)。
其中有1TB 容量被當作 Parity Blocks,非單獨一台硬碟,而是平均分散在各硬碟內,每台硬碟提供 ⅓ 容量供 Parity 運算用。

這就是RAID 5 的 Block Striping 儲存原理,將資料分散儲存至各硬碟中,當硬碟受損時則經由XOR運算,再將存在其他正常硬碟內的Parity Blocks及Data Stripe磁區的Data Blocks進行計算而重建資料Rebuild。
而 Parity 運算就是 RAID 5 的容錯機制,運算原理非常艱深,後續會嘗試用簡單易懂方式說明。

RAID 5 實際上是安裝 3台硬碟,但 Array size 卻只有2台硬碟容量可使用,少了1台硬碟容量,這就是被當作 Parity Blocks。

raid0501

上圖說明,無論是哪一台硬碟受損,RAID 5 容量還是沒減少,都是維持原來2台硬碟容量,這就表示 RAID 5 標榜的『容錯功能』容許任何1台硬碟故障,RAID 5 還可正常讀寫。

注意:
當發生只有1台硬碟故障時,RAID Status 會顯示『RAID Degraded』, 這時 RAID 5 還是可正常讀寫資料,但最重要最急著處理的動作,『不是立刻更換正常硬碟做重建 Rebuild』,正確安全的做法是『趁 RAID 5 還可正常讀取資料時,趕快將資料備份出來,再去做重建 Rebuild』。

千萬勿慌張,冷靜下來思考第一最重要問題?判斷最優先最重要是『搶救資料』or『Rebuild 』?
當然是『搶救資料重要』。

所以當不幸發生 RAID 5 Degraded 時,切記先『備份資料』出來存放,而非急著重建『Rebuild』。

因為 Rebuild 的原理是將讀取每台正常硬碟內所有的 Blocks 再將由XOR運算將結果寫入空白硬碟內,包含空白 Blocks 並非只限 Data,所以相當耗時。

例如:RAID 5 共3台硬碟,每台容量是 1TB,RAID 5 的容量是 2TB,雖然資料量比較少只有 500GB,但 Rebuild 是去每台硬碟自第 1 Block 開始讀取(含空白區) → XOR運算  → 再寫入空白硬碟內,直到最後的 Block 處,所以是讀取 2TB  → 寫入 1TB,並非只有 Data Blocks。

raid0502


通常 RAID 5 內的硬碟都是相同廠牌型號,所以品質相同,RAID 5 習慣上都是 24H 不關機,又是多人多部門使用,所以操得很兇,所有硬碟耗損程度也一定相同,當已發生有1台硬碟受損 Offline,其它硬碟因為品質,耗損都相同,應該也撐不了多久,極可能一台接一台故障。
這時千萬避免去做耗時危險的重建 Rebuild,因爲萬一中途又有1台硬碟故障?RAID 5 Failed 損毀時,資料即無法讀取。

如現場有人,建議先將重要資料備份出來存放,只限搶救重要資料 Folders,不要急著備份其它不重要資料,因為備份資料很耗時,RAID 已受損 Degraded 情況是很危險,不要再去操 RAID 硬碟。


RAID 5 + Spare 就是容許2台硬碟不同時間故障,但非同時故障

凌威科技在此強烈推薦企業用戶使用 RAID 5+Spare 架構。因 RAID 5 +Spare 技術已有20年歷史,相當成熟穩定。不論是用任何角度評估,RAID 5+Spare 都是非常理想可靠。

RAID 5 技術已非常成熟可靠,可支援 3 以上硬碟建立一組 RAID 5,但建議限 5台硬碟一組不要太多台硬碟一組,改建立多組 RAID 5,便於管理,分散風險。

知名廠牌都一定具備 RAID 5+Spare 功能,支援眾多。RAID 5 讀寫速度應該已夠快速。

當發生一台硬碟故障時,有備用 Spare 硬碟可線上立刻自動做重建 RAID Rebuild,避免又發生第2台硬碟故障來不及 Rebuild,導致 RAID 損毀。 

上一單元提到 RAID 5 同時 2 台硬碟故障的可能性也高,那還有其它更安全可靠的 RAID?

RAID 5 + Spare 就是已事先安裝1台空白硬碟當備用,萬一發生有1台硬碟故障時,可以立刻在第一時間『自動』作資料重建 『Online Rebuild』,不會延誤搶救寶貴時間。建議使用此架構。

當出現問題時,科技界就會有一批熱心又聰明的工程師設法解決問題,此單元介紹 RAID 5 + Spare的原理和架構。


RAID 5 + Spare Configuration 原理:

需最少 4台硬碟 Physical Drives 1TB + 1TB+1TB+1TB = 2TB Logical Drive (Array)。

raid0503


其中有1TB 容量被當作 Parity Blocks,非單獨一台硬碟,而是平均分散在各硬碟內(RAID 5相同原理)。另一台1TB 則是先暫不使用,需為空白的作為備用,是當萬一有1台硬碟故障時,可立刻自動重建 Online Rebuild,不必等人發現再去找台空白硬碟插入。這用意是搶時間 Rebuild,避免錯失 Rebuild 寶貴機會。

『 Rebuild』原理是取自其它2台正常硬碟全部 Blocks,再經 Parity 運算將結果寫入此空白硬碟。內容和原受損硬碟是 100% 完全相同,這是一種蠻聰明的機制,後續會介紹『Parity 運算原理』(和 RAID 5 相同原理)。

試想,如RAID 5無Spare 空白備用硬碟的架構,當發生1台硬碟故障時,會出現下列風險:

風險一:為了重建 Rebuild RAID 5 Configuration 必須先花時間人工去找台一模一樣相同廠牌型號的舊型硬碟(事實上不需要相同廠牌型號,只需介面都相同 SAS or SATA,容量須大於故障硬碟即可)就可能耗費多日還不見得找的到。
且萬一是發生在夜間 or 假日公司沒人時?雖然 Server RAID 一直出現警告,但卻無人可即刻處理設法排除故障,那是很容易發生更嚴重的損害。所以已事先有插上一台 Spare 空白硬碟當備用,可以立刻在第一時間『自動』作重建 『Online Rebuild』,不必浪費時間再等人發現和處理。

風險二:因為已發生有一台硬碟故障,其它硬碟又都是相同廠牌型號,品質一定相同,使用中耗損也相同,極易接著發生另一台硬碟受損,為了搶時間,這時 RAID 5 Spare 可以立刻自動重建Rebuild,降低資料遺失風險(如現場有人,建議先將重要資料備份出來存放,只限重要 Folders,不要急著備份其它不重要資料,因為備份資料很耗時,RAID 已受損 Degraded 很危險,不要再去操 RAID)。

RAID 5 資料備份
  • 提醒RAID 使用者,任何RAID架構都不是完美的,不要太依賴RAID的容錯機制。
  • 寧可勤做資料備份,資料多做幾份備份,才安心。開裝甲車也要綁安全帶。

凌威科技在 RAID 的實務經驗上,始終提醒 RAID 使用者,任何 RAID 架構都不是完美的,不要太依賴 RAID 的容錯機制,不要有錯覺認為 RAID 售價高,相對品質性能就一定高,使用時就較疏忽做『資料備份』,無論是何種 RAID 架構,都要勤做資料備份。這就好像開百萬名車還是要綁安全帶道理相同。

凌威科技寧可多花時間介紹『備份機制』給RAID 使用者,並不是很喜歡常推薦市面又出現號稱更新更強的 RAID,所以至於傳說中 RAID1E 號稱容許故障半數硬碟還可正常讀寫的機制,凌威科技不願浪費時間介紹。因為那就好像,駕駛一台8輪大卡車,只因號稱容許多個輪胎爆胎還可正常行駛,就教駕駛員,當只有一個爆胎時先不必停車處理,繼續開再說.....。
凌威科技寧願教,當發生一個輪胎爆胎時,立刻停車換新胎,並檢查其它輪胎是否正常。

RAID 是虛擬架構磁碟,簡單比喻:
共有3 噸貨物,有2種運載方式,
1. 寧可出動 3 台小貨車,1車載1噸,各自行駛,各自有各自的駕駛,有各自的輪胎,風險可分散。
2. 將 3 台小貨車『串連結』成一台大列車行駛,變數多,風險高。
 
結論:

使用 RAID 一定要有風險意識,因為 RAID 內儲存資料幾乎都是整個企業的重要資料,絕不可損毀。但 RAID 的種類繁多,到底要用 RAID0,1,5,6,10…..?建議規劃時勿超過您的技術能力,不論哪一種 RAID 讀寫速度都差不多,而 RAID 容量取決於硬碟數量,但使用一組您有能力管理,有能力排除輕微故障才是正確的選擇。真的非常不建議,硬要去使用自已不熟悉無法自行管理的 RAID。

當然最後還是有可能遇到問題需要專業建議時,歡迎來電聯絡『凌威科技』,本公司工程師團隊非常樂意協助您。 

相關文章分享

top