Перейти к основному содержимому

Диагностика жёстких дисков

Теория

Современные жесткие диски обладают технологией S.M.A.R.T.

C момента начала работы диск анализирует свои параметры и записывает их результат в служебную зону накопителя. Проанализировав эти данные можно узнать текущее состояние диска, критические ошибки. На этой информации можно спрогнозировать целесообразность дальнейшей эксплуатации.

В Linux системах есть две утилиты способные прочитать данные состояния диска:

  1. smartctl
  2. 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

В самом начале полученной информации выводится описание жесткого диска.

Тут следует остановиться на таких пунктах как:

  1. Model Number – Модель накопителя (Western Digital PC SN530, 512 ГБ).

  2. Serial Number – Серийный номер устройства.

  3. Firmware Version – Версия прошивки контроллера (21112000).

  4. PCI Vendor/Subsystem ID – Идентификатор производителя в PCI (0x15b7 – Sandisk/WD).

  5. IEEE OUI Identifier – Уникальный идентификатор производителя (0x001b44 – Western Digital).

  6. Total NVM Capacity – Полная ёмкость накопителя (512 ГБ в байтах).

  7. Unallocated NVM Capacity – Неразмещённое пространство (0, так как диск отформатирован).

  8. Controller ID – Идентификатор контроллера (1).

  9. NVMe Version – Версия стандарта NVMe (1.4).

  10. Number of Namespaces – Количество пространств (неймспейсов) на диске (1).

  11. Namespace 1 Size/Capacity – Размер первого неймспейса (512 ГБ).

  12. Namespace 1 Formatted LBA Size – Размер логического блока (512 байт).

  13. Namespace 1 IEEE EUI-64 – Уникальный идентификатор неймспейса.

  14. Local Time is – Текущее время системы на момент считывания данных.

  15. Firmware Updates (0x14) – Поддержка обновления прошивки (2 слота, без необходимости перезагрузки).

  16. Optional Admin Commands – Дополнительные административные команды (безопасность, форматирование, самодиагностика).

  17. Optional NVM Commands – Дополнительные команды для работы с памятью (сжатие, запись нулей и т. д.).

  18. Log Page Attributes – Поддерживаемые типы журналов.

  19. Maximum Data Transfer Size – Максимальный размер передачи данных (128 страниц).

  20. Warning/Critical Temp. Threshold – Пороги температуры (80°C – предупреждение, 85°C – критично).

  21. 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

Данный блок говорит о:

  1. SMART overall-health – Результат самодиагностики (PASSED – ошибок нет).

  2. Critical Warning – Критические предупреждения (0x00 – отсутствуют).

  3. Temperature – Текущая температура (37°C).

  4. Available Spare – Остаточный ресурс ячеек NAND (100% – износ отсутствует).

  5. Available Spare Threshold – Порог срабатывания предупреждения (10%).

  6. Percentage Used – Процент износа (6%).

  7. Data Units Read/Written – Объём прочитанных/записанных данных (в секторах по 512 байт).

    55,4 TB – записано, 32,5 TB – прочитано.

  8. Host Read/Write Commands – Количество операций чтения/записи.

  9. Controller Busy Time – Время активности контроллера (в минутах).

  10. Power Cycles – Количество включений (5663 раза).

  11. Power On Hours – Наработка в часах (3154 ч ≈ 131 день).

  12. Unsafe Shutdowns – Небезопасные выключения (38 раз – например, потеря питания).

  13. Media and Data Integrity Errors – Ошибки целостности данных (0 – нет ошибок).

  14. Error Information Log Entries – Количество ошибок (269 записей в логе).

  15. Warning/Critical Temperature Time – Время работы при повышенной температуре (0 – не было).

  16. Error Information Log - Лог ошибок

    • No Errors Logged – Ошибок не зафиксировано (либо они были, но не критичны).
  17. Self-test Log - Лог самодиагностики

    • No self-test in progress – Тест не выполняется.

    • No Self-tests Logged – Предыдущие тесты не проводились.

По полученным данным можно уже сделать некоторые выводы:

  1. Диск в хорошем состоянии, износ ~6% (норма для NVMe).

  2. Температура в безопасных пределах.

  3. Было 38 небезопасных выключений – стоит проверить питание.

  4. Высокое количество циклов включения (5663) – возможно, частое выключение ПК.

СОДЕРЖАНИЕ