Гид по технологиям

Как настроить программный RAID, чтобы получать письма при проблемах

4 min read Системное администрирование Обновлено 16 Oct 2025
Настроить программный RAID для email-уведомлений
Настроить программный RAID для email-уведомлений

Коротко: добавьте в конфигурацию 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.

Шаги настройки

  1. Откройте файл конфигурации mdadm. На Debian/Ubuntu это обычно /etc/mdadm/mdadm.conf. На других дистрибутивах путь может быть /etc/mdadm.conf.
vi /etc/mdadm/mdadm.conf
  1. Добавьте в файл строку 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]

Сохраните файл.

  1. Перезапустите сервис mdadm (команда зависит от системы и версии):
/etc/init.d/mdadm restart

или на системах с systemd:

systemctl restart mdadm
  1. Убедитесь, что на сервере настроен 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 на рабочем продакшн-массиве без плана восстановления.

Что делать, если письма не приходят

  1. Проверьте, установлен ли MTA и может ли он отправлять почту во внешний мир. Попробуйте отправить тестовое письмо:
echo "test" | mail -s "mdadm test" [email protected]
  1. Проверьте логи MTA (/var/log/mail.log, /var/log/maillog). Ищите ошибки доставки.
  2. Проверьте файл /etc/mdadm/mdadm.conf на опечатки в MAILADDR.
  3. Убедитесь, что служба mdadm запущена и использует указанный конфиг.
  4. Если у вас 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. Это простой и эффективный способ узнать о деградации массива до потери данных. Тестируйте и комбинируйте с системой мониторинга для повышения надежности.

Важно

  • Не выполняйте симуляцию отказа на продуктивных массивах без плана восстановления.
  • Всегда проверяйте доставку писем и логи после настройки.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Установка программного RAID в Linux
Серверы

Установка программного RAID в Linux

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

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

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

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

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

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

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

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

Как предотвратить перегрев ноутбука
Ноутбуки

Как предотвратить перегрев ноутбука