mdadm:陣列故障,如何盡可能恢復?

mdadm:陣列故障,如何盡可能恢復?

我的 PC 中有 4 個磁碟的 RAID5。在此之前,他們所有人(以及 RAID 本身)都是健康的。

我嘗試安裝 Windows 8.1,它會自動建立此“SystemReserved”分割區。安裝程式在不詢問使用者的情況下決定將該分割區放置在其中一個 RAID 裝置上。 (連吐槽都不敢開始了…)

所以我堅持使用:3 個 RAID 設備,這完全沒問題。 (據我認為,理論上是有道理的) 1 個 RAID 設備,有一個分區表和一個 350MB 的 NTF 分區。

我所做的是:將所述磁碟設定為“故障”

   mdadm -f /dev/md0 /dev/sdc

刪除了所述raid磁碟

   mdadm -r /dev/md0 /dev/sdc

然後我嘗試在 gparted 的幫助下刪除分割區,使其恢復到“未使用的空間”,因為我在這些磁碟上沒有分割區。乍看之下看起來不錯。

刪除了超級塊,使其看起來像一個新驅動器

    mdadm --zero-superblock /dev/sdc

然後我將磁碟重新新增到 RAID 中

    mdadm --manage -a /dev/md0 /dev/sdc

檢查 /proc/mdstat 似乎一切都恢復正常並且正在同步 sdc。

但是當嘗試安裝時我得到:

    mount: Stale NFS file handle

dmseg 告訴我:

    EXT3-fs (md0): error: get root inode failed

現在我再次啟動 gparted,結果很奇怪:sdc 仍然有這個 350MB 的分割區。另外,當我查找 md0-RAID gparted 有一個分割區時:/dev/md0p1(未知檔案系統,350MB)

其餘的被標記為未分配。

上面有非常珍貴的資料(童年的個人資料之類的),我很高興不遺失這些資料。所以你可能會明白,我目前不敢自己做任何事情...我現在將 sdc 再次設定為故障,所以至少我仍然可以將大部分資料保留在 3 台設備上...

我的問題:你知道為什麼 md0 現在有一個分割區嗎?這不應該發生吧?因為那隻是在 sdc 上,而不是在整個 raid 上,而且 Windows 無法看到 RAID,只能看到單一裝置。第二個問題:我該如何解決這個問題?我的意思是關於如何繼續將損失降到最低的任何想法?

如果您需要任何日誌或更多信息,請詢問!已經非常感謝了!

編輯:/proc/mdstat 的輸出:

 Personalities : [raid6] [raid5] [raid4] 
 md0 : active raid5 sdd[1] sdc[4](F) sde[3] sdf[2]
  4395415488 blocks level 5, 64k chunk, algorithm 2 [4/3] [_UUU]

 unused devices: <none>

相關內容