服務器RAID5數據恢復環境:
存儲中12塊SCSI硬盤組建RAID5,其中1塊熱備盤;
FreeBSD操作系統,zfs文件系統。
服務器RAID5故障:
第6塊數據硬盤出現故障。
服務器RAID5數據恢復過程:
一、分析服務器RAID5。
1、初步判斷RAID5起始扇區。
RAID起始扇區是指RAID內的數據在每塊物理盤(創建RAID所用的每塊獨立的物理硬盤)上的起始位置。起始扇區只存在于一塊物理盤,大多數情況是0扇區。找到起始扇區恢復raid5的第一步。
用WinHex將11塊沒有問題的硬盤去RAID化。
用WinHex的同步功能將11塊盤定位在0扇區,11塊盤中只有3塊盤(1、2、6號硬盤)的0扇區有“55 AA”標志,這個標志意味著MBR磁盤結構。
北亞數據恢復——RAID5數據恢復
分析哪個硬盤是起始扇區。先看第6塊硬盤發現第6塊硬盤的結尾顯示這是一個GPT頭備份并且只有128MB大小。
北亞數據恢復——RAID5數據恢復
剩下的1號磁盤和2號磁盤中0扇區有起始扇區或校驗。
2、分析塊大小(條帶大小)。
本案例使用的zfs文件系統,用WinHex同步顯示11塊物理盤的某個扇區,比如53654656扇區,發現只有1號盤的此扇區跟其他盤顯示的不一樣,這是位于1號盤的校驗區。順著1號盤53654656扇區上下尋找,找到連續的128個扇區。這128個扇區就是這個RAID5的條帶大小。
3、RAID5成員盤的盤序。
本案例說的1號盤不一定就是RAID5的第一個盤,也就是說物理盤順序并不一定就是是RAID的順序,需要進行人工校驗才能確定。
用WinHex同步定位11塊硬盤的53654656扇區,發現1號盤的此扇區與其他盤顯示的不同,這個扇區是1號盤的校驗區。接著分析1號盤的下一個條帶,即53654656+128=53654784扇區,得出2號盤的這個扇區和其他盤顯示的不同,所以2號盤從53654784扇區開始的條帶是校驗區。以此方式繼續下去,接著是3號盤的校驗區,4號盤的校驗區……得出的校驗區如下圖所示,“P”字母表示校驗區。我們按照校驗區的位置即可得到盤序,而本案例的盤序正好是從1號盤開始依次遞增的。
既然知道了盤序,從第一步分析知道了1號盤和2號盤的0扇區為起始扇區或為校驗區。對于左結構來說,0扇區是起始扇區的物理盤一定是RAID5的1號盤;對于右結構來說,0扇區是起始扇區的物理盤一定是RAID5的2號盤。
4、校驗方向。
RAID5的基本結構有左同步、左異步、右同步、右異步。左和右是對校驗方向來說的,區別如下圖所示。本案例中的RAID5很明顯是右走向的。
從校驗區的走向可以確定整個RAID5的校驗方向是右方向。
左同步、左異步結構中的校驗塊都是從最后一塊物理盤開始;右同步、右異步結構中的校驗塊都是從第一塊物理盤開始。
判斷校驗方向的方法有兩種:一種是先分析起始扇區,再分析條帶大小,然后是盤序,盤序分析后校驗方向很容易就看出來了。另一種是如果盤序沒有確定下來,只確定了起始扇區和條帶大小,可以采用反推法。
使用反推法分析,在盤序還沒有確定下來的情況下,由這個校驗區可以算出某個盤中第一個校驗區是第幾個條帶。具體方法如下:找到某個校驗區,比如3號盤的53654912扇區,用這個扇區對條帶大小與盤數的乘積取余。即
53654912MOD(128*12)=256
計算的結果等于256,表示256號扇區是校驗。而位于此扇區的3號盤處于第3個條帶,并且是第3個條帶的開始扇區,包括256號扇區在內的以后的128個扇區是3號盤的第一個校驗區。
接著判斷1號盤下一個條帶,1號盤下一個條帶顯示3號盤是校驗區。接著判斷3號盤下一個條帶,3號盤下一個條帶顯示3號盤是校驗區。由此可以確定校驗方向。
5、數據走向。
同步異步說的是數據的走向。異步結構中,各條帶組內的數據塊均由低號盤向高號盤依次寫入。同步結構中,每個條帶組內第一個數據塊寫在校驗塊所在物理盤的下一個物理盤,若后面還有物理盤,則順序往后寫,若校驗塊所在物理盤后沒有物理盤,則從校驗塊所在物理盤前面的物理盤開始從低號盤向高號盤順序寫入。
北亞數據恢復——RAID5數據恢復
以下是本案例RAID5的分析過程(已確定此RAID5是右結構)。
1.從“數據塊A”入手。
北亞數據恢復——RAID5數據恢復
首先查看“數據塊A”末尾扇區的數據,然后再查看“數據塊B”和“數據塊C”開始扇區的數據。如果“數據塊A” 末尾扇區的數據能夠與“數據塊B” 開始扇區的數據銜接,則該RAID5屬于異步結構。如果“數據塊A” 末尾扇區的數據能夠與“數據塊C” 開始扇區的數據銜接,則該RAID5屬于同步結構。
2.從“數據塊A”入手。
首先查看“數據塊A”末尾扇區的數據,然后再查看“數據塊B”和“數據塊C”開始扇區的數據。如果“數據塊A” 末尾扇區的數據能夠與“數據塊B” 開始扇區的數據銜接,則該RAID5屬于異步結構。如果“數據塊A” 末尾扇區的數據能夠與“數據塊C” 開始扇區的數據銜接,則該RAID5屬于同步結構。
3.從“數據塊A”入手。
首先查看“數據塊A”末尾扇區的數據,然后再查看“數據塊B”和“數據塊C”開始扇區的數據。如果“數據塊A” 末尾扇區的數據能夠與“數據塊B” 開始扇區的數據銜接,則該RAID5屬于同步結構。如果“數據塊A” 末尾扇區的數據能夠與“數據塊C” 開始扇區的數據銜接,則該RAID5屬于異步結構。
4.從“數據塊A”入手。
首先查看“數據塊A”末尾扇區的數據,然后再查看“數據塊B”和“數據塊C”開始扇區的數據。如果“數據塊A” 末尾扇區的數據能夠與“數據塊B” 開始扇區的數據銜接,則該RAID5屬于異步結構。如果“數據塊A” 末尾扇區的數據能夠與“數據塊C” 開始扇區的數據銜接,則該RAID5屬于同步結構。
二、重組RAID5。
從上面的步驟中我們已經解析出RAID5的一些重要信息,根據這些信息,我們就可以重組RAID5了。
下面我們用UFS Explorer工具打開并添加這11塊硬盤。
北亞數據恢復——RAID5數據恢復
將1.dsk添加到了左側Connected storages里。
北亞數據恢復——RAID5數據恢復把RAID5的10塊盤都添加進去。點擊Build RAID選項,依照RAID5的盤序把10塊盤都添加進去,開始組建RAID5。
北亞數據恢復——RAID5數據恢復第6塊盤因為出現故障,所以要剔除,并在其位置添加時補一個空缺,并繼續順序添加完其它硬盤。點擊標紅框位置處的按鈕,添加空缺硬盤。
北亞數據恢復——RAID5數據恢復接著選擇校驗方向和數據走向,本實例條帶大小為28個扇區,即65KB,右異步結構。因此設置如下所示。
北亞數據恢復——RAID5數據恢復接著點擊Build按鈕,出現如下所示。點擊find查找,選擇zfs文件系統。
北亞數據恢復——RAID5數據恢復出現了如下圖所示的正在組建的RAID5。
-
服務器
+關注
關注
12文章
9124瀏覽量
85332 -
數據恢復
+關注
關注
10文章
568瀏覽量
17432 -
RAID5
+關注
關注
0文章
113瀏覽量
12720
發布評論請先 登錄
相關推薦
評論