вторник, 19 января 2010 г.

Мониторинг жестких дисков с помощью технологии S.M.A.R.T. в Linux

 

S.M.A.R.T. — технология самодиагностики и предсказания возможного отказа жесткого диска. Уже много лет встраивается практически во все производимые HDD.

 

Программное обеспечение

 

Основной пакет для работы со smart-данными под linux и под windows — smartmontools. Состоит из программ:

  • smartctl — утилита командной строки для:

    просмотра текущих данных smart;
    включения/выключения сбора данных smart;
    запуска тестов самодиагностики диска вручную;

  • smartd — демон/системная служба для:

    записи в системный журнал изменений в данных smart;
    уведомления по электронной почте об ошибках smart;
    запуска тестов самодиагностики по расписанию

Дополнительно, для утилиты smartctl есть хороший кросплатформерный фронтенд GSmartControl, рекомендую.

 

Что содержит smart

 

Просмотреть сразу все данные smart устройства /dev/sda можно с помощью команды:

smartctl -a /dev/sda

Эти самые данные состоят из:

  1. Общая информация: производитель, модель, серийный номер, версия прошивки и др.

    smartctl -i /dev/sda
  2. Дополнительная информация об устройстве. Например, какие тесты диагностики поддерживаются и сколько они занимают времени

    smartctl -c /dev/sda
  3. Состояние «здоровья» диска. Представляет собой попытку предсказать отказ жесткого диска в ближайшие 24 часа.

    smartctl -H /dev/sda
    • Smart aтрибуты и их значения. Полный список зависит от конкретной модели диска. Разделяются на:

    • критические — частота возникновения ошибок чтения, количество перемещенных секторов и др.
    • некритические — общее время работы диска в часах и др.
    smartctl -A /dev/sda
  4. Журнал ошибок, произошедших во время работы диска.

    smartctl -l error /dev/sda
  5. Журнал тестов самодиагностики.

    smartctl -l selftest /dev/sda

Как настроить мониторинг

 

Настройка демона smartd осуществляется через редактирование файла /etc/smartd.conf:

Шаг 1. Найти и закомментировать строчку:

DEVICESCAN

Шаг 2. Для каждого устройства добавить строчку, вида:

/dev/sda -a -s (S/../../(1|2|3|4|5|6)/01|L/../../7/01 -R 194 -m admin@mycompany.ru -M diminishing


Описание используемых опций:

-a

включение большинства возможностей мониторинга: проверка "здоровья" диска, отслеживание изменений всех атрибутов, отслеживание неудачных тестов диагностики.

-s (S/../../(1|2|3|4|5|6)/01|L/../../7/01)

расписание запуска тестов диагностики диска в виде регулярного выражения. В данном случае:
в 1 час ночи c понедельника по субботу будет запускаться краткий тест диска;
в 1 час ночи в воскресенье будет запускаться полный тест диска.

-m admin@mycompany.ru

при возникновении ошибок уведомить об этом письмом по указанному адресу. Для успешной отправки письма должна быть правильно настроена пересылка локальной почты на почтовый сервер. Для этого можно использовать, например, nullmailer.

-M diminishing

периодически повторять отправку письма с сообщениями об ошибке.

Запуск демона smartd осуществляется обычным для вашего дистрибутива образом.

Slackware

Для запуска демона выполнить в командной строке:

smartd

Для автозагрузки демона при старте системы, открыть файл /etc/rc.d/rc.M, найти и расскомментировать в нем следующие строчки:

#if [ -x /usr/sbin/smartd ]; then
#  /usr/sbin/smartd
#fi

Ubuntu

Для разрешения запуска демона smartd, открыть файл /etc/default/smartmontools, найти и расскомментировать в нем следующюю строчку:

#start_smartd=yes

Для запуска демона выполнить:

/etc/init.d/smartmontools start

В случае неуспешного запуска, информация об ошибках содержится в системных журналах /var/log/messages и /var/log/syslog.

1 комментарий:

Анонимный комментирует...

Сел настраивать… По-моему в строчке для smartd.conf лишняя скобка. А ещё вызывает опасение параметр -R — из мануалов не вкурил что это такое…

Кстати при установке в Ubuntu у меня апт притащил по зависсимостям к нему postfix! Безобразие какое…