У меня есть файловый сервер FreeBSD с массивом 10 ТБ в RAID-Z (так что 8 ТБ можно использовать с избыточностью 2 ТБ). Я пытаюсь понять, как заставить систему уведомлять меня, желательно по электронной почте, если один из дисков выходит из строя. Это связано с тем, что машина работает без экрана и редко входит в нее напрямую.
Мне нужно уведомление, потому что в противном случае наш единственный намек на то, что что-то пошло не так, - это когда второй диск берет с собой данные.
Добавьте это в /etc/periodic.conf:
daily_status_zfs_enable="YES"
Тогда у вас будет статус вашего пула zfs, добавленный к ежедневным периодическим электронным письмам, которые отправляются. Если вы в настоящее время их не получаете, вы можете добавить свой адрес электронной почты также с помощью переменной:
daily_output="your@email.com"
Вы можете попробовать что-то, что запрашивает и анализирует вывод zpool status
через cron / электронную почту. Или коммерческое решение по адресу: http://www.santools.com/smartmonux.html
chkdsk Это один из сценариев, который вы можете запустить через cron, который при правильной настройке отправит вам электронное письмо при обнаружении ошибок zpool.
Для прямого мониторинга вы можете использовать 'zpool status -x', который даст удобный для скриптов вывод. Он либо скажет «все пулы исправны», либо перечислит пулы, в которых есть ошибки, либо они недоступны.
Если у вас есть настройка cron для отправки электронных писем, просто оставьте этот однострочный файл. Он будет печатать на stderr, если обнаружена ошибка, которую cron запустит в электронное письмо.
MAILTO=foo@domain.com
# Check for zpool errors every 30 minutes
*/30 * * * * /sbin/zpool status -x | grep -v 'all pools are healthy' 1>&2