如何检测硬盘故障

如何检测硬盘故障

我的 CentOS 6.2 中有一个软件 RAID 1 设置,并且设置为可在任意一个 HDD 中启动,以防其中一个出现故障。

问题:

  1. 如何识别其中一个硬盘是否发生故障?或者 CentOS 上出现故障的早期迹象?(预防性维护)
  2. 如果其中一个磁盘发生故障,该怎么办?就像任何数据恢复方法。 (纠正性维护)或(如何复制剩余 HDD 中的数据并将其复制到新 HDD)

如果您能给我提供任何参考资料,我将非常感激。

更新:

我尝试只在其中一个磁盘上启动。我先移除了 sdb,系统成功在 sda 上启动。然后我移除了 sda,在 sdb 上启动,仍然成功启动。但是当我将它们重新组合在一起并执行 cat /proc/mdstat & mdadm -D /dev/md0 时,它显示其中一个磁盘仍然被移除。

答案1

  1. 如果你很幸运(并且启用了守护进程),你将获得聪明的在磁盘发生故障之前,日志中会显示警告。但是,这并不能保证。根据我的经验,在不到 50% 的情况下,磁盘发生故障之前会出现 SMART 错误。请确保有某种东西在监控日志。
  2. 磁盘故障后,您更换磁盘并重建。 RAID 系统应该会从中恢复。 只是希望重建时不会再出现磁盘错误...

我强烈建议制定良好的备份策略,而不是计划数据恢复。Raid 非常适合提高服务器的正常运行时间,但只要有一个小小的软件错误,您的所有数据就会消失。

答案2

1 Centos 中的软件 raid?所以,这一定是 mdraid。您可以像这样查看 raid 状态:cat /proc/mdstat 或:mdadm --detail /dev/md[0-9],您可以通过 fstab、mount、pvs 或其他地方找到正在使用的 md。如果发生某些事件,toy 还可以在 /etc/mdadm.conf 中设置 MAILADDR 以通过电子邮件通知。

2 只需通过 mdadm --manage /dev/md[0-9] --remove /dev/sd[az] 删除故障磁盘,替换它并将新磁盘添加到 raid 阵列(mdadm --re-add, add)

此外,您可能还需要恢复故障磁盘的 mbr 以使其也可以启动。

相关内容