RAID 6 容錯與效能的結合來保護您的數據

Written By: Ontrack

Date Published: 2023年11月06日 星期一 上午02時29分12秒

RAID 6 容錯與效能的結合來保護您的數據

Healthy RAID 6 Array

RAID陣列是由軟件或硬件以某種方式配置的磁碟集合,以保護數據和提高性能或是兩者兼具。術語RAID是指獨立冗餘陣列(Redundant Array of Independent Disk)。現時有許多不同類型的RAID陣列,皆會影響讀取和寫入速度以及冗餘或容錯。

RAID 6和RAID 5一樣,都是在1980年代開發。使用硬體控制器構建而成的RAID 6陣列在冗餘與速度之間提供了良好的平衡。RAID 6陣列至少需要四顆硬碟來提供更高的讀取速度,並對寫入性能帶來最小影響。RAID 6可容許兩顆硬碟故障。

RAID 6配置是什麼樣的?

RAID 6與RAID5相似,都是使用奇偶校驗與數據條帶化的陣列。不同之處在於RAID 5只有一個奇偶校驗條帶,而RAID 6則有兩個。這允許RAID 6能承受兩顆硬碟故障而非只有一個硬碟。在大多數的RAID 6配置中,第一個奇偶校驗條帶所包含的數據是來自其他條帶的XOR數據,第二個奇偶校驗條帶通常有其專有的演算法。

RAID 6陣列需要將兩顆硬碟的數據專門用於奇偶校驗。這代表比起相同大小的RAID 10,RAID 6陣列的實施成本依然比較低,因為只有兩顆硬碟的空間分配給奇偶校驗。而比起RAID 1,RAID 6還具有更大的靈活性與更大的硬碟分區空間。

Healthy RAID 6 Array

在上面的例子,我們有一個在Dell PowerEdge伺服器中可能會看到由五顆硬碟配製而成的RAID 6陣列。在第四顆硬碟的第一個條帶中找到的第一個奇偶校驗塊(Parity1),是從其他名為數據1(硬碟1)、數據2(硬碟2)和數據3(硬碟3)取得的XOR數據。

在第五顆硬碟的第一個條帶中找到的第二個奇偶校驗塊(Parity2),是來自數據1、數據2、數據3的數據組合,並且取決於廠商或控制器,也可包含第一個奇偶校驗塊。這些奇偶校驗塊使用不同的硬碟組合橫跨所有數據條帶重複進行計算。

奇偶校驗在RAID 6陣列中起什麼作用?

奇偶校驗能透過它的數學特徵重建遺失的資料來提供額外的保護。將每個數據條帶的一部分劃為奇偶校驗塊,可允許系統在一顆或多顆硬碟在故障或斷線時進行重建。RAID控制器或RAID軟體可使用奇偶校驗來虛擬重建任何遺失的數據段。

在下面的例子我們看見第二顆硬碟故障了。

RAID 6 with One Failed Drive

在失去一顆硬碟之後,陣列會進入降級模式。在降級模式中,RAID控制器會根據需要將數據條帶與奇偶校驗結合,以向操作系統提供良好的數據。在我們的例子裡,控制器會在第一個條帶中結合數據1、數據3和奇偶校驗1來替換數據2遺失的數據。在第二個條帶中,數據4、數據6和奇偶校驗1被用來替換數據5。在第三和第四條帶中,因為所有數據硬碟依然存在,因此不需要奇偶校驗。

因為每個條帶中都有兩個奇偶校驗塊,RAID 6允許兩顆硬碟同時故障。在下面的例子,我們看見硬碟2和硬碟4都故障了。

RAID 6 with Two Failed Drives

在失去兩顆硬碟之後,控制器會使用數據條帶結合奇偶校驗1和奇偶校驗2來重建遺失的數據。在我們的例子中,控制器在第一個條帶中會結合數據1、數據3和奇偶校驗2來替換數據2遺失的數據。在第二個條帶中,數據4、數據6和奇偶校驗1被用來替換數據5。在第三個條帶中,數據7、數據9和奇偶校驗2被用來替換數據8。 

熱備用如何在RAID 5陣列中運作?

RAID 6 Healthy Array with Hot Spare

熱備用是一個額外或多個的硬碟并可以添加到RAID 6陣列中,以允許從故障硬碟从中快速恢復。在上面的例子中,我們看到一個健全的RAID 6陣列,其中添加了熱備用。請注意,在發生故障並且需要硬碟之前,熱備用不會包含任何數據。

如果系統有可供使用的熱備用,控制器將在發生故障時,自動開始將故障硬碟中遺失的數據重建到熱備用。

RAID 6 One Failed Drive with Hot Spare

上面的例子顯示第二顆硬碟故障。系統使用熱備用重建第二顆硬碟所有遺失的數據到熱備用硬碟上。現在可以將第二顆硬碟從系統中移除,並換上新的硬碟,無論是當做新的熱備用、或是成為新的第二顆硬碟,都可以在上面重建數據。

為什麼要使用熱備用硬碟?當硬碟故障時,時間對於重建數據至關重要。運行降級模式會給剩餘的硬碟帶來額外的壓力,如果不快速修正可能會導致更多的故障。來自相近製造供應商的硬碟可能會有類似的缺陷,因此其他硬碟可能很快也會故障。擁有一顆或多顆熱備用硬碟能夠縮短復原的時間。

是什麼導致RAID 6陣列失敗?

RAID 6陣列可能會失敗的原因有幾個。以下幾個主要原因是我們在Ontrack看到的。

  • 多顆硬碟故障
  • 電源問題(電源突波或低電壓)
  • RAID控制器或RAID軟體故障
  • RAID損毀(包含邏輯損毀)
  • 洪水/浸水或火災損壞
  • 失敗或部分重建

是否可以從RAID 6恢復數據?

從RAID 6陣列中恢復數據是可能的。雖然RAID 6的數據恢復可能很複雜並且更具挑戰性,但大致上都能成功恢復。最大的挑戰通常是用來創建第二個奇偶校驗塊的專有演算法,因為每個製造商都以不同的方式實施這一算法,並且通常需要進行訂製研發支持的工具。

數據遺失的原因有很多種,而每種原因的復原工作都不一樣。下面是幾個例子。

一個硬碟故障的數據恢復

RAID 6 with One Failed Drive

Raid 5一樣,如果有一顆硬碟在陣列中故障,可以使用奇偶校驗來重建遺失的數據。在這種情況下,Ontrack通常能夠恢復100%的數據。收到無法運作的陣列之後,陣列中所有硬碟將會在無塵室中製成鏡像檔案(如果可以也會包含故障的硬碟)。然後使用這些鏡像檔案重組虛擬陣列。當RAID組成之後,掃描檔案系統或磁碟分區尋找損毀的數據,進行虛擬修復後再取出數據。通常不需要故障的硬碟,因為可以從奇偶校驗重建任何遺失的數據條帶。

兩個硬碟故障的數據恢復

RAID 6 with Two Failed Drives

不像RAID 5只能允許一顆硬碟故障才能維持運作,RAID 6的設計允許兩顆硬碟故障而不會對數據造成任何影響。從多個故障硬碟中恢復的過程類似於單個硬碟故障。收到無法運作的硬碟之後,所有硬碟會在無塵室中製成镜像,包含故障的硬碟。如果硬碟上面的數據是最新的,則可能不需要故障的硬碟來完全恢復陣列。接下來會使用這些镜像來重組虛擬陣列。

在上面的例子裡,第一個條帶裡的數據1、數據3和奇偶校驗2被拿來重建數據2。第二個條帶裡的數據2、數據4、奇偶校驗1和數據6被拿來重建數據5。第三個條帶裡的數據7、奇偶校驗2和數據9被拿來重建數據8。

 

虛擬重組RAID陣列後,將掃描檔案系統或硬碟分區以查找損壞。除了檔案系統損壞之外,工程師還會尋找不一致或過時的數據。當硬碟故障和其中一個硬碟降級之間存在時間間隔時,就會發生這種情況。數據恢復工程師需要具備識別此類損壞的經驗,以便他們可以虛擬修復磁碟分區,並提取良好的檔案數據。

多顆硬碟故障的數據恢復

即便有兩顆以上的硬碟故障,依然有可能從RAID 6陣列中獲得完全恢復。

RAID 6 Multiple Failed Drives

在上面的例子,我們有一個RAID 6陣列,全部五個硬碟都有部分區域損壞。如果每個條帶的損壞區塊不超過兩個,則有機會重建遺失的數據。Ontrack會盡可能對每一顆硬碟製成镜像。

接下來會使用這些镜像重組虛擬陣列。在上面的例子裡,第一個條帶裡的數據1、數據3和奇偶校驗2被用來重建數據2。第二個條帶不需要奇偶校驗,因為數據4、數據5和數據6都完好無損。第三個條帶的數據7、奇偶校驗2和數據8則被用來重建數據9。

重組RAID虛擬陣列之後,掃描檔案系統或硬碟分區尋找損毀的檔案。可恢復的數據會從重組虛擬陣列中被提取到新的媒體裡再次使用。

 

訂閱

KLDiscovery Ontrack (HK) Limited 北角電氣道 148 號 12 樓 1203A 室 (查看所有地點)