我在Ubuntu16.04中有一个带有mdadm的4磁盘RAID5设置。
康体局:好
sdc :8个坏扇区根据SMART,8个待定,4个报告错误
sdd :根据mdadm显示的坏块--检查
sde :很好
我太天真了,以为系统会把磁盘故障通知我。因为根据"mdadm -that /dev/sdd“的最新更新是在11月,我知道这是从RAID中删除它的时候。7个月来,我一直在不知不觉中以降级的方式运行。直到上个周末,它将sdc标记为故障,而我的RAID由于磁盘不足而变得不活跃。
SMART (SMART all -xall)表示,所有磁盘都已通过,但sdc上报告了8个无法纠正的扇区,以及4个不可纠正的错误。所以磁盘是相当健康的。
事件计数在sdd上明显偏离,但在sdc上仅为63次。因此,我强制使用三个磁盘进行组装,并且所有数据都是可访问的。我确信有一些损坏的文件,但这不是一个大的关注,这些数据。
然后我用"mdadm /dev/md0 -a /dev/sdd“添加了第四个磁盘,它开始恢复,但在sdc上遇到了它无法重新分配的坏扇区(我假设是因为它退化了?)美达又把它标记为错误,我又回到了我开始的地方。
我在这里找到了一些关于如何在数组中保存带有坏块的磁盘的很好的说明。https://stephane.lesimple.fr/blog/how-to-securely-keep-a-hard-drive-with-bad-blocks-in-a-raid-array/
然而,我又犯了一个错误。因为我不确定我是否会坚持使用Linux,所以数组是用NTFS格式化的,以防我想要运行Windows。这意味着fsck或调试器这样的fs命令都不起作用。
chkdsk也许能帮上忙,但我需要安装Windows,我不想经历这种痛苦,除非我确信它会起作用。我希望有一种方法可以用现有的Linux实用程序来做到这一点。我有来自kern.log的部门,但奇怪的是,它列出了10个“读取错误不可纠正”的信息,这比SMART报告的8个更多。如果我可以将这些扇区转换成逻辑块,那么我可能会用dd将它们归零。
我已经备份了任何关键的东西,所以我可以买新的驱动器,但是把4TB驱动器扔给一些坏的部门似乎是浪费的。我甚至不知道sdd有什么问题,因为它没有坏的部门。
注意:当RAID在添加第四个磁盘后试图恢复时,kern.log中有数百条“失败命令:读取FPDMA排队”消息--这表明我可能有坏的SATA电缆或电源。我在PSU的失败中占了相当的份额,但如果是这样的话,这将是第一次导致硬盘失败。
发布于 2019-07-09 03:49:11
然而,直到我更换了电源后,才在11月份成功地从带有坏扇区的驱动器复制到了从阵列中禁用的驱动器。在/var/log/kern.log中,我看到数百个写入FDMA队列命令失败,因此从较新的机器中提取了PSU,移植之后,dd救援正常工作。4TB磁盘大约用了10个小时。它报告了总共80 It的15个错误。完成sdd后,sdd看起来就像您所期望的sdc一样,所以我用sdd和sde组装了数组,然后添加了sdd并让它恢复,它没有出错就完成了。事实上,SMART不再报告sdd的任何坏部门。我认为这是因为写入这些扇区会导致扇区被磁盘重新分配。所以一切都很好,只是需要订购一个新的PSU。
https://unix.stackexchange.com/questions/528028
复制相似问题