Linux 软 RAID6 如何识别最后一个故障驱动器

Linux 软 RAID6 如何识别最后一个故障驱动器

我有一个被忽视的 RAID6 阵列,第三个驱动器刚刚出现故障。我想对最后一个出现故障的驱动器执行 ddrescue 以尝试恢复 RAID,但我不知道如何识别是哪个驱动器。更糟糕的是,我使用的是带 JBOD 的 3ware RAID 卡,因此尝试识别哪个驱动器映射到哪个 /dev/sdX 设备是有问题的。更复杂的是,当我使用替换磁盘重新启动时,所有设备字母都发生了变化……

所有三个故障磁盘对操作系统都是可见的,并且被分区为“Linux raid autodetect”。上面的文件系统是 XFS。有没有办法查询磁盘以查看上次写入的时间?

故障发生的时间已经很久了,/var/log/messages* 中没有相关记录

答案1

在很多情况下这可能不起作用,但是却救了我一次。

假设所有磁盘仍然响应 SMART 查询。

有一个 SMART 属性可能提示上次发生故障的磁盘是什么:9 Power_On_Hours

智能日志也可能提供有用的信息:

# smartctl -l error /dev/sda

故障磁盘的一些示例输出:

Error 47 occurred at disk power-on lifetime: 4600 hours (191 days + 16 hours)

当然,你能做的最好的事情就是做出有根据的猜测。

假设磁盘 A 的通电时间为 5000 小时,磁盘 B 的通电时间为 7000 小时。A 上报告的最后一次错误是 4600 小时,B 上报告的最后一次错误是 5000 小时。那么有可能A 是两个中最后一个失败的。

无论哪种方式,我都会首先对所有磁盘进行映像处理,然后才开始尝试收集更多信息或尝试恢复。

相关内容