FreeBSD

FreeBSD: Контролируем S.M.A.R.T, с отчетом на e-mail

S.M.A.R.T. (от англ. self-monitoring, analysis and reporting technology — технология самоконтроля, анализа и отчётности) — технология оценки состояния жёсткого диска, а также механизм предсказания времени выхода его из строя.
В FreeBSD для этого есть smartmontools

1. Обновляем порты, как это сделать, читаем здесь…

2. Устанавливаем:

# cd /usr/ports/sysutils/smartmontools/ && make install clean

3. Для запуска демона, вносим следующие строки в /etc/rc.conf:

smartd_enable="YES"
smartd_flags="--interval=300"

Флаг указывает на логирование и интервал опроса.

4. Настраиваем логирование, для этого ближе к началу /etc/syslog.conf, добавляем следующую строку:

# ee /etc/syslog.conf
!smartd
*.* /var/log/smartd.log

Создаем файл лога:

# touch /var/log/smartd.log

Перезапускаем:

# /etc/rc.d/syslogd restart

Настроим ротацию лога, для этого правим /etc/newsyslog.conf:

# ee /etc/newsyslog.conf
/var/log/smartd.log 644 2 500 * JC

5. Смотрим дефолтовый файл на предмет примеров и основных параметров:

# less /usr/local/etc/smartd.conf.sample
Подробности смотрим в  # man smartd и # man smartd.conf. Ниже приведены ключи и значения:
-d задать тип устройства: ata, scsi, marvell, removable, 3ware,N, hpt,L/M/N
-T задать тип допустимых отклонений: normal, permissive
-o VAL включить/выключить автоматические автономные тесты (on/off)
-S VAL включить/выключить атрибуты автосохранения (on/off)
-n MODE Без проверок. MODE может принимать значения: never, sleep, standby, idle
-H Наблюдать за статусом SMART, сообщать о возникших проблемах
-l TYPE Наблюдение за логом SMART. Значения: error, selftest
-f Наблюдение за отказами в любых значениях 'Usage' атрибутов
-m ADD Отправить предупреждение по e-mail для опций -H, -l error, -l selftest, и -f
-M TYPE Изменить способы отправки e-mail предупреждений (man)
-s REGE Начать самотестирование когда тип/дата соответствуют регулярному выражению (man)
-p Сообщать об изменениях в атрибутах 'Prefailure'
-u Сообщать об изменениях в атрибутах 'Usage'
-t Равнозначно опциям -p и -u
-r ID Так же сообщать Raw значение атрибута ID включая -p, -u или -t
-R ID Отслеживать изменения в ID Raw значения включая -p, -u или -t
-i ID Игнорировать значения ID для -f опции
-I ID Игнорировать значения ID для -p, -u или -t опций
-C ID Сообщать о том, что текущий (счетчик ждущих секторов) Pending Sector count не равен 0
-U ID Сообщать если (счетчик неисправленных секторов) Uncorrectable count не равен 0
-W D,I,C Наблюдение за температурой D)ifference , I)nformal limit, C)ritical limit
-v N,ST измененить метку для параметра N (man)
-a по умолчанию: эквивалентно параметрам -H -f -t -l error -l selftest -C 197 -U 198
-F TYPE для ошибок в прошивке. Значение одно из: none, samsung
-P TYPE Представление специфических устройств: use, ignore, show, showall

Создаем свой конфиг:

# touch /usr/local/etc/smartd.conf

Смотрим, какие HDD есть в системе

# fdisk -v

После того, как определили, какие HDD присутствуют в системе указываем их в /usr/local/etc/smartd.conf:

/dev/ada0 -a -I 194 -W 4,45,55 -R 5 -H -l error -l selftest -m admin@example.com -o on -S on -s (S/../.././02|L/../../6/03)

Расшифровка:

-s (S/../.././02|L/../../6/03)

Запуск короткого теста самодиагностики каждый день между 2-3 ночи, и запуск полного теста в субботу между 3-4 часами ночи.

-I 194 -W 4,45,55 -R 5

Отслеживать все параметры кроме температуры (194). Но отслеживать изменения температуры на величину больше или равно 4 градуса Цельсия, сообщать о температуре больше или равно 45 градусов Цельсия и изменении значения Reallocated_Sector_Ct (Очень важный параметр, показывает, сколько на диске переназначенных секторов. Исправный накопитель имеет raw-значение, равное 0. Если значение более 50 — явные проблемы и диск необходимо заменить.) Отправлять e-mail сообщение, когда температура больше или равна 55 градусов Цельсия.

6. Сохраняем файл и запускаем:

# /usr/local/etc/rc.d/smartd start

Смотрим, запустился ли он:

# ps waux | grep smart
root         96914   0.0  0.0  30528      0  -  IW   -          0:00.00 /usr/local/sbin/smartd --interval=300 -c /usr/local/etc/smartd.conf -p /var/run/smartd.pid

Проверяем лог:

# tail -f /var/log/smartd.log

Должны быть записи, примерно такие:

Jan  3 10:13:29 alexnettm smartd[67754]: Device: /dev/ada0, opened
Jan  3 10:13:29 alexnettm smartd[67754]: Device: /dev/ada0, WDC WD3000JS-00PDB0, S/N:WD-WCAPD2008297, FW:21.00M21, 300 GB
Jan  3 10:13:29 alexnettm smartd[67754]: Device: /dev/ada0, found in smartd database: Western Digital Caviar SE Serial ATA
Jan  3 10:13:29 alexnettm smartd[67754]: Device: /dev/ada0, enabled SMART Attribute Autosave.
Jan  3 10:13:29 alexnettm smartd[67754]: Device: /dev/ada0, enabled SMART Automatic Offline Testing.
Jan  3 10:13:29 alexnettm smartd[67754]: Device: /dev/ada0, is SMART capable. Adding to "monitor" list.
Jan  3 10:13:29 alexnettm smartd[67754]: Monitoring 1 ATA and 0 SCSI devices
Jan  3 10:13:29 alexnettm smartd[67754]: Device: /dev/ada0, initial Temperature is 42 Celsius (Min/Max ??/42)
Jan  3 10:13:29 alexnettm smartd[67756]: smartd has fork()ed into background mode. New PID=67756.
Jan  3 10:13:29 alexnettm smartd[67756]: file /var/run/smartd.pid written containing PID 67756

7. Еще пара моментов, FreeBSD присылает ежедневные отчеты состояния на почту, чтобы добавить сообщения о SMART HDD, нужно прописать в /etc/periodic.conf (если нет файла, то нужно создать и дать права 444) следующую строку:

daily_status_smart_devices="/dev/ada0"

Ну и последний момент, речь выше шла о настройке демона, но ни что не мешает просмотреть состояние SMART HDD вручную, на текущий момент, делается это следующей командой:

smartctl -a /dev/ada0

Если выдает сообщение, что SMART выключен, включаем его

smartctl -s on /dev/ada0

и повторяем предыдущую команду. Вывод приводить не буду, он слишком большой, следует обратить внимание на строку:

SMART overall-health self-assessment test result: PASSED

которая говорит о том, что тест прошел. Смотрим значения важных атрибутов, сравниваются столбцы VALUE (низкое число, говорит о высокой вероятности выхода из строя) и THRESH (пороговое значение, сравнивается с value).
Источник http://unixa.ru/software/kontroliruem-smart-hdd-s-otchetom-na-e-mail.-na-primere-freebsd-i-debian-ubuntu.html

Оставить комментарий