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 重建陣列。

更新

我今天開始備份驅動器。將 md0 安裝為只讀後,我執行rsync到另一台伺服器。現在好奇的事情。一周前,我將一些目錄移至其他陣列。rsyns已顯示有關這些已刪除目錄的以下資訊:

file has vanished: "/MD0/Data/_NMR_"

也許它會幫助某人。

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

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://unix.stackexchange.com/questions/80449