这是愚蠢的,这发生在以前,我想出了如何解决它,这很好.
我在Ubuntu 7.10服务器上的RAID-5中运行4个500GB SATA驱动器.其中一个磁盘发生故障(实际上我认为它是热插拔笼中的一个连接器),当我找到替换硬盘或进一步诊断问题时,它已经运行了三个磁盘.
现在,在你进一步阅读之前,不,我没有备份,信息不是非常重要,只是很高兴.
无论如何,之前我有过某种硬件打嗝,可能是电源耗尽或者什么,我在恢复阵列时遇到了问题.并不是其中一个磁盘发生故障,而是其他原因.
我能够简单地添加回第二个“失败”的磁盘,几分钟后,我就恢复运行了.也许我不得不运行某种文件系统检查,我不知道.
我花了几个小时,如果不是几天,最后一次弄清楚如何去做,然后忘记了.
问题的关键在于,如果我在sdb,sdc和sdd上运行mdadm –examine,sdd认为它仍然是数组的一部分,但是在sdb和sdc的超级块信息上,它将sdd列为已删除.
sda是很久以前失败的磁盘,它在所有磁盘中都被正确列出,因为它们被删除了.
TIA.有问题的服务器不在因特网上,所以不可能将各种命令的输出C& P输出到论坛上.
我知道,现在很多人可能认为我是个傻瓜,或者更糟.但是我确实记得,一旦我弄清楚要运行的一系列命令,这是一个相当简单的程序,它工作得很好.
解决方法
如果驱动器实际上没有发生故障但是暂时不可用或由于某些其他原因已经不同步,您可以尝试在线强制raid忽略每个成员的更改编号/时间戳.
通过这样做,您可能会损坏数据,特别是如果您不知道哪个驱动器最后脱机 – 但听起来您没有多少选择.
阅读mdadm手册页中使用–force选项的各种方法.
如果其中一个驱动器实际发生故障而另一个驱动器实际上不同步,您仍然可以使raid在线提供“缺失”作为故障驱动器的设备ID,并与–force选项结合使用.这应该开始raid降级.