Введение
Ручная диагностика дисков отнимает время и часто проводится слишком поздно. 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 или ваш почтовый ящик.