Якщо ви використовуєте VPS або виділений сервер, стабільність диска не є необов’язковою — це критично важливо для місії. Один несправний диск може призвести до втрати даних, простою та дорогого відновлення. Ось чому Linux системні адміністратори покладаються на smartctl — потужний інструмент командного рядка, який надає прямий доступ до діагностики диска через S.M.A.R.T.

Цей посібник проведе вас через використання smartctl на Linux, включаючи практичні команди, реальні приклади та розумну автоматизацію.

Що таке smartctl?

smartctl є частиною пакету Smartmontools. Він дозволяє отримати доступ до S.M.A.R.T. (Технологія самоспостереження, аналізу та звітності), вбудованої в більшість сучасних HDD та SSD.

З smartctl ви можете:

  • Перевірити стан здоров’я диска
  • Запустити короткі або розширені самотести
  • Переглянути температурні та продуктивні метрики
  • Виявити ранні ознаки відмови апаратного забезпечення

Підтримуване апаратне забезпечення включає:

  • SATA / IDE / SCSI / NVMe диски
  • Як SSD, так і HDD
  • Більшість дистрибутивів Linux та платформ хостингу

Чому використовувати smartctl?

ПеревагаКористь
Виявлення ранніх відмовЗапобігти втраті даних до того, як це станеться
Діагностика в реальному часіМоніторити ваші диски без перезавантаження
Легка автоматизаціяДобре працює з cron, скриптами та сповіщеннями
Видимість на рівні апаратного забезпеченняБез здогадок — отримуйте сирі дані з диска
Дружній до DevOps та системних адміністраторівШироко використовується в дата-центрах та хмарних серверах

Як встановити Smartmontools

Встановлення залежить від вашого дистрибутиву Linux:

ОСКоманда для встановлення
Ubuntu/Debiansudo apt update && sudo apt install smartmontools
CentOS/RHELsudo yum install smartmontools
Fedorasudo dnf install smartmontools
Arch Linuxsudo pacman -S smartmontools

Після встановлення команда smartctl доступна через термінал.

Основні команди smartctl

КомандаЩо вона робить
smartctl -i /dev/sdaВідображає інформацію про диск
smartctl -H /dev/sdaПеревіряє загальний стан здоров’я
smartctl -A /dev/sdaПерераховує детальні атрибути S.M.A.R.T.
smartctl -t short /dev/sdaЗапускає короткий (2-хвилинний) самотест
smartctl -t long /dev/sdaЗапускає повний розширений самотест (10–60 хв)
smartctl -l selftest /dev/sdaПоказує історію тестів
smartctl -l error /dev/sdaВідображає журнали помилок

📌 Замініть /dev/sda на ваш фактичний диск (наприклад, /dev/nvme0n1 для NVMe SSD).

Приклад: Перевірка стану диска

sudo smartctl -H /dev/sda

Очікуваний вихід:

SMART overall-health self-assessment test result: PASSED

Якщо результат — PASSED, ваш диск наразі здоровий.
Якщо він показує FAILED — негайно зробіть резервну копію та сплануйте заміну.

Ключові атрибути SMART для моніторингу

IDАтрибутЗначення
5Кількість перенесених секторівПогані сектори, перенесені до резервного простору
197Кількість поточних очікуючих секторівСектори, які чекають повторного зчитування
198Кількість некоректованих помилокСектори з помилками читання/запису
194Температура (Цельсій)Тримайте нижче 50 °C для оптимальної продуктивності

Зростаюче значення в цих полях = деградація диска в процесі.

Рекомендований графік моніторингу

ЗавданняЧастота
-H перевірка здоров’яЩотижня
Короткий тест (-t short)Щотижня
Довгий тест (-t long)Щомісяця
Перегляд журналу помилокПісля аварій або проблем з I/O
Моніторинг температуриПостійно (через скрипти)

Автоматизація з Cron

Приклад: щотижневий звіт електронною поштою про стан диска

0 3 * * 1 smartctl -H /dev/sda | mail -s "SMART Health Report" you@example.com

📌 Переконайтеся, що mailutils або sendmail встановлено.

Висновок

smartctl — це легкий, але потужний інструмент, який жоден системний адміністратор не повинен ігнорувати. З його допомогою ви можете підтримувати свої сервери здоровими, ваші дані в безпеці та вашу інфраструктуру проактивною.