Centos

NVMe 健康測試

  • November 24, 2021

在我擁有的帶有 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

但是,從 7.0 版開始,它似乎smartctl還不支持對 NVMe 的測試,並且按照:https ://www.smartmontools.org/wiki/NVMe_Support

它確實說

smartd 守護程序跟踪執行狀況 (-H)、錯誤計數 (-l error) 和溫度 (-W DIFF,INFO,CRIT)

但實際執行測試的是什麼?除非我們執行短/長測試,否則我不確定是否輸出-H和更新?-l

我也讀過關於nvme-cli,但我似乎沒有找到用它在磁碟上執行健康測試的方法。

有任何想法嗎?

在這裡使用 CentOS 7。

SMART 自檢是為機械磁碟設計的。SATA SSD 幾乎完全反映了早期的 HDD 介面級行為,支持這種自檢,但實際上在執行時並沒有做太多。NVMe 驅動器完全放棄了這種 SMART 自檢程序。

對於基於快閃記憶體的磁碟,應該真正跟踪單元磨損、備用塊計數和重新分配的扇區,而不是依賴 NVMe 驅動器不支持的舊自檢常式。

引用自:https://serverfault.com/questions/1084461