在我拥有的服务器上,对于HDD或SSD,我有一个cron定期运行:
/usr/sbin/smartctl --test=short/long /dev/sd1(每个磁盘)
当它运行时,它只查看/usr/sbin/smartctl -c /dev/sd1的输出,循环直到它不再包含:
[0-9]+% of test remaining.然后检查它是否完成时没有错误:
( 0) The previous self-test routine completed然而,smartctl似乎还不支持NVMe的测试,从7.0版开始,并按照:https://www.smartmontools.org/wiki/NVMe_支持
上面确实写着
smartd守护进程跟踪健康(-H)、错误计数(-l错误)和温度(-W DIFF,INFO,CRIT)。
但究竟是什么在做测试呢?除非我们运行短/长测试,否则我不确定-H和-l的输出是否更新?
我也读过关于nvme-cli的文章,但是我似乎没有找到在磁盘上运行健康测试的方法。
有什么想法吗?
这里使用CentOS 7。
发布于 2021-11-24 19:04:06
对机械磁盘设计了智能自我测试。SATA几乎完全反映了先前支持这种自测试的HDD接口级行为,但实际上在运行它时却没有做太多工作。NVMe驱动器完全放弃了如此智能的自测试例程。
对于基于闪存的磁盘,人们应该真正跟踪单元磨损、备用块计数和重新分配扇区,而不是依赖在NVMe驱动器上不支持的旧的自测试例程。
https://serverfault.com/questions/1084461
复制相似问题