На примере операционной системы CentOS Stream я покажу вам как можно проверить состояние жесткого диска hdd или ssd используя технологию S.M.A.R.T.
S.M.A.R.T. (от англ. self-monitoring, analysis and reporting technology — технология самоконтроля, анализа и отчётности) — технология оценки состояния жёсткого диска встроенной аппаратурой самодиагностики, а также механизм предсказания времени выхода его из строя. Технология S.M.A.R.T. является частью протоколов ATA и SATA.
В данной статье проверим состояние диска используя программу smartmontools.
Для начала установим утилиту smartmontools в дистрибутиве Centos 7.
sudo yum install smartmontools -y
Выведем список наших дисков командой fdisk:
sudo fdisk -l
У меня будет диск sda.
Теперь проверим смарт данного диска:
smartctl -a /dev/sda
В начале система выведет информацию о модели вашего hdd или ssd диска:

Ниже будут показаны смарт атрибуты диска (тип атрибутов меняется в зависимости от производителя диска):

На основе данной таблицы можно сделать вывод, что диск начинает выходить из строя, так как параметр Reallocated_Sector_Ct начинает увеличиваться.
Приведу таблицу с описанием всех атрибутов S.M.A.R.T
| #ID | HEX | Имя атрибута | Описание |
| 1 | 1 | Raw Read Error Rate | Частота ошибок при чтении данных с жёсткого диска. Происхождение их обусловлено аппаратной частью винчестера. |
| 2 | 2 | Throughput Performance | Общая производительность накопителя. Если значение атрибута уменьшается перманентно, то велика вероятность проблем с винчестером. |
| 3 | 3 | Spin-Up Time | Время раскрутки шпинделя из состояния покоя (0 rpm) до рабочей скорости. В поле Raw_value содержится время в миллисекундах/секундах в зависимости от производителя |
| 4 | 4 | Start/Stop Count | Полное число запусков, остановок шпинделя. Иногда в том числе количество включений режима энергосбережения. В поле raw value хранится общее количество запусков/остановок жёсткого диска. |
| 5 | 5 | Reallocated Sectors Count | Число операций переназначения секторов. При обнаружении повреждённого сектора на винчестере, информация из него помечается и переносится в специально отведённую зону, происходит утилизация bad блоков, с последующим консервированием этих мест на диске. Этот процесс называют remapping. Чем больше значение Reallocated Sectors Count, тем хуже состояние поверхности дисков — физический износ поверхности. Поле raw value содержит общее количество переназначенных секторов. |
| 7 | 7 | Seek Error Rate | Частота ошибок при позиционировании блока магнитных головок. Чем больше значение, тем хуже состояние механики, или поверхности жёсткого диска. |
| 8 | 8 | Seek Time Performance | Средняя производительность операции позиционирования. Если значение атрибута уменьшается, то велика вероятность проблем с механической частью. |
| 9 | 9 | Power-On Hours (POH) | Время, проведённое устройством, во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ. |
| 10 | 0A | Spin-Up Retry Count | Число повторных попыток раскрутки дисков до рабочей скорости в случае, если первая попытка была неудачной. |
| 11 | 0B | Recalibration Retries | Количество повторов рекалибровки в случае, если первая попытка была неудачной. |
| 12 | 0C | Device Power Cycle Count | Число циклов включения-выключения винчестера. |
| 13 | 0D | Soft Read Error Rate | Число ошибок при чтении, по вине программного обеспечения, которые не поддались исправлению. |
| 187 | BB | Reported UNC Errors | Неустранимые аппаратные ошибки. |
| 190 | BE | Airflow Temperature | Температура воздуха внутри корпуса жёсткого диска. Целое значение, либо значение по формуле 100 — Airflow Temperature |
| 191 | BF | G-sense error rate | Количество ошибок, возникающих в результате ударов. |
| 192 | C0 | Power-off retract count | Число циклов аварийных выключений. |
| 193 | C1 | Load/Unload Cycle | Количество циклов перемещения блока головок в парковочную зону. |
| 194 | C2 | HDA temperature | Показания встроенного термодатчика накопителя. |
| 195 | C3 | Hardware ECC Recovered | Число коррекции ошибок аппаратной частью диска (ошибок чтения, ошибок позиционирования, ошибок передачи по внешнему интерфейсу). |
| 196 | C4 | Reallocation Event Count | Число операций переназначения в резервную область, успешные и неудавшиеся попытки. |
| 197 | C5 | Current Pending Sector Count | Число секторов- кандидатов на перенос в резервную зону. Помечены как не надёжные. При последующих корректных операциях атрибут может быть снят. |
| 198 | C6 | Uncorrectable Sector Count | Число некорректируемых ошибок при обращении к сектору. |
| 199 | C7 | UltraDMA CRC Error Count | Число ошибок при передаче данных по внешнему интерфейсу. |
Данная утилита работает и в дистрибутивах Ubuntu. Надеюсь данная статья оказалась вам полезна. Удачи!


