Как настроить мониторинг состояния жестких дисков через S.M.A.R.T. на сервере Linux и получать уведомления при деградации секторов?
Мониторинг состояния жёстких дисков через S.M.A.R.T. на Linux-сервере — важная задача для обеспечения надёжности хранения данных. Основным инструментом для этого служит пакет **smartmontools**, включающий утилиты `smartctl` и демон `smartd`.
**1. Установка smartmontools**
Для Debian/Ubuntu:
sudo apt update && sudo apt install smartmontools
Для CentOS/RHEL:
sudo yum install smartmontools
**2. Проверка поддержки S.M.A.R.T. диском**
Посмотрите список дисков командой `lsblk` или `fdisk -l`, затем проверьте диск:
sudo smartctl -i /dev/sda
Если S.M.A.R.T. отключён, активируйте его:
sudo smartctl -s on /dev/sda
**3. Ручная проверка состояния диска**
Краткий статус:
sudo smartctl -H /dev/sda
Полный отчёт с атрибутами:
sudo smartctl -a /dev/sda
Обратите внимание на атрибуты: **Reallocated_Sector_Ct** (05), **Current_Pending_Sector** (C5), **Offline_Uncorrectable** (C6) — их рост сигнализирует о деградации.
**4. Запуск тестов**
Короткий тест (2 минуты):
sudo smartctl -t short /dev/sda
Расширенный тест (несколько часов):
sudo smartctl -t long /dev/sda
Результаты: `sudo smartctl -l selftest /dev/sda`
**5. Настройка демона smartd для автоматического мониторинга**
Откройте конфигурационный файл:
sudo nano /etc/smartd.conf
Пример конфигурации для мониторинга всех дисков с уведомлениями на email:
DEFAULTS -a -o on -S on -s (S/../.././02|L/../../6/03) -m admin@example.com -M exec /usr/share/smartmontools/smartd-runner
/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) -m admin@example.com
/dev/sdb -a -o on -S on -s (S/../.././02|L/../../6/03) -m admin@example.com
Значение флагов:
— `-a` — включить все проверки
— `-o on` — автономные тесты
— `-S on` — сохранение атрибутов
— `-s` — расписание тестов (короткий ежедневно в 02:00, длинный по субботам в 03:00)
— `-m` — email для уведомлений
**6. Настройка отправки почты**
Установите `mailutils` или `postfix` для отправки email:
sudo apt install mailutils
Проверьте отправку: `echo «test» | mail -s «SMART test» admin@example.com`
**7. Запуск и автозапуск smartd**
sudo systemctl enable smartd
sudo systemctl start smartd
sudo systemctl status smartd
**8. Интеграция с системами мониторинга**
Для более продвинутого мониторинга используйте:
— **Prometheus + node_exporter** (экспортирует S.M.A.R.T.-метрики)
— **Zabbix** с шаблоном для smartmontools
— **Nagios/Icinga** с плагином `check_smartmon`
**9. Мониторинг NVMe-дисков**
Для NVMe используйте:
sudo smartctl -a /dev/nvme0
Или специализированный инструмент `nvme-cli`:
sudo apt install nvme-cli
sudo nvme smart-log /dev/nvme0
Регулярный мониторинг S.M.A.R.T. позволяет заблаговременно обнаружить признаки отказа диска и предотвратить потерю данных.
