Linux

Автоматизация SMART-тестов дисков в Linux: пошаговый гайд

Узнайте, как автоматически запускать и мониторить SMART-тесты накопителей в Linux с помощью демона smartd. Гайд поможет вовремя выявлять сбои и предотвращать потерю данных.

Обновлено 6 апреля 2026 г.
15-20 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 20.04/22.04/24.04Debian 11/12RHEL/CentOS/AlmaLinux 8/9smartmontools 7.0+

Введение

Ручная диагностика дисков отнимает время и часто проводится слишком поздно. SMART (Self-Monitoring, Analysis and Reporting Technology) позволяет накопителям самостоятельно отслеживать параметры износа, но без автоматизации эти данные остаются незамеченными до момента критического отказа.

Настроив демон smartd, вы получите непрерывный мониторинг без нагрузки на систему. Утилита будет самостоятельно запускать короткие и полные тесты, фиксировать отклонения атрибутов и отправлять предупреждения до того, как диск перестанет отвечать.

Подготовка

Перед началом убедитесь, что у вас есть:

  • Доступ root или права sudo на сервере/рабочей станции.
  • Система с менеджером инициализации systemd (современные дистрибутивы Linux).
  • Физический или виртуальный накопитель, поддерживающий SMART (в большинстве гипервизоров SMART пробрасывается только при явной настройке).
  • Установленный пакет mailutils или альтернативный MTA, если планируете получать уведомления на почту.

Шаг 1: Установка пакета smartmontools

Утилиты входят в стандартные репозитории большинства дистрибутивов. Выполните установку командой, соответствующей вашей ОС:

# Debian, Ubuntu, Linux Mint
sudo apt update && sudo apt install smartmontools

# RHEL, CentOS, AlmaLinux, Rocky Linux
sudo dnf install smartmontools

# Arch Linux, Manjaro
sudo pacman -S smartmontools

Пакет устанавливает smartctl для ручной диагностики и smartd для фоновой работы.

Шаг 2: Определение накопителей и проверка поддержки

Сначала найдите устройства, с которыми будет работать демон. Запросите список через терминал:

sudo smartctl --scan

Вывод будет содержать пути к устройствам и их тип интерфейса. Пример: /dev/sda -d scsi # /dev/sda, SCSI device

Проверьте, активирован ли SMART на целевом диске:

sudo smartctl -i /dev/sda | grep "SMART support"

Если вывод показывает SMART support is: Enabled, переходите к настройке. Если Available but disabled, включите его: sudo smartctl -s on /dev/sda.

⚠️ Важно: Виртуальные диски virtio или qcow2 часто не передают SMART-данные хост-системе. Используйте проброс контроллера или проверяйте диски напрямую на гипервизоре.

Шаг 3: Настройка расписания в конфигурационном файле

Демон читает параметры из /etc/smartd.conf. Откройте файл в редакторе:

sudo nano /etc/smartd.conf

Найдите строку, начинающуюся с DEVICESCAN, или добавьте новую для конкретного диска. Рекомендуемая конфигурация включает краткий ежедневный тест и полный еженедельный:

/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) -W 4,45,55 -m root -M exec /usr/share/smartmontools/smartd-runner

Разбор параметров:

  • -a — мониторить все основные атрибуты здоровья.
  • -o on -S on — включить автономные тесты и сохранение логов.
  • -s (S/../.././02|L/../../6/03) — расписание: S (Short) каждый день в 02:00, L (Long) каждую субботу в 03:00.
  • -W 4,45,55 — предупреждать при превышении температурных порогов.
  • -m root — отправлять алерты пользователю root.

Шаг 4: Запуск и управление демоном

После сохранения конфигурации перезапустите службу, чтобы применить настройки:

sudo systemctl daemon-reload
sudo systemctl enable --now smartd

Убедитесь, что процесс работает без ошибок:

sudo systemctl status smartd

Строка Active: active (running) подтверждает успешный старт. Демон будет самостоятельно вычислять время до следующего теста и запускать проверки в фоне, не мешая работе пользователей.

Проверка результата

Чтобы убедиться, что планировщик работает, просмотрите журнал службы:

sudo journalctl -u smartd --since "1 hour ago" -f

Вы должны увидеть записи о сканировании устройств и подтверждении расписания. Для принудительного запуска теста без ожидания ночи выполните:

sudo smartctl -t short /dev/sda

Через 2-5 минут проверьте статус выполнения:

sudo smartctl -l selftest /dev/sda

В таблице появится запись Completed without error или код ошибки, требующий внимания.

Возможные проблемы

Ошибка Device does not support SMART Встречается на старых USB-флешках, RAID-контроллерах без проброса или в виртуальных машинах. Проверьте документацию гипервизора или подключите диск напрямую к SATA/NVMe порту.

Демон зависает на Opening device... Часто вызвано конфликтом с другим софтом (например, hdparm или активными операциями ввода-вывода). Добавьте флаг -n standby в конфигурацию, чтобы smartd пропускал спящие диски, или используйте -d sat для SATA-устройств, подключенных через USB-мосты.

Отсутствуют уведомления на почтуsmartd не отправляет письма самостоятельно, а вызывает системный mail. Убедитесь, что локальный MTA настроен и принимает сообщения. Для тестирования запустите: echo "test" | mail -s "smartd test" root и проверьте /var/mail/root или ваш почтовый ящик.

Часто задаваемые вопросы

Можно ли использовать smartd для NVMe-накопителей?
Как получать уведомления о сбоях на электронную почту?
Что делать, если запланированные тесты не запускаются автоматически?

Полезное

Установка smartmontools
Сканирование доступных дисков
Настройка файла конфигурации smartd.conf
Запуск и активация демона
Проверка работы и логов

Эта статья помогла вам решить проблему?