До основного вмісту

SMART-діагностика дисків сервера: smartctl і NVMe

Виділені сервери · 24.09.2026
Ілюстрація до статті «SMART-діагностика дисків сервера: smartctl і NVMe»

SMART-діагностика дисків сервера: як читати і що робити

SMART читають утилітою smartctl із пакета smartmontools: smartctl -a /dev/sda для SATA і SAS, smartctl -a /dev/nvme0 для NVMe. Диск міняють не за вердиктом «PASSED», а за конкретними лічильниками: перепризначеними секторами, секторами в очікуванні, помилками CRC інтерфейсу та залишком ресурсу запису.

  • Рядок SMART overall-health self-assessment test result: PASSED означає лише те, що жоден атрибут не перетнув поріг виробника. Диск із сотнею перепризначених секторів покаже те саме.
  • Небезпечні три речі: зростання Reallocated_Sector_Ct, ненульовий Current_Pending_Sector і будь-яке значення Offline_Uncorrectable.
  • У NVMe свої поля: percentage_used, media_errors, critical_warning, available_spare.
  • Демон smartd ганяє тести за розкладом і надсилає лист, щойно лічильник зрушив.

Встановлення і перше читання

Пакет однаковий в обох родинах, для NVMe додайте nvme-cli.

# Debian/Ubuntu
apt-get install -y smartmontools nvme-cli
# RHEL, AlmaLinux, Rocky
dnf install -y smartmontools nvme-cli

# перелік пристроїв, які бачить smartctl
smartctl --scan

# повний звіт по SATA/SAS диску
smartctl -a /dev/sda

# лише атрибути, без шапки
smartctl -A /dev/sda

# NVMe: журнал здоров'я
smartctl -a /dev/nvme0
nvme smart-log /dev/nvme0

Якщо диски сховані за RAID-контролером, до команди додають тип пристрою, наприклад -d megaraid,8. Як зрозуміти, яка у вас реалізація масиву, розібрано у статті апаратний RAID або mdadm.

Які атрибути дивитися

АтрибутЩо означаєНормаДія
5 Reallocated_Sector_Ctсектори, перепризначені з резерву0 і не зростаєзростання за тиждень — планувати заміну
197 Current_Pending_Sectorсектори, які не читаються, але ще не перепризначені0будь-яке ненульове значення — запустити довгий тест
198 Offline_Uncorrectableсектори, не відновлені під час фонової перевірки0міняти диск
199 UDMA_CRC_Error_Countпомилки передачі по шині0 і не зростаєкабель, слот бекплейна, а не диск
187 Reported_Uncorrectпомилки, про які диск повідомив хосту0міняти диск

NVMe читається інакше

У NVMe немає класичної таблиці атрибутів, замість неї — журнал здоров'я з фіксованими полями. Дивитися варто чотири: critical_warning (будь-яке значення, крім нуля, — аварія), percentage_used (витрачений ресурс запису у відсотках, 100 означає вичерпання гарантованого TBW), media_errors (невиправні помилки носія) та available_spare разом із available_spare_threshold.

Самотестування

Короткий тест перевіряє електроніку і частину поверхні за 1–2 хвилини, довгий читає всю поверхню і триває годинами. Обидва виконує сам диск у фоні, сервер при цьому працює.

# короткий тест
smartctl -t short /dev/sda
# довгий тест
smartctl -t long /dev/sda
# перервати поточний тест
smartctl -X /dev/sda

# результати останніх тестів
smartctl -l selftest /dev/sda

# журнал помилок накопичувача
smartctl -l error /dev/sda 2>&1 | head -n 40

Автоматичний контроль через smartd

# конфіг: /etc/smartd.conf (RHEL) або /etc/smartmontools/smartd.conf (Debian/Ubuntu)
# один рядок на всі знайдені диски:
# DEVICESCAN -a -o on -S on -n standby,q -s (S/../.././02|L/../../6/03) -W 4,45,55 -m root@localhost

systemctl enable --now smartd        # Debian/Ubuntu
systemctl enable --now smartd        # RHEL, AlmaLinux, Rocky
systemctl status smartd

Розклад у прикладі означає короткий тест щоночі о 02:00 і довгий щосуботи о 03:00. Листи надходять лише за наявності робочого поштового транспорту на сервері; на VDS вихідний SMTP типово закритий і відкривається за запитом, тому надійніше віддавати метрики SMART у систему моніторингу — це описано у статті про моніторинг заліза сервера.

Часта помилка — вважати диск справним, бо smartctl -H повернув PASSED. Цей вердикт спрацьовує лише при перетині заводського порога, а накопичувач із сотнями перепризначених секторів до порога ще не дійшов і далі віддає помилки читання. У RAID це має вигляд випадкових підвисань вводу-виводу без жодного повідомлення про деградацію масиву. Перевіряйте інакше: знімайте smartctl -A раз на добу і порівнюйте RAW_VALUE атрибутів 5, 187, 197 та 198 з попереднім знімком. Будь-який приріст — привід вивести диск і замовити заміну накопичувача в масиві, не чекаючи повної відмови.

Коли міняти диск

  • Негайно: ненульові Offline_Uncorrectable, Reported_Uncorrect, critical_warning у NVMe, помилки читання в журналі самотестування.
  • Найближчими днями: зростаючий Reallocated_Sector_Ct, Current_Pending_Sector, який не обнуляється після довгого тесту.
  • Не міняємо: зростання лише UDMA_CRC_Error_Count — це шлейф або слот корзини, заміна диска нічого не дасть.

На виділених серверах ZevsHost диск у масиві замінює чергова зміна дата-центру за заявкою: ви знімаєте вивід smartctl -a і серійний номер накопичувача, далі працюють інженери майданчика.

Коротко

  • smartctl -a для SATA і SAS, smartctl -a /dev/nvme0 або nvme smart-log для NVMe.
  • Рішення приймають за RAW_VALUE атрибутів 5, 187, 197, 198 і за їхньою динамікою, а не за рядком PASSED.
  • У NVMe стежать за percentage_used, media_errors, available_spare і critical_warning.
← Назад до бази знань Поставити питання підтримці