删除Raid1中的死HD

我在debian,raid1,其中一个驱动器似乎已经死了。

root@rescue ~ # cat /proc/mdstat Personalities : [raid1] md1 : active raid1 sda2[0] 486279424 blocks [2/1] [U_] md0 : active raid1 sda1[0] sdb1[1] 2104448 blocks [2/2] [UU] unused devices: <none> root@rescue ~ # 

是否有可能只使用健康硬盘? 我需要移除突袭吗? 如果是的话,怎么样? 谢谢!

它看起来像/ dev / sdb并没有完全死亡,但可能有一些间歇性故障或一些坏块。 您可能会失败并使用当前有问题的磁盘将该分区重新添加到镜像中。

这里是如何:

 mdadm --remove /dev/md1 /dev/sdb2 

(它可能会抱怨/ dev / sdb2没有附加,这很好)

 mdadm --add /dev/md1 /dev/sdb2 

然后做一个:

cat / proc / mdstat

你可以看到它重build,包括估计它将要花费的时间。

看看是否有效。 如果没有(/ dev / sdb2确实损坏),则需要在所有镜像上使驱动器发生故障,删除sdb,添加相同大小的驱动器,对新驱动器进行分区,然后将分区添加回镜像。 如果您不确定哪个驱动器是sdb,请尝试以下操作:

 dd if=/dev/sdb of=/dev/null count=40000 

假设您的服务器正面有一个指示灯来指示磁盘活动,那么在上述磁盘转储期间稳定发亮的绿灯将是驱动器sdb。 (或者你可以翻转这个逻辑,并导致sda发绿光,以指示驱动器不能移除)。 在找出哪个磁盘是哪个磁盘之后,随时控制dd命令是安全的。 dd命令只是读取磁盘上的数据stream而忽略它,除非得到if =和of =混合,否则不会在其中写入任何内容。

是的,只能使用健康的驱动器。 那已经发生了。 我怀疑失败的分区是sdb2? 如果您怀疑它不是非常糟糕,您可能需要针对分区/驱动器运行badblocks。

我不知道你是如何configuration引导加载程序,但如果它被正确设置,那么你应该能够拉出故障的驱动器,并将其replace。

如果您不完全确定哪个驱动器是您可以使用类似lshw -class disk的命令,则会显示驱动器的逻辑名称和序列号。 这样你可以拔出正确的驱动器。