Если вы используете 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)Ежемесячно
Обзор журнала ошибокПосле сбоев или проблем с вводом/выводом
Мониторинг температурыПостоянно (через скрипты)

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

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

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

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

Заключение

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