Linux

恢復 Linux RAID 0 超級塊

  • September 13, 2010

因此,我收到了這 2 個驅動器,它們是 NAS 中 RAID0(eek!)陣列的一部分。其中一個驅動器發生故障。原來,驅動器有一個壞的控制器卡。我所做的是將資訊從好驅動器複製到另一個好驅動器(dd if=/dev/sda of=/dev/sdb),然後將控制器卡交換到壞驅動器。壞驅動器現在旋轉起來,我可以看到上面的位。

我正在嘗試重建陣列,但它失敗了。出於某種原因,兩個驅動器上都沒有超級塊資訊。我不確定為什麼會這樣。驅動器來自 Iomega Storcenter,因此創建陣列可能做了一些奇怪的事情。我試過像這樣重建數組:

mdadm –assemble –scan

和這個:

mdadm –create /dev/md0 –assume-clean –raid-level=0 –raid-devices=2 /dev/sda4 /dev/sdb4

第二個創建RAID,我可以在使用十六進制編輯器讀取某些數據時挑選出某些數據,但文件系統仍然無法掛載。

有人對我接下來應該嘗試什麼有什麼建議嗎?

您是否嘗試通過明確指定所有(或盡可能多的)參數來組裝驅動器?

我會嘗試 mdadm –assemble /dev/md0 /dev/sda4 /dev/sdb4 - 如果這不起作用,請指定級別和塊大小,或者嘗試使用 uuid 而不是組件。

您也可以嘗試 mdadm -E /dev/sda4 和 /dev/sdb4 ,看看還有多少資訊。

我認為 create assume-clean 僅適用於非常特定的情況。請使用原始圖像嘗試上述操作(無需創建)

在做任何其他事情之前,我會使用 dd 將壞驅動器複製到新驅動器。

壞驅動器可能存在機械或電子問題,而您使用的實用程序並非旨在應對這些問題。我看到的大多數驅動器故障都是快速而劇烈的硬體/電子故障,所以我立即拉壞驅動器並將數據複製到新驅動器,然後再做任何其他事情。您執行有缺陷的驅動器的每一分鐘都會增加您在不進行耗時的驅動器手術的情況下無法恢復數據的機會。在 dmesg 或 /var/log/kernel 中尋找線索。

引用自:https://serverfault.com/questions/176124