Если вы используете VPS или выделенный сервер, стабильность работы диска не является чем-то необязательным – она критически важна. Один вышедший из строя диск может привести к потере данных, простою и дорогостоящему восстановлению. Именно поэтому системные администраторы Linux полагаются на smartctl – мощный инструмент командной строки, который предоставляет прямой доступ к диагностике диска через S.M.A.R.T.

В этом руководстве вы узнаете, как использовать smartctl в Linux, включая практические команды, реальные примеры и интеллектуальную автоматизацию.

Что такое smartctl?

smartctl является частью пакета Smartmontools. Он позволяет получить доступ к технологии S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology), встроенной в большинство современных HDD и SSD.

С помощью smartctl вы можете:

  • Проверять состояние здоровья диска
  • Запускать короткие или расширенные самотестирования
  • Просматривать показатели температуры и производительности
  • Выявлять ранние признаки отказа оборудования

Поддерживается следующее оборудование:

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

Зачем использовать smartctl?

ПреимуществоПреимущество
Раннее обнаружение сбоевПредотвратите потерю данных до того, как она произойдет
Диагностика в режиме реального времениМониторинг дисков без перезагрузки
Простая автоматизацияХорошо работает с cron, скриптами и оповещениями
Видимость на аппаратном уровнеНикаких догадок – получайте необработанные данные с диска
Удобство для DevOps и сисадминовШироко используется в центрах обработки данных и облачных серверах

Как установить Smartmontools

Установка зависит от дистрибутива Linux:

OSКоманда установки
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: ПРОЙДЕН

Если результат PASSED, значит, ваш диск в настоящее время здоров.
Если он показывает FAILED – немедленно сделайте резервную копию и запланируйте замену.

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

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

Увеличение значения в этих полях означает постепенную деградацию диска.

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

ЗадачаПериодичность
-Проверка состояния здоровьяЕженедельно
Короткий тест (-t short)Еженедельно
Длительный тест (-t long)Ежемесячно
Просмотр журнала ошибокПосле сбоев или проблем с вводом/выводом
Мониторинг температурыПостоянный (с помощью скриптов)

Автоматизация с помощью Cron

Пример: еженедельный отчет о состоянии диска по электронной почте

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

📌 Убедитесь, что установлены mailutils или sendmail.

Заключение

smartctl – это легкий, но мощный инструмент, который не должен упускать из виду ни один системный администратор. С его помощью вы сможете поддерживать здоровье ваших серверов, безопасность данных и проактивность инфраструктуры.