我在 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 在指定时间进行完整的驱动测试。