在我们的一台服务器中,其中一个磁盘出现故障,不用担心,这种事经常发生,我们按照通常的程序更换了坏磁盘,但是......“恐怖的是”,在添加新磁盘后,其中一个分区同步失败,因为现在活动的“好”磁盘包含一些坏块,详细信息中显示“正在重建”:
Number Major Minor RaidDevice State
0 8 3 0 active sync /dev/sda3
2 8 19 1 spare rebuilding /dev/sdb3
但是 /proc/mdstat 的 cat 显示它已完成,但尚未添加。
md2 : active raid1 sdb3[2] sda3[0]
1458830400 blocks [2/1] [U_]
我找到了这个:
这是现在唯一/推荐的处理方式吗?无法强制重建忽略坏块然后替换旧磁盘?我应该尝试使用 e2fsck 吗?
PS 当然所有内容都已备份,但在服务器中设置所有服务可能会很麻烦。
提前非常感谢您。
答案1
如果您的“好”驱动器有不可恢复的读取错误 (URE),并且剩余驱动器中没有冗余,那么就无处可找到丢失的数据来重建 RAID。
抱歉,但现在是时候(谨慎行事,如果有时间,请在旧驱动器上运行诊断程序)设置新 RAID,然后安装操作系统,然后恢复数据。为了将来,您可能还需要考虑备份系统状态,以便也可以恢复。
我能想到的一个不推荐的解决方法是 - 从实时 CD(例如 Acronis True Image Rescue CD)启动,然后使用它获取现有驱动器的映像,告诉它忽略坏扇区。然后构建 RAID 并恢复创建的映像。我不喜欢这个想法,因为 Acronis 无法重新生成丢失的数据,而且你不知道这是否/何时会给你带来麻烦。
我猜除了 womble 之外,这个问题还没有得到大量答案,因为这里的大多数用户对那些希望恢复未备份数据(即您的系统状态)的人没有什么同情心 - RAID 不等于备份。