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

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

Що таке smartctl?

smartctl є частиною пакета Smartmontools. Він надає доступ до технології S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology), вбудованої у більшість сучасних жорстких і твердотільних дисків.

За допомогою 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 selfest /dev/sdaПоказує історію тестування
smartctl -l error /dev/sdaПоказує журнали помилок

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

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

sudo smartctl -H /dev/sda

Очікуваний результат:

Результат тесту самооцінки загального стану здоров'я SMART: УСПІШНО

Якщо результат УСПІШНО, ваш диск наразі справний.
Якщо результат FAILED – негайно створіть резервну копію та заплануйте заміну.

Основні SMART-атрибути для моніторингу

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

Збільшення значення в цих полях = деградація накопичувача в процесі.

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

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

Автоматизуйте за допомогою Cron

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

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

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

Висновок

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