Как настроить программный RAID, чтобы получать письма при проблемах
Коротко: добавьте в конфигурацию mdadm адрес почты (MAILADDR) и перезапустите службу mdadm. При отказе диска или другом событии mdadm отправит уведомление на указанный адрес. Проверьте, что на сервере настроен MTA (Postfix/ssmtp/nullmailer и т.д.).
Введение
Эта инструкция объясняет, как настроить мониторинг программного RAID (mdadm) так, чтобы при сбоях вы получали email-уведомления. Пример был протестирован на Debian Etch, но принцип одинаков для большинства дистрибутивов — возможно, потребуется скорректировать пути к файлам и команды управления службой.
Кратко о терминах:
- mdadm — утилита для управления программными RAID-массивами в Linux. Она может мониторить состояние массивов и отправлять уведомления при проблемах.
Важно: я не даю гарантий, что инструкция сработает в вашей среде. Всегда тестируйте изменения на тестовом хосте перед применением в продакшне.
Что делает мониторинг mdadm
mdadm запустит фоновой мониторинг (daemon) или использует системный сервейс и при обнаружении событий (DegradedArray, FailSpare и др.) отправит письмо на адрес, указанный в параметре MAILADDR в конфиге mdadm. Чтобы уведомления доходили, на сервере должен быть настроен MTA или ретранслятор почты.
Важно: mdadm не доставляет почту напрямую через SMTP без установленного MTA.
Шаги настройки
- Откройте файл конфигурации mdadm. На Debian/Ubuntu это обычно /etc/mdadm/mdadm.conf. На других дистрибутивах путь может быть /etc/mdadm.conf.
vi /etc/mdadm/mdadm.conf
- Добавьте в файл строку MAILADDR с вашим адресом электронной почты. Пример содержимого конфигурации:
DEVICES /dev/sda* /dev/sdb*
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=c8a78e3a:e335c0f0:997be224:f02c088a
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=fd9f3b6b:4fc9cf4f:09db592d:480d34fe
MAILADDR [email protected]
Сохраните файл.
- Перезапустите сервис mdadm (команда зависит от системы и версии):
/etc/init.d/mdadm restart
или на системах с systemd:
systemctl restart mdadm
- Убедитесь, что на сервере настроен MTA (Postfix, Exim, ssmtp, nullmailer и т.п.) или SMTP-реле, чтобы система могла отправлять почту во внешний мир.
Примеры уведомлений
Ниже — примеры писем, которые mdadm может отправлять. Они служат шаблоном для понимания формата уведомлений.
From: mdadm monitoring
To: [email protected]
Subject: DegradedArray event on /dev/md1:server1.example.com
This is an automatically generated mail message from mdadm
running on server1.example.com
A DegradedArray event had been detected on md device /dev/md1.
Faithfully yours, etc.
P.S. The /proc/mdstat file currently contains the following:
Personalities : [raid0] [raid1]
md1 : active raid1 sda2[2] sdb2[1]
487853760 blocks [2/1] [_U]
[>....................] recovery = 4.3% (21448384/487853760) finish=114.3min speed=67983K/sec
md0 : active raid1 sda1[0] sdb1[1]
530048 blocks [2/2] [UU]
unused devices:
From: mdadm monitoring
To: [email protected]
Subject: FailSpare event on /dev/md1:server1.example.com
This is an automatically generated mail message from mdadm
running on server1.example.com
A FailSpare event had been detected on md device /dev/md1.
It could be related to component device /dev/sda2.
Faithfully yours, etc.
P.S. The /proc/mdstat file currently contains the following:
Personalities : [raid0] [raid1]
md1 : active raid1 sda2[2](F) sdb2[1]
487853760 blocks [2/1] [_U]
[===================>.] recovery = 99.9% (487851840/487853760) finish=0.0min speed=61037K/sec
md0 : active raid1 sda1[0] sdb1[1]
530048 blocks [2/2] [UU]
unused devices:
Проверка и тестирование
После настройки важно проверить, что уведомления действительно уходят:
- Отправьте тестовое письмо с сервера (например, командами mail или sendmail), чтобы подтвердить работу MTA.
- Смоделируйте отказ компонента на тестовом массиве: пометьте устройство как неисправное и проследите отправку уведомления.
Пример симуляции (на тестовой системе):
# Отметить /dev/sdb1 как failed (только для теста на тестовой машине!)
mdadm --manage /dev/md1 --fail /dev/sdb1
# Проверить состояние
cat /proc/mdstat
После имитации отказа проверьте почтовый ящик [email protected] и логи MTA (/var/log/mail.log или /var/log/maillog).
Важно: не выполняйте команду –fail на рабочем продакшн-массиве без плана восстановления.
Что делать, если письма не приходят
- Проверьте, установлен ли MTA и может ли он отправлять почту во внешний мир. Попробуйте отправить тестовое письмо:
echo "test" | mail -s "mdadm test" [email protected]
- Проверьте логи MTA (/var/log/mail.log, /var/log/maillog). Ищите ошибки доставки.
- Проверьте файл /etc/mdadm/mdadm.conf на опечатки в MAILADDR.
- Убедитесь, что служба mdadm запущена и использует указанный конфиг.
- Если у вас firewall, убедитесь, что он не блокирует исходящий SMTP (обычно порт 25, 587 или 465 для SMTPS).
Альтернативные подходы и расширения
- Использовать внешнюю систему мониторинга (Zabbix, Nagios, Prometheus+Alertmanager). Эти системы подтягивают статус mdadm через SNMP, вывод /proc/mdstat или экспортёры и дают гибкие правила оповещений.
- Настроить мониторинг SMART (smartd) для предиктивного обнаружения проблем с жесткими дисками и связать уведомления smartd и mdadm.
- Отправлять оповещения в мессенджеры и тикет-системы через промежуточный сервис (Webhook, SMTP-to-Webhook).
Роль-based checklist (что должен сделать системный администратор)
- Проверить и добавить MAILADDR в /etc/mdadm/mdadm.conf.
- Перезапустить mdadm и убедиться, что служба активна.
- Проверить доступность и настройку MTA для отправки почты.
- Симулировать отказ на тестовом массиве и убедиться в получении уведомления.
- Настроить резервный канал оповещений (например, мониторинг-платформа).
Критерии приёмки
- При симуляции отказа администратор получает почтовое уведомление на указанный адрес в течение приемлемого времени (обычно в пределах минуты).
- В логах mdadm и MTA нет ошибок, связанных с отправкой уведомлений.
- Конфигурация хранится в контроле версий или в документации для повторного развертывания.
Безопасность и конфиденциальность
- Убедитесь, что уведомления не содержат чувствительной информации. mdadm обычно отправляет техническую информацию о массиве и устройствах. Если это проблема, ограничьте доступ к почтовым ящикам и настройте ретрансляцию только внутри защищенной сети.
- При отправке через сторонние SMTP-сервисы используйте шифрование и аутентификацию.
Краткое резюме
Добавление строки MAILADDR в конфиг mdadm и корректная настройка MTA позволяют получать оперативные email-уведомления о проблемах RAID. Это простой и эффективный способ узнать о деградации массива до потери данных. Тестируйте и комбинируйте с системой мониторинга для повышения надежности.
Важно
- Не выполняйте симуляцию отказа на продуктивных массивах без плана восстановления.
- Всегда проверяйте доставку писем и логи после настройки.
Похожие материалы
Установка программного RAID в Linux

Ошибка no default mail client в Outlook — как исправить

Автотекст LibreOffice Writer — сниппеты и шаблоны

Транспортные этикетки и печать через AirPrint

Оффлайн‑карты Windows 10 — загрузка и советы
