文档首页> 技术教程> 磁盘 SMART 健康检查

磁盘 SMART 健康检查

发布时间:2026-09-02 18:23        更新时间:2026-09-02 20:58
硬盘坏之前大多有迹可循,SMART(Self-Monitoring, Analysis and Reporting Technology,磁盘自监测技术)数据就是它的体检单,盘体固件持续记录坏道、重映射和错误计数,操作系统只负责读取,在线查询不用停机,查一次只要几秒钟,是巡检里性价比最高的一项。 准备:安装 smartmontools(yum install smartmontools 或 apt install smartmontools),lsblk 确认盘符;部分 SATA 盘走 USB 或阵列卡时需要指定协议,比如 smartctl -d sat -a /dev/sda。 一、先看总体结论 smartctl -H /dev/sda,输出 PASSED 只代表没到厂商判定线,不代表健康无虞,还要往下看明细。SMART 状态由各品牌自己的阈值判定,标准不一,别只信一个 PASSED。新盘首次读取的记录值得存档,日后对比就看它。刚上电不久的盘,自检数据可能还没生成,先跑一轮短测再看。 二、哪几个字段要警惕 smartctl -A /dev/sda 列出属性表,重点四个:Reallocated_Sector_Ct,重映射扇区数,持续增长说明盘面在坏,准备换盘;Current_Pending_Sector,待定扇区,非零就要警惕,随时可能转成重映射;Reallocated_Event_Count,重映射事件,与前者互相印证;UDMA_CRC_Error_Count,CRC 错误,多指向线缆或接口接触不良,重插线再看。重点看趋势而不是静态值:数值偏高不可怕,持续增长才要命。读取错误率这类厂商私有算法的字段参考意义有限,别被吓到。SSD 额外看 Wear_Leveling_Count(磨损度)与温度。 三、做成定期任务 smartctl -t short /dev/sda 发起短测,几分钟后 smartctl -l selftest 看结果;短测期间盘有轻微性能损耗,避开业务高峰执行,多盘机器写个循环,一块盘都不漏。cron 里每周跑一次 smartctl -H 并把输出追加到日志文件,变化趋势比单次读数有用,读数突然清零要怀疑盘被动过,与资产记录核对。监控平台能收 SMART 指标的,把重映射数也加进告警。 云主机的适用性:云盘在宿主机后面,用户通常看不到物理盘的 SMART,磁盘健康由云平台负责。云盘 IO 异常抖动时,直接提工单让平台侧检查底层,不必自己瞎测。物理机用户则建议每月自查一次,双管齐下。