重新啟動失敗的 mdadm RAID5 陣列的過程是什麼?
我有一個用 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。