Mdadm

重組 RAID-5 後文件失去

  • July 6, 2013

週日我不得不打開文件伺服器的外殼來更換有故障的風扇。我沒有看到的是其中一根 sata 電纜沒有正確連接。重啟後我做的第一件事是檢查 RAID 狀態,它立即顯示缺少一個驅動器。到目前為止,該設備尚未使用(但是它已安裝,所以我不能 100% 確定係統什麼也沒做)。我停止 md0 並重新插入電纜:

mdadm --stop /dev/md0
poweroff

再次重新啟動後,我檢查了刪除的驅動器:

mdadm --examine /dev/sdd1
...
      Checksum : 3276bc1d - correct
        Events : 315782

        Layout : left-symmetric
    Chunk Size : 32K

     Number   Major   Minor   RaidDevice State
this     0       8       49        0      active sync   /dev/sdd1

  0     0       8       49        0      active sync   /dev/sdd1
  1     1       8       65        1      active sync   /dev/sde1
  2     2       8       33        2      active sync   /dev/sdc1
  3     3       8       17        3      active sync   /dev/sdb1

我有點驚訝它被顯示為活動的(即使之前 mdadm 說過,這個設備已從陣列中刪除)並且它的校驗和是好的。我重新創建了 RAID:

mdadm --assemble /dev/md0 --scan

該命令mdadm --detail /dev/md0顯示所有驅動器都在執行並且系統處於“乾淨”狀態。我安裝了設備 md0,然後就打嗝了。我想處理在所有情況之前我一直在使用的最後一個文件之一,但它不存在。在另一個地方,我實際上錯過了我工作目錄中的所有文件。據我所知,大多數超過幾天的文件都完好無損,但一些較新的文件失去了。

現在有個大問題:你有什麼建議?有沒有辦法獲取這些數據?我考慮移除之前由 mdadm 標記的驅動器並使用另一個空 HDD 重建陣列。

我發現重新組裝後,“損壞的”驅動器位於 RAID 中的另一個位置(在它被列在第 3 位之前,然後在第 4 位)。這會對重建過程產生影響嗎?如果是,如何正確重組陣列?我確定 SATA 電纜仍以相同的順序連接到控制器。

ps 請不要建議像“從備份中恢復”。我在周日晚上做備份,這發生在下午晚些時候,所以備份對我來說不是真正的選擇。

pss 我在 Unix&Linux 上問過這個問題,但最近兩天沒有答案。我越來越焦慮了。如果你們中的任何人正在閱讀其他論壇,抱歉重複。

也許它會幫助某人。

我之前沒有寫過,但所有四個分區的事件數相同

mdadm --examine /dev/sd[a-z]1 | egrep 'Event|/dev/sd`'
mdadm: No md superblock detected on /dev/sda1.
        Events : 315786
        Events : 315786
        Events : 315784
        Events : 315786

儘管如此,經過一番閱讀,我還是決定刪除“失敗”的驅動器並重新組裝我的 md0 設備。

mdadm --manage --set-faulty /dev/md0 /dev/sdd1
mdadm /dev/md1 --stop
mdadm --assemble /dev/md0 /dev/sd[bce]1 --force 
mdadm --manage /dev/md0 --add /dev/sdd1

請不要問我為什麼它有效。對我來說重要的部分是我找回了所有文件(文件分配表顯示了目錄的正確內容。所有失去的文件都在那裡。

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