Raid

恢復 RAID:怎麼了?

  • December 19, 2016

我必須用 linux 恢復我的 md0 RAID 軟體。

今天我買了4個磁碟,都是新的,都是一樣的類型和大小。

我已經使用以下方法刪除了舊磁碟:

mdadm /dev/md0 --fail /dev/sdd2
mdadm /dev/md0 --remove /dev/sdd2

用新的改變:

mdadm /dev/md0 --add /dev/sdd2

等待重建,它可以工作

磁碟 n°3 (sdc2) 也是如此

在 sdb2 更改上,RAID 開始出現很多錯誤,“扇區讀取失敗等”但不是在 sdb2 上,而是在 sdc2 上重建 sdb2 時!然後系統將我的 ext4 RAID 置於 R/O 模式。

所以我在單使用者模式下重新啟動(slackware 可以從 initrd)並嘗試重建,當然是在刪除 sdc2(故障磁碟)和 sdb2(不完整的重新同步)之前。

我把舊的 sdb2 盤放上去嘗試啟動;陣列失敗。試圖將 sdb2 添加到數組中;它失敗了,並告訴我停下來重新組裝。

我做了

mdadm --stop /dev/md0 
mdadm /dev/md0 --assemble /dev/sda2 /dev/sdb2 /dev/sdd2

我想從 3 個磁碟開始,然後添加 sdc2 並完成陣列。但考慮到 sda2 和 sdd 沒問題,但將 sdb2 標記為..已刪除。如何讀取 sdb2 並重建我的陣列?

找到解決方案,舊的 sdb2 被標記為有故障,因此唯一的解決方案是/是:

從 livecd 或 initrd 啟動,然後執行以下操作:

mdadm /dev/md0 --stop 
mdadm /dev/md0 --assemble --force /dev/sda2 /dev/sdb2 /dev/sdc2 /dev/sdd2

這將添加除“故障”驅動器之外的所有磁碟,但將啟動 md0

然後我們將添加缺少的驅動器:

mdadm /dev/md0 --add /dev/sdb2

此時陣列正在重建,系統現在可以正常工作。

警告:在這個“程序”之後,我失去了我的 lvm,因為 lvm 不再辨識 md0,pvscan 給出錯誤(id 更改或其他)所以最好的解決方案是..backup。

引用自:https://unix.stackexchange.com/questions/322210