我有一个由 mdadm 管理的三磁盘 RAID5 阵列,上面有一个 XFS 文件系统。在使用机器时,我注意到机器突然变得没有响应(新程序无法启动等),但它仍然可以让我打开一个新的 xterm 并运行 dmesg。内核日志显示大量 SATA 链接超时。重新启动机器后,BIOS 未报告两个驱动器(阵列中的一个驱动器以及一个 DVD 驱动器)。问题原来是 DVD 驱动器(我使用它已经有一段时间了),断开连接后硬盘驱动器再次可见。查看smartctl
有问题的磁盘(/dev/sdc
)似乎没有问题,所以我不认为这是磁盘故障。
问题是我不知道如何重新激活我的阵列。查看分区/dev/sda3
和/dev/sdb3
(未失败的分区)mdadm --examine
显示它们当然都认为那/dev/sdc3
是坏的/被删除的,而/dev/sdc3
认为它没问题。更糟糕的是,该阵列正在被主动写入,因此事件计数不同,sda3 和 sdb3 的值更高。(我完全愿意丢弃新写入的数据,但我认为这无关紧要)。
恢复的最佳操作方案是什么?运行mdadm -A /dev/md2
不执行任何操作,并且mdadm --auto-detect
不检测阵列。
$ sudo mdadm --query /dev/md2
/dev/md2: is an md device which is not active
$ sudo mdadm --query /dev/sda3
/dev/sda3: device 0 in 3 device undetected raid5 /dev/md2. Use mdadm --examine for more detail.
但是,运行确实mdadm --examine --scan -c none
会打印出具有正确 UUID 的阵列,因此显然它找到了它。以下是 的相关部分/proc/mdstat
,显示所有驱动器均为备用驱动器:
md2 : inactive sda3[0](S) sdc3[2](S) sdb3[1](S)
811868544 blocks
我觉得很奇怪,RAID5 中的一个驱动器故障竟然导致我的阵列无法访问。:(
这里最好的行动方案是什么?
答案1
如果您在 /proc/mdstat 中看到该阵列,则表明该阵列已组装;您需要启动它:
sudo mdadm -R /dev/md2
如果它没有启动,请尝试使用开关(详细)重新运行该命令-v
并发布结果。
一旦激活,您应该能够检查其状态并在需要时重新添加 sdc3。