Raid磁盤陣列數據恢復原理
- Raid控制器出現故障導致raid失效
- 突然斷電導致raid信息故障
- Raid5一塊硬盤出錯,系統管理員未及時更換硬盤的情況下另一塊硬盤出錯導致raid5失效。
··
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磁盤陣列為例,我們假設數據塊的大小為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磁盤陣列數據恢復原理