在我们的服务器之一,其中一个磁盘失败,无需担心这种情况一直发生,我们按照通常的程序replace坏的磁盘,但然后…“恐怖”,添加一个新的磁盘后,其中一个分区无法同步因为现在活动的“好”磁盘包含一些坏块,详细说它是“重build”:
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_]
我find了这个:
更换后RAID 1磁盘被标记为备用
这是现在唯一的/推荐的方式吗?,不可能强制重build忽略坏块,然后更换旧的磁盘? 我应该尝试与e2fsck?
PS当然,一切都是备份的,但是在服务器上设置所有的服务可能是痛苦的。
非常感谢你提前。
如果您的“好”驱动器具有不可恢复的读取错误(URE),并且剩余驱动器中没有冗余,则无法find丢失的数据来重buildRAID。
对不起,但是这是时候(谨慎,如果你有时间在旧驱动器上运行diag)设置新的RAID,然后安装操作系统,然后恢复数据。 为了将来你可能也想考虑备份你的系统状态,这样也可以恢复。
一旦我build议采取未build议的方式来解决这个问题 – 从Live CD(如Acronis True Image Rescue CD)启动,然后使用它来拍摄现有驱动器的图像,并告诉它忽略坏扇区。 然后build立您的RAID并恢复创build的图像。 我不喜欢这个想法,因为Acronis无法重新生成缺失的数据,而且您不知道是否/何时会咬你。
我猜这个问题并没有被除了womble以外的答案充斥,因为这里的大多数用户对那些希望恢复未备份的数据(即你的系统状态)没有同情 – RAID不等于备份。