Raid
恢復 RAID:怎麼了?
我必須用 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。