问题场景还原
最近遇到一个典型的企业级存储问题:两台4TB Red Pro硬盘在Synology NAS中运行多年后,系统报告其中一个硬盘出现SMART故障预警。虽然硬盘在Linux系统下仍能正常读写,但作为存储管理员必须准确识别故障盘。
SMART检测实战
使用smartctl工具进行深度检测:
# 查看基本信息
sudo smartctl -i /dev/sdX
# 完整健康检查
sudo smartctl -H /dev/sdX
# 查看所有SMART属性
sudo smartctl -A /dev/sdX
关键故障指标解读
需要特别关注的参数:
- Reallocated_Sector_Ct (重映射扇区计数)
- Current_Pending_Sector (待映射扇区数)
- UDMA_CRC_Error_Count (传输校验错误)
自动化检测脚本
编写定期检测脚本:
#!/bin/bash
DISKS=$(ls /dev/sd? | grep -v '[0-9]')
for disk in $DISKS; do
echo "Checking $disk ..."
smartctl -H $disk | grep "FAILED" &> /dev/null
if [ $? == 0 ]; then
echo "ALERT: $disk is failing!"
smartctl -A $disk | egrep "Reallocated|Pending|CRC"
fi
done
Synology特有处理
针对群晖系统的特殊处理:
# 查看Synology日志定位故障盘
cat /var/log/diskprediction.log | grep "SMART"
# 强制完整检测(耗时较长)
sudo smartctl -t long /dev/sdX
企业级解决方案
对于关键业务系统建议:
- 配置每日自动SMART检测
- 设置邮件报警阈值
- 保留完整的检测日志
深度修复方案
当发现故障征兆时:
# 安全擦除准备返修
sudo hdparm --user-master u --security-erase-enhanced pass /dev/sdX
# 低级格式化(慎用)
sudo badblocks -wsv /dev/sdX