服務器RAID5數據恢複環境:
存儲中12塊SCSI硬盤組建RAID5,其中1塊熱備盤;
FreeBSD操作系統,zfs文件系統。
服務器RAID5故障:
第6塊數據硬盤出現故障。
服務器RAID5數據恢複過程:
一、分析服務器RAID5。
1、初步判斷RAID5起始扇區。
RAID起始扇區是指RAID内的數據在每塊物理盤(創建RAID所用的每塊獨立的物理硬盤)上的起始位置。起始扇區隻存在于一塊物理盤,大多數情況是0扇區。找到起始扇區恢複raid5的第一步。
用WinHex将11塊沒有問題的硬盤去RAID化。
北亞數據恢複——RAID5數據恢複
用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号盤。
北亞數據恢複——RAID5數據恢複
4、校驗方向。
RAID5的基本結構有左同步、左異步、右同步、右異步。左和右是對校驗方向來說的,區别如下圖所示。本案例中的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”入手。
北亞數據恢複——RAID5數據恢複
首先查看“數據塊A”末尾扇區的數據,然後再查看“數據塊B”和“數據塊C”開始扇區的數據。如果“數據塊A” 末尾扇區的數據能夠與“數據塊B” 開始扇區的數據銜接,則該RAID5屬于異步結構。如果“數據塊A” 末尾扇區的數據能夠與“數據塊C” 開始扇區的數據銜接,則該RAID5屬于同步結構。
3.從“數據塊A”入手。
北亞數據恢複——RAID5數據恢複
首先查看“數據塊A”末尾扇區的數據,然後再查看“數據塊B”和“數據塊C”開始扇區的數據。如果“數據塊A” 末尾扇區的數據能夠與“數據塊B” 開始扇區的數據銜接,則該RAID5屬于同步結構。如果“數據塊A” 末尾扇區的數據能夠與“數據塊C” 開始扇區的數據銜接,則該RAID5屬于異步結構。
4.從“數據塊A”入手。
北亞數據恢複——RAID5數據恢複
首先查看“數據塊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。
北亞數據恢複——RAID5數據恢複
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!