S.M.A.R.T. во FreeBSD — мониторинг состояния hdd

Мониторинг — штука полезная, а мониторинг состояния винчестера (HDD) вещь необходимейшая, ибо ничего так не расстраивает, как внезапно вышедший из строя накопитель…, а если ещё и бэкапов нет, то совсем беда. Для мониторинга будем использовать S.M.A.R.T. во FreeBSD.
Устанавливаем:
make BATCH=yes -C/usr/ports/sysutils/smartmontools install clean

После того как установится, переходим к настройкам.
в /etc/rc.conf для автозапуска smartd после перезагрузки ОС добавляем:
smartd_enable="YES"

посмотреть установленные винчестеры, можно через:
dmesg

у меня там строки c информацией о hdd:
ad0: 1907729MB at ata0-master SATA300
ad2: 1907729MB at ata1-master SATA300
ad4: 38166MB at ata2-master UDMA100

можно было уменьшить количество выводимых строк, выполнив:
cat /var/run/dmesg.boot | grep "ata"

Судя по строкам, имеется 3 hdd: 2-а sata по 2Тб (ad0, ad2) и один на 40Гб(ad4), подключённый по IDE.
В случае исользования zfs, а именно эту файловую систему я использую для винчестеров по 2Тб, в /etc/fstab смотреть бесполезно, там они не прописаны.

Перейдём к конфигурационному файлу, скопируем пример:
cp /usr/local/etc/smartd.conf.sample /usr/local/etc/smartd.conf

редактируем его:
ee /usr/local/etc/smartd.conf

до следующего состояния (всего 3-и строки, остальное-описание выставленных опций):
/dev/ad0 -S on -o on -a -I 194 -W 4,43,55 -m mail@gmail.com -s (S/../.././04|L/../(01|15)/./04)
/dev/ad2 -S on -o on -a -I 194 -W 4,43,55 -m mail@gmail.com -s (S/../.././03|L/../(01|15)/./04)
/dev/ad4 -S on -o on -a -I 194 -W 4,43,55 -m mail@gmail.com -s (S/../.././02|L/../(01|15)/./04)
#
#/dev/ad0 -тестируемый винчестер
#-S on -включаем атрибут автосохранения (для выключения - off)
#-o on -включаем автоматическое автономное тестирование
# при условии запуска smartd без дальнейших действий (для выключения - off)
# -a -включаем все опции мониторинга
# -I 194 -при мониторинге исключить данные о температуре hdd
#
# -W 4,45,55 -доложить о изменении температуры:
# 4 -отслеживание отклонения температуры не менее чем на 4 градуса
# 43 -информационное сообщение при достижении температуры в 43 градусов(параметры температуры
# вероятно могут отличаться от модели hdd)
# 55 -предупреждающее письмо при достижении температуры в 55 градусов.
# для отключени ставим -W 0
#
# -m mail@gmail.com -отправлять уведомление на mail@gmail.com
#
# -s -начать самотестирование по расписанию:
# S/../.././02 -быстрое самотестирование между 2-3 ночи ежедневно (расписание из man smartd)
# L/../(01|15)/./04 -долгая самопроверка между 4-5 ночи в 1-ый и 15-ый день каждого месяца
#
#выражение S/../.././02 можно разложить так:
#S - тип тестирования (s - Short Self-Test; L - Long Self-Test)
#/../ -номер месяца в году с 01(январь) по 12(декабрь)
#/../ -число месяца с 01 по 31
#/./ -день недели с 1(понедельник) по 7(воскресенье)
#/02 -время суток. Это промежуток с 00 до 23

Сохраняем, закрываем.
Далее в начало файла /etc/syslog.conf дописываем:
local3.* /var/log/smartd.log

судя из man syslog.conf, можно использовать local с 0 по 7
для вступления в силу изменений выполняем перезапуск syslogd:
killall -1 syslogd

Для создания самого /var/log/smartd.log, выполняем:
touch /var/log/smartd.log

В /etc/rc.conf так же дописываем:
smartd_flags="-l local3 --interval=900"
где:
«local3» мы вписывали в /etc/syslog.conf
interval=900 — каждые 900 секунд (15 мин) производить опрос

Запускаем smartd:
/usr/local/etc/rc.d/smartd start

Чтобы вручную посмотреть smart hdd нужно выполнить команду в консоли FreeBSD:
smartctl -a /dev/ad4
где
/dev/ad4 -это винт, который хотим проверить.

Всё, логи можем наблюдать в /var/log/smartd.log, в случае повышения температуры винчестера до 55 градусов, будет отправлено письмо с предупреждением. Автоматические проверки состояния будут происходить по созданному нами расписанию.

Добавить комментарий