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
Эти самые данные состоят из:
Общая информация: производитель, модель, серийный номер, версия прошивки и др.
smartctl -i /dev/sda
Дополнительная информация об устройстве. Например, какие тесты диагностики поддерживаются и сколько они занимают времени
smartctl -c /dev/sda
Состояние «здоровья» диска. Представляет собой попытку предсказать отказ жесткого диска в ближайшие 24 часа.
smartctl -H /dev/sda
-
- критические — частота возникновения ошибок чтения, количество перемещенных секторов и др.
- некритические — общее время работы диска в часах и др.
Smart aтрибуты и их значения. Полный список зависит от конкретной модели диска. Разделяются на:
smartctl -A /dev/sda
Журнал ошибок, произошедших во время работы диска.
smartctl -l error /dev/sda
Журнал тестов самодиагностики.
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.