| Контролируем SMART HDD, с отчетом на e-mail. На примере FreeBSD и Debian/Ubuntu. |
| Автор Охальников Олег | ||||||||||
| 17:03:2011 г. | ||||||||||
|
Что такое SMART, какие атрибуты SMART бывают, можно прочитать в "Википедии" - здесь...
В данной статье расскажу, как контролировать состояние HDD с помощью smartmontools, установка и настройка на примере систем FreeBSD и Debian/Ubuntu.
FreeBSD:
2) Устанавливаем: cd /usr/ports/sysutils/smartmontools/ && make install clean 3) Для запуска демона, вносим следующие строки в /etc/rc.conf:
smartd_enable="YES" 4) Настраиваем логирование, для этого ближе к началу /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 выходят за рамки данной статьи, возможно напишу материал в будующем./5) Теперь переходим непосредственно к конфигурационному файлу smartmontools. # less /usr/local/etc/smartd.conf.sample Подробности смотрим в # man smartd и # man smartd.conf. Ниже приведены ключи и значения:-d задать тип устройства: ata, scsi, marvell, removable, 3ware,N, hpt,L/M/N # touch /usr/local/etc/smartd.conf Смотрим, какие HDD есть в системе, смотреть можно разными способами, например# fdisk -v Если в системе собран софтовый RAID gmirror, то мониторим все равно отдельные харды, из которых он состоит! - это думаю понятно. Посмотреть какие харды в мирроре можно так:gmirror status Если рейд фэйковый, то пользуемся утилитой atacontrolatacontrol 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 ==> Расшифровка ключей -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 # tail -f /var/log/smartd.log Должны быть записи, примерно такие:Mar 17 11:13:59 Corvus smartd[95726]: Device: /dev/ad6, enabled SMART Attribute Autosave. 7) Еще пара моментов, 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).Debian/Ubuntu: В Linux настроить smartmontools много проще и описание соответственно будет много короче. 1) Обновляем список доступных пакетов: # apt-get update 2) Устанавливаем smartmontools: # apt-get install smartmontools 3) Включаем демон, перечисляем HDD и интервал обновления, для этого просто снимаем коментарии в файле # nano /etc/default/smartmontools enable_smart="/dev/sda /dev/sdb" # fdisk -l 4) Правим /etc/smartd.conf (я дефолтный сохранил как /etc/smartd.conf.def и создал пустой файл). В соответствии с имеющимися в системе HDD добавляем строки, аналогичные рассматриваемым выше: /dev/sda -S on -o on -a -I 194 -W 4,45,55 -R 5 -H -l error -l selftest ==> 5) Запускаем демон: # /etc/init.d/smartmontools start 6) Контролируем, что он работает: # ps waux | grep smart 7) Логирование дополнительно настраивать не нужно, все сохраняется в /var/log/syslog. После запуска, интерактивно, можно понаблюдать так: # tail -f /var/log/syslog P.S. Возможно, контроль температуры HDD через smartmontools не очень хорошая идея, как может показаться. Хотя скачки температуры часто свидетельство неисправности HDD и лучше обратить на это внимание и своевременно принять меры. Отмечу, что контролировать температуру HDD можно с помощью отдельного демона - hddtemp, но это тема отдельной статьи. На этом все! Материал подготовил: Охальников Олег aka H@wk!
Просмотров: 7018
|
||||||||||
| script - создаем лог своих действий » |
|---|
Коментарии (4)

