Linux

軟體 RAID 1 故障

  • September 15, 2018

我在 CentOS 6.9 上有一個軟體 RAID 1 設置,帶有兩個 HDD(SDA 和 SDB)。SDB 的智能自檢本週開始拋出錯誤:

Device: /dev/sdb [SAT], Self-Test Log error count increased from 0 to 1

因此,今天早上我使用 mdadm 將其設置為失敗狀態並刪除了 SDB 並插入了一個新的 HDD。我執行的命令是:

smartctl --all /dev/sdb
cat /proc/mdstat 
mdadm --manage /dev/md1 --fail /dev/sdb1
mdadm --manage /dev/md1 --remove /dev/sdb1
mdadm --manage /dev/md5 --fail /dev/sdb5
mdadm --manage /dev/md5 --remove /dev/sdb5
mdadm --manage /dev/md3 --fail /dev/sdb3
mdadm --manage /dev/md3 --remove /dev/sdb3
mdadm --manage /dev/md2 --fail /dev/sdb2
mdadm --manage /dev/md2 --remove /dev/sdb2
cat /proc/mdstat 
shutdown -h now

top 命令允許我查看 HDD 序列號,以確保我提取了正確的驅動器。

在伺服器 BIOS 中放入新驅動器後,只需給我一個錯誤(沿線)安裝正確的引導設備並重新啟動機器。

我的假設是(不知何故)我錯誤地只有 SDB 上的 MBR(只是猜測)。因此,它不會在刪除 SDB 的情況下啟動。我嘗試將 SDB 放回機器中,它只是點擊(當然)並給了我安裝正確引導設備並重新啟動的相同錯誤。

任何人都可以就如何啟動這台機器提出任何建議,以便我可以恢復我的所有數據?SDA應該仍然是一個好的硬碟。此外,如果有辦法從 SDA 啟動,那麼我應該能夠安裝新的 SDB 並允許軟體 RAID 同步。

更新

感謝 RalfFriedl,我讓伺服器從 LiveCD 啟動。

我用過:

sfdisk -d /dev/sda | sfdisk --force /dev/sdb

像 SDA 一樣對新的 SDB 進行分區。

謝謝!

確保兩個驅動器都可以在它們仍然工作時啟動是個好主意。不幸的是,許多安裝人員並沒有做到這一點。

由於您的其他磁槃無法啟動,因此您需要一張 live 或救援 CD。如果你有適當的基礎設施,你也可以從網路啟動。救援系統執行後,在新驅動器上創建與舊驅動器匹配的分區表,並將分區添加到 RAID。如果您有時間,請等待陣列同步。否則從您的引導分區開始。dev現在在, procand , chroot上執行綁定掛載sys到您的根分區並重新安裝引導載入程序。

這就是我在這種情況下使用的

mount /dev/md/root /mnt
for i in /dev /proc /sys; do mount --bind $i /mnt$i; done
chroot /mnt

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