На серверах, которые у меня есть, с 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_Support
Он поддерживает говорят, что
Демон smartd отслеживает работоспособность (-H), количество ошибок (-l error)и температуру (-W DIFF,INFO,CRIT )
, но что на самом деле запускает тесты? Я не уверен, обновятся ли выходные данные -H
и -l
, если мы не проведем короткие/длинные тесты?
Я также читал о nvme-cli
, но, похоже, я не нашел способов запуска тестов работоспособности на дисках с его помощью.
Есть идеи?
Здесь используется CentOS 7.
Самотестирование SMART -было задумано для механических дисков. Твердотельные накопители SATA почти полностью повторяют более раннее поведение интерфейса -жесткого диска, поддерживая такой самотест -, но на самом деле не очень много делают при его запуске. Диски NVMe полностью отказались от таких процедур самотестирования SMART -.
Для дисков на основе флэш-памяти -следует действительно отслеживать износ ячеек, количество резервных блоков и перераспределенные сектора, а не полагаться на старые процедуры самотестирования -, которые не поддерживаются на дисках NVMe.