1. 程式人生 > >Raid磁盤陣列數據恢復原理

Raid磁盤陣列數據恢復原理

過程 中一 返回 技術 由於 位置 分享圖片 服務 通過

··raid磁盤陣列為服務器提供安全的、可靠的、可申縮的外部存儲空間。但是多數的服務器使用者對raid並不是十分了解再加上服務器的廣告上都太過強調了raid陣列的錯容功能,使得很多服務器的使用者受到一種“raid不會出現故障”的錯誤引導。因此在服務器的使用過程中忽視了raid磁盤陣列的潛在風險,對服務器數據的備份或者應急預案不足,一旦服務器出現故障將為企業帶來極大的影響。Raid磁盤陣列出現故障的原因通常可以歸結為如下幾點:

  • Raid控制器出現故障導致raid失效
  • 突然斷電導致raid信息故障
  • Raid5一塊硬盤出錯,系統管理員未及時更換硬盤的情況下另一塊硬盤出錯導致raid5失效。

··

下面將為讀者介紹服務器磁盤陣列中raid1、raid0、raid5三種raid形式出現故障時的數據恢復思路和方法。

1.raid1陣列數據恢復

··Raid1是所有raid陣列中最為簡單的一種陣列形式,raid1中兩塊硬盤互為鏡像,所有數據都是完全一樣的。如果因為raid控制器故障或者raid信息出錯導致raid1磁盤陣列數據無法訪問,只需要將兩塊硬盤中的其中一塊硬盤從服務器上拆卸下來後作為單獨的硬盤掛載到計算機上即可讀取數據。
··如果raid1中其中一塊硬盤出現故障時是不會影響服務器的正常運行的,此時需要將故障硬盤更換為正常硬盤即可。如果服務器一塊硬盤故障時未能及時更換硬盤另一塊硬盤也出現故障,則raid1磁盤陣列失效。此時想要進行數據恢復需要利用後出現故障的那一塊硬盤進行數據恢復即可。

2.raid0磁盤陣列數據恢復思路

··Raid0是所有磁盤陣列中最脆弱的磁盤陣列形式,raid0磁盤陣列沒有任何冗余性能,陣列中只要有一塊硬盤故障則服務器數據就會丟失,所以是一個風險極大的陣列形式。通過下圖可以看出,raid0的數據是分布到每一塊磁盤上的,如果服務器中任何一塊硬盤出現故障都會導致服務器的數據不完整。
技術分享圖片

··對於raid0磁盤陣列的數據恢復要求數據恢復工程師對陣列中的所有數據進行重組,又由於raid0陣列已不可用,所以只能將硬盤從raid控制器中取出來作為單塊硬盤進行分析和數據恢復。
如上圖所示,對於單塊硬盤1來說,其中的數據為A/E/I/M,硬盤2中的數據為B/F/J/N,都只是部分數據,只有把陣列中的所有硬盤數據按照A/B/C/D/E/F/G/H····這樣的順序拼接好,才能真正恢復raid0陣列中的數據。

··那麽應該怎麽按照順序拼接這raid0陣列中的所有硬盤數據呢,這裏需要註意兩個因素,一個是raid0磁盤陣列中每個數據塊的大小,也就是A或者B這些數據塊所占用的扇區數;另一個因素是raid0陣列中的硬盤排列順序,也就是說需要確定哪一塊硬盤是陣列中的第一塊硬盤,哪一塊是第二塊、第三塊····
··以上圖中的raid0磁盤陣列為例,我們假設數據塊的大小為16個扇區,硬盤的順序就以圖中的為例,那麽我們在進行數據恢復時只需要在硬盤1中提取0~15扇區的信息,再到硬盤2中提取0~15扇區信息,再到硬盤3中提取0~15個扇區的信息,再到硬盤4中提取0~15個扇區的信息,再返回到硬盤1中提取16~31扇區的信息····以此類推,就可以將這個raid0陣列裏的所有數據提取出來了。

3.raid5磁盤陣列數據恢復原理

··Raid5陣列中數據的分布與raid0陣列類似,與之不同的是raid5中每個平行的數據塊中總有一個數據塊是校驗塊,如下圖中的p1/p2/p3/p4。Raid5支持在一塊硬盤掉線的情況下保證數據的正常訪問,但是如果有兩塊或者兩塊以上的硬盤同時離線,陣列便會失效,需要對磁盤陣列進行數據重組了。Raid5的數據重組方式與raid0也是相同的,只需要將硬盤中的數據按照順序拼接好即可
技術分享圖片

··由於raid5陣列中的每一塊硬盤中都有校驗信息,所以分析raid5陣列時需要比raid0陣列多分析一個校驗塊的位置和方向。也就是說raid5陣列分析有3個因素,分別是硬盤排列順序、每個數據塊所占的扇區數、陣列中每個數據塊的大小。
··以上圖中的raid5陣列為例,假設該raid5陣列的數據塊大小為32個扇區,盤序如圖所示,那麽在提取數據時只需要按照從1~4的順序分別提取0~31扇區的信息(硬盤4中0~31扇區的信息為校驗塊,跳過不取),然後再返回到硬盤1中提取32~63扇區信息,以此類推,即可把所有提取出來的數據組成一個完整的raid5陣列鏡像文件。

Raid磁盤陣列數據恢復原理