Linux

重新啟動失敗的 mdadm RAID5 陣列的過程是什麼?

  • September 1, 2010

我有一個用 mdadm 管理的三磁碟 RAID5 陣列,上面有一個 XFS 文件系統。當我使用機器時,我注意到機器突然變得沒有響應(新程序無法啟動等),但它仍然足以讓我打開一個新的 xterm 並執行 dmesg。核心日誌顯示大量 SATA 連結超時。重新啟動機器後,BIOS 未報告其中兩個驅動器(陣列中的一個驅動器和一個 DVD 驅動器)。問題出在 DVD 驅動器上(我已經有一段時間遇到問題了),斷開它後硬碟驅動器再次可見。查看有smartctl問題的磁碟 ( /dev/sdc) 似乎很好,所以我認為這不是磁碟故障。

問題是我不知道如何重新啟動我的陣列。查看分區/dev/sda3/dev/sdb3(沒有失敗的)使用mdadm --examine表明他們當然都認為這/dev/sdc3是壞的/已刪除,而/dev/sdc3認為它很好。更糟糕的是,正在主動寫入數組,因此事件計數不同,sda3 和 sdb3 具有更高的值。(我完全願意丟棄新寫入的數據,但我認為這無關緊要)。

恢復的最佳行動方案是什麼?執行mdadm -A /dev/md2什麼也不做,mdadm --auto-detect也不會檢測到數組。

$ sudo mdadm --query  /dev/md2
/dev/md2: is an md device which is not active
$ sudo mdadm --query  /dev/sda3
/dev/sda3: device 0 in 3 device undetected raid5 /dev/md2.  Use mdadm --examine for more detail.

但是,執行mdadm --examine --scan -c none確實會使用正確的 UUID 列印數組,因此很明顯它正在找到它。這是 的相關部分/proc/mdstat,將所有驅動器顯示為備用:

md2 : inactive sda3[0](S) sdc3[2](S) sdb3[1](S)
     811868544 blocks

我很奇怪 RAID5 中的單個驅動器故障顯然導致我的陣列無法訪問。:(

這裡最好的做法是什麼?

如果您在 /proc/mdstat 中看到該數組,則該數組已組裝;你需要啟動它:

sudo mdadm -R /dev/md2

-v如果它沒有啟動,請嘗試使用開關(詳細)重新執行命令並發布結果。

啟動後,您應該能夠檢查其狀態並在需要時重新添加 sdc3。

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