SMART 自测是什么
smartctl 可以命令盘自己执行检测:短测检查电子部件与关键区域,几分钟内完成;长测做全盘扫描,机械盘上通常要数小时;运输测试则用于检查搬运过程中是否造成损伤。自测由盘固件执行,不依赖主机 IO,因此可以在盘仍在线时进行,但长测会占用盘的处理能力并增加负载。
基本信息
| 启动与查看 | smartctl -t short|-t long|-t conveyance,结果用 -l selftest 查看 |
|---|---|
| 中止 | smartctl -X 中止正在执行的自测 |
| 短测耗时 | 通常一到两分钟,检查关键区段 |
| 长测耗时 | 全盘读扫描,机械盘按容量可能需要数小时 |
| 注意 | RAID 成员盘上执行会增加阵列负载,安排在低峰期 |
启动与查看
启动与查看
smartctl -t short /dev/sdb # 启动短测
smartctl -t long /dev/sdb # 启动长测
smartctl -l selftest /dev/sdb # 查看自测结果与历史
smartctl -X /dev/sdb # 需要时中止自测
smartctl -t long -d megaraid,4 /dev/sda # RAID 卡后对指定盘执行自测类型对照
| 类型 | 覆盖范围 | 适用时机 |
|---|---|---|
| 短测 | 电子部件与盘面关键区段 | 日常抽检与告警后的快速确认 |
| 长测 | 全盘读取扫描 | 上架验收、维护窗口与深度排查 |
| 运输测试 | 检查搬运震动造成的损伤 | 到货验收时执行 |
典型使用场景
- 新盘验收:到货后执行一轮长测,提前暴露出厂缺陷
- 告警复核:属性异常时用自测确认是否伴随实际读取失败
- 换盘前评估:判断待换盘能否在迁移期间稳定读出数据
- 定期抽检:对关键业务阵列的成员盘按周期抽样自测
- 故障取证:把自测结果与属性输出一起归档
对新盘做一轮长测(老化测试)可提前暴露制造缺陷,是上架验收的常见步骤,代价是需要提前规划时间窗口。
不要在业务高峰对阵列成员盘执行长测:全盘扫描会占用带宽并抬高延迟,用户侧的体验下降往往被误判为业务自身问题。
常见疑问
- 自测失败一定要换盘吗:结合属性趋势与错误日志判断,单项失败先复核
- 能否同时跑多块盘:不建议,IO 与处理能力竞争会影响结果与业务
- 结果保存多久:自测日志容量有限,重要结果应导出留档