Диагностика жёстких дисков
Теория
Современные жесткие диски обладают технологией S.M.A.R.T.
C момента начала работы диск анализирует свои параметры и записывает их результат в служебную зону накопителя. Проанализировав эти данные можно узнать текущее состояние диска, критические ошибки. На этой информации можно спрогнозировать целесообразность дальнейшей эксплуатации.
В Linux системах есть две утилиты способные прочитать данные состояния диска:
- smartctl
- smartd
С помощью утилиты Smartctl можно посмотреть состояние диска на данный момент времени.
Утилита Smartd – это демон, опрашивающий состояние диска каждые 30 минут. Собранные данные пишутся в лог файл.
Частота опроса жесткого диска настраивается в конфигурационном файле. Файл лога по умолчанию «/var/log/messages»
Обе утилиты находятся в одном пакете «Smartmontools».
Практика
По умолчанию в операционную систему Centos этот пакет не установлен. Произведем его установку командой:
# yum install –y smartmontools
После установки утилит можно проверить какие диски есть в системе:
# smartctl –scan
Посмотреть полную информацию о жестком диске можно командой:
# smartctl –a /dev/sda
Результат выполнения команды:
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.14.0-575.el9.x86_64] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Number: WDC PC SN530 SDBPNPZ-512G-1027
Serial Number: 202530802084
Firmware Version: 21112000
PCI Vendor/Subsystem ID: 0x15b7
IEEE OUI Identifier: 0x001b44
Total NVM Capacity: 512 110 190 592 [512 GB]
Unallocated NVM Capacity: 0
Controller ID: 1
NVMe Version: 1.4
Number of Namespaces: 1
Namespace 1 Size/Capacity: 512 110 190 592 [512 GB]
Namespace 1 Formatted LBA Size: 512
Namespace 1 IEEE EUI-64: 001b44 8b494c7ad4
Local Time is: Mon Apr 07 10:52:24 2025 RTZ
Firmware Updates (0x14): 2 Slots, no Reset required
Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test
Optional NVM Commands (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp
Log Page Attributes (0x1e): Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg Pers_Ev_Lg
Maximum Data Transfer Size: 128 Pages
Warning Comp. Temp. Threshold: 80 Celsius
Critical Comp. Temp. Threshold: 85 Celsius
В самом начале полученной информации выводится описание жесткого диска.
Тут следует остановиться на таких пунктах как:
-
Model Number – Модель накопителя (Western Digital PC SN530, 512 ГБ).
-
Serial Number – Серийный номер устройства.
-
Firmware Version – Версия прошивки контроллера (21112000).
-
PCI Vendor/Subsystem ID – Идентификатор производителя в PCI (0x15b7 – Sandisk/WD).
-
IEEE OUI Identifier – Уникальный идентификатор производителя (0x001b44 – Western Digital).
-
Total NVM Capacity – Полная ёмкость накопителя (512 ГБ в байтах).
-
Unallocated NVM Capacity – Неразмещённое пространство (0, так как диск отформатирован).
-
Controller ID – Идентификатор контроллера (1).
-
NVMe Version – Версия стандарта NVMe (1.4).
-
Number of Namespaces – Количество пространств (неймспейсов) на диске (1).
-
Namespace 1 Size/Capacity – Размер первого неймспейса (512 ГБ).
-
Namespace 1 Formatted LBA Size – Размер логического блока (512 байт).
-
Namespace 1 IEEE EUI-64 – Уникальный идентификатор неймспейса.
-
Local Time is – Текущее время системы на момент считывания данных.
-
Firmware Updates (0x14) – Поддержка обновления прошивки (2 слота, без необходимости перезагрузки).
-
Optional Admin Commands – Дополнительные административные команды (безопасность, форматирование, самодиагностика).
-
Optional NVM Commands – Дополнительные команды для работы с памятью (сжатие, запись нулей и т. д.).
-
Log Page Attributes – Поддерживаемые типы журналов.
-
Maximum Data Transfer Size – Максимальный размер передачи данных (128 страниц).
-
Warning/Critical Temp. Threshold – Пороги температуры (80°C – предупреждение, 85°C – критично).
-
Namespace 1 Features – Особенности неймспейса (например, поддержка дополнительных полей).
В следующем разделе идет Smart информация устройства:
=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART/Health Information
Critical Warning: 0x00
Temperature: 37 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 6%
Data Units Read: 108 225 413 [55,4 TB]
Data Units Written: 63 570 831 [32,5 TB]
Host Read Commands: 1 283 608 829
Host Write Commands: 860 612 639
Controller Busy Time: 3 687
Power Cycles: 5 663
Power On Hours: 3 154
Unsafe Shutdowns: 38
Media and Data Integrity Errors: 0
Error Information Log Entries: 269
Warning Comp. Temperature Time: 0
Critical Comp. Temperature Time: 0
Error Information (NVMe Log 0x01, 16 of 256 entries)
No Errors Logged
Self-test Log (NVMe Log 0x06)
Self-test status: No self-test in progress
No Self-tests Logged
Данный блок говорит о:
-
SMART overall-health – Результат самодиагностики (PASSED – ошибок нет).
-
Critical Warning – Критические предупреждения (0x00 – отсутствуют).
-
Temperature – Текущая температура (37°C).
-
Available Spare – Остаточный ресурс ячеек NAND (100% – износ отсутствует).
-
Available Spare Threshold – Порог срабатывания предупреждения (10%).
-
Percentage Used – Процент износа (6%).
-
Data Units Read/Written – Объём прочитанных/записанных данных (в секторах по 512 байт).
55,4 TB – записано, 32,5 TB – прочитано.
-
Host Read/Write Commands – Количество операций чтения/записи.
-
Controller Busy Time – Время активности контроллера (в минутах).
-
Power Cycles – Количество включений (5663 раза).
-
Power On Hours – Наработка в часах (3154 ч ≈ 131 день).
-
Unsafe Shutdowns – Небезопасные выключения (38 раз – например, потеря питания).
-
Media and Data Integrity Errors – Ошибки целостности данных (0 – нет ошибок).
-
Error Information Log Entries – Количество ошибок (269 записей в логе).
-
Warning/Critical Temperature Time – Время работы при повышенной температуре (0 – не было).
-
Error Information Log - Лог ошибок
- No Errors Logged – Ошибок не зафиксировано (либо они были, но не критичны).
-
Self-test Log - Лог самодиагностики
-
No self-test in progress – Тест не выполняется.
-
No Self-tests Logged – Предыдущие тесты не проводились.
-
По полученным данным можно уже сделать некоторые выводы:
-
Диск в хорошем состоянии, износ ~6% (норма для NVMe).
-
Температура в безопасных пределах.
-
Было 38 небезопасных выключений – стоит проверить питание.
-
Высокое количество циклов вкл ючения (5663) – возможно, частое выключение ПК.