如何检查 RAID 阵列中各个硬盘的健康状况?

如何检查 RAID 阵列中各个硬盘的健康状况?

我在 Ubuntu Server 10.10 上使用 mdadm 运行一个简单的 1 TB RAID 1 阵列。我想简单地检查每个硬盘的状态,以确保它们都能正常工作,以免为时已晚。我该如何轻松做到这一点?

答案1

通常,您需要的是一个名为 smartmontools 的包。它可以查询磁盘上的 SMART 接口,该接口存在于大多数现代磁盘中。

有一个名为 smartd 的守护进程可以帮助您进行持续监控。

但是,如果你的系统是家庭服务器,手动检查通常更好。如下所示:

smartctl -a /dev/sda

大量的数据涌现出来。最让我感兴趣的是以下内容:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE

  1 Raw_Read_Error_Rate     0x000f   100   100   051    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   100   100   051    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   097   097   000    Old_age   Always       -       13946
 13 Read_Soft_Error_Rate    0x000e   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   075   066   000    Old_age   Always       -       25
194 Temperature_Celsius     0x0022   075   064   000    Old_age   Always       -       25
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
199 UDMA_CRC_Error_Count    0x003e   100   100   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x000a   100   100   000    Old_age   Always       -       0
201 Soft_Read_Error_Rate    0x000a   100   100   000    Old_age   Always       -       0

这为您提供了一种主观衡量驱动器健康状况的方法。当错误率开始上升时,是时候寻找替代品了。此外,您还可以检查它们是否运行得不太热。

答案2

类似“mdadm --query --detail /dev/md0”这样的命令应该可以工作,但是当驱动器实际发生故障时,根将收到一封电子邮件(这是 Centos 上的标准配置,我相信其他发行版也是如此)。只需通过失败检查该通知(例如:mdadm --manage /dev/md0 --fail /dev/sda1),您就可以 100% 确定。

答案3

您将要安装 smartd 并查看它的配置选项。

对我来说,我专门监控我的 RAID 磁盘:

/dev/sda -a
/dev/sdb -a
/dev/sdc -a

这使我能够根据自己的需要进行驱动器监控。

您还可以设置 smartd 在指定时间进行完整的驱动测试。

相关内容