Контролируем SMART HDD, с отчетом на e-mail FreeBSD

Опубликовано admin -

В данной статье расскажу, как контролировать состояние HDD с помощью smartmontools,

 
FreeBSD:

1) Обновляем порты
2) Устанавливаем:

#cd /usr/ports/sysutils/smartmontools/ && make install clean
Вносим следующие строки в /etc/rc.conf:

smartd_enable="YES"
smartd_flags="-l local2 --interval=500"

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

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

#ee /etc/syslog.conf

local2.* /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 7 100 * JC
/Подробности по newsyslog выходят за рамки данной статьи, возможно напишу материал в будующем.

Теперь переходим непосредственно к конфигурационному файлу smartmontools.
Смотрим дефолтовый файл на предмет примеров и основных параметров:

#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
Если в системе собран софтовый RAID gmirror, то мониторим все равно отдельные харды, из которых он состоит! - это думаю понятно.
Посмотреть какие харды в мирроре можно так:
gmirror status
Если рейд фэйковый, то пользуемся утилитой atacontrol
atacontrol status ar0
или
atacontrol list
 

Не важно как (можно /var/run/dmesg посмотреть), главное увидеть, какие HDD в RAID.
После того, как определили, какие HDD присутствуют в системе указываем их в /usr/local/etc/smartd.conf,

у меня получилось следующая команда:

/dev/ad4 -a -I 194 -W 4,45,55 -R 5 -H -l error -l selftest -m administrator@host.ru -o on -S on -s (S/../.././02|L/../../6/03)
/dev/ad6 -a -I 194 -W 4,45,55 -R 5 -H -l error -l selftest -m administrator@host.ru -o on -S on -s (S/../.././02|L/../../6/03)

Расшифровка ключей -a, -m, -H -l error -l selftest -o on -S on -  см. выше.
-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       95728  0,0  0,1  4604  2340  ??  I    11:13     0:00,01 /usr/local/sbin/smartd -p /var/run/smartd.pid -l local2 --interval=500
Проверяем лог:

#tail -f /var/log/smartd.log
Должны быть записи, примерно такие:

Mar 17 11:13:59 Corvus smartd[95726]: Device: /dev/ad6, enabled SMART Attribute Autosave.
Mar 17 11:13:59 host smartd[95726]: Device: /dev/ad6, enabled SMART Automatic Offline Testing.
Mar 17 11:13:59 host smartd[95726]: Device: /dev/ad6, is SMART capable. Adding to "monitor" list.
Mar 17 11:13:59 host smartd[95726]: Monitoring 3 ATA and 0 SCSI devices
Mar 17 11:13:59 host smartd[95726]: Device: /dev/ad4, initial Temperature is 31 Celsius (Min/Max ??/31)
Mar 17 11:13:59 host smartd[95726]: Device: /dev/ad6, initial Temperature is 29 Celsius (Min/Max ??/29)

Демон запущен, лог ведется.

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

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

#smartctl -a /dev/ad4
Если выдает сообщение, что SMART выключен, включаем его
#smartctl -s on /dev/ad4
и повторяем предыдущую команду. Вывод приводить не буду, он слишком большой, следует обратить внимание на строку:

SMART overall-health self-assessment test result: PASSED
которая говорит о том, что тест прошел. Смотрим значения важных атрибутов, сравниваются столбцы VALUE (низкое число, говорит о высокой вероятности выхода из строя) и THRESH (пороговое значение, сравнивается с value).

Описание параметров

Raw_Read_Error_Rate – частота ошибок при чтении данных с диска, от аппаратной части диска
Spin_Up_Time – время раскрутки пакета дисков из состояния покоя до рабочей скорости
Start_Stop_Count – полное число запусков/остановок шпинделя. Гарантировано мотор диска способен перенести лишь определенное число включений/выключений. Это значение выбирается в качестве Treshold.
Reallocated_Sector_Ct – число операций переназначения секторов. SMART в современных дисках способен произвести анализ сектора на стабильность работы «на лету» и в случае признания его сбойным, произвести его переназначение.
Seek_Error_Rate – частота ошибок при позиционировании блока головок. Высокое значение Raw свидетельствует о наличии проблем, которыми могут являться повреждение сервометок, чрезмерное термическое расширение дисков, механические проблемы в блоке позиционирования и др.
Power_On_Hours – число часов проведенных во включенном состоянии. В качестве порогового значения для него выбирается паспортное время наработки на отказ (MTBF).
Spin_Retry_Count – число повторных попыток раскрутки дисков до рабочей скорости, в случае если первая попытка была неудачной.
Calibration_Retry_Count – счетчик перекалибровки положения головок винта  (тож штука не приятная, проявляется  в виде постукивание при работе)
Power_Cycle_Count – Количество полных циклов запуска/останова жесткого диска.
Power-Off_Retract_Count – Количество повторов автоматической парковки блока магнитных головок в результате выключения питания.
Load_Cycle_Count – Количество циклов перемещения блока магнитных головок в парковочную область.
Temperature_Celsius – Здесь хранятся показания встроенного термодатчика. Температура имеет огромное влияние на срок службы диска (даже если она находится в допустимых пределах).
Reallocated_Event_Count – Число операций переназначения. В поле «raw value» атрибута хранится общее число попыток переноса информации с переназначенных секторов в резервную область. Учитываются как успешные, так и неуспешные попытки.
Current_Pending_Sector – Число секторов, являющихся кандидатами на замену. Они не были еще определенны как плохие, но считывание их отличается от чтения стабильного сектора, так называемые подозрительные или нестабильные сектора.
Offline_Uncorrectableозначает то же самое, что и атрибут Current_Pending_Sector, но отличие в том, что данный атрибут содержит количество секторов-кандидатов, обнаруженных при одном из видов самотестирования диска — оффлайн-тестировании, которое диск запускает в простое в соответствии с параметрами, заданными прошивкой
UDMA_CRC_Error_Count – число ошибок, возникающих при передаче данных по внешнему интерфейсу.
Multi_Zone_Error_Rate – Показывает общее количество ошибок, происходящих при записи сектора. Показывает общее число ошибок записи на диск. Может служить показателем качества поверхности и механики накопителя.

(c) unixa.ru/software/kontroliruem-smart-hdd-s-otchetom-na-e-mail.-na-primere-freebsd-i-debian-ubuntu.html

Теги

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

Ограниченный HTML

  • Допустимые HTML-теги: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Строки и абзацы переносятся автоматически.
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.
CAPTCHA
1 + 0 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.