1.Установка smartmontools
1 |
# yum install smartmontools |
2.Настройка smartd-демона
1 |
# cp /etc/smartd.conf /etc/smartd.conf~ |
1 |
# nano /etc/smartd.conf |
1 |
DEVICESCAN -H -m your@email |
1 |
# /etc/init.d/smartd start |
1 |
# chkconfig --level 2345 smartd on |
3. Работа с smartctl-утилитой
Просмотр,какие диски у нас есть
1 |
# ls -la /dev/ | grep sd |
Проверка состояния здоровья винчестеров
1 |
# smartctl -H /dev/sda |
1 |
# smartctl -H /dev/sdb |
Информация о диске, а также просмотр,включен ли SMART
1 |
# smartctl -i /dev/sda |
Если отключен SMART, то включаем его
1 |
# smartctl -s on /dev/sda |
Если нужно выключить SMART
1 |
# smartctl -s off /dev/sda |
По умолчанию smartd будет проверять состояние дисков каждые 30 минут
Для ручной/принудительной проверки выполняем
1 |
# killall -USR1 <pid> |
Просмотр сколько времени займут различные тесты
1 |
# smartctl -c /dev/sda |
Запуск короткого теста в фоновом режиме
1 |
# smartctl -t short /dev/sda |
Запуск длинного теста в фоновом режиме
1 |
# smartctl -t long /dev/sda |
Просмотр результатов прохождения тестов
1 |
# smartctl -l selftest /dev/sda |
Остановка(прерывание) теста
1 |
# smartctl -X |
Просмотр всей SMART информации о диске
1 |
# smartctl -a /dev/sda |
Просмотр всей информации о диске(а не только SMART-информации) включая возможные ошибки
1 |
# smartctl -x /dev/sda |
Просмотр SMART-атрибутов/показателей и их значений для диска
1 |
# smartctl -A /dev/sda |
Настройка автоматических проверок состояния дисков и оповещения в случае обнаружения ошибок
Для Debian/Ubuntu
Настройка smartd-демона
Запуск демона smartd при старте системы и интервал проверки дисков составляет каждые 2 часа
1 |
# nano /etc/default/smartmontools |
1 2 |
start_smartd=yes smartd_opts="--interval=7200" |
1 |
# nano /etc/smartd.conf |
1 2 |
/dev/sda -o on -S on -a -s (L/../../6/06) -m root -M exec /usr/share/smartmontools/smartd-runner /dev/sdb -o on -S on -a -s (L/../../7/06) -m root -M exec /usr/share/smartmontools/smartd-runner |
1 |
-o on |
– Включение SMART Automatic Offline тестов для обновления статуса атрибутов
1 |
-S on |
– включение автосохранения атрибутов
1 |
-a |
– включает набор опций –H (Проверить только здоровье диска (если значение Prefailure атрибута меньше за threshold – увидим, что диск не здоров)), -f (мониторинг наличия ошибок в атрибутах), -t (включение опций -u и -p), -l error -l selftest (проверяется журнал ошибок и пройденных тестов) –С 197 (сообщать, если кол-во Pending Sector не равно нулю) –U 198 (сообщать,если кол-во Offline Uncorrectable секторов не равно нулю)
1 |
-s |
– запуск самотестирования когда тип тестирования и дата совпадают с регулярным вывражением
В данном случае
Каждую субботу в 6 утра запускать long-тест для диска /dev/sda
Каждое воскресенье в 6 утра запускать long-тест для диска /dev/sdb
1 |
-m |
— кому отправлять письма о проблеме– в данном случае отправлять сообщения об ошибке root-пользователю (в /etc/aliases настраиваем переадресацию на нужный E-mail)
Можно напрямую указать нужный E-Mail, куда должен приходить сообщения/ошибки
-m myname@mydoamin.com
1 |
-M |
–модифицировать E-mail-сообщение перед отправкой
В данном случае запускается скрипт /usr/share/smartmontools/smartd-runner
Если такого скрита нет, то необходимо отключить эту опцию
Демон smartd будет ждать, пока скрипт не завершит свою работу. Эта опция полезна, когда нужно провести некие действия с сообщением или выбрать другой почтовый клиент (по умолчанию /usr/bin/mail).
Так в Debian smartd-runner будет запускать каждый скрипт в /etc/smartmontools/run.d/, один из которых и отправляет сообщение адресату, указанному в опции “-m”.
Для тестировния отправки сообщения добавляем опцию
1 |
-M test |
которая позволяет отправить тестовое письмо при старте демона smartd.
1 |
# nano /etc/smartd.conf |
1 2 |
/dev/sda -o on -S on -a -s (L/../../6/06) -m root -M exec /usr/share/smartmontools/smartd-runner -M test /dev/sdb -o on -S on -a -s (L/../../7/06) -m root -M exec /usr/share/smartmontools/smartd-runner -M test |
Проверка синтаксиса конфигурационного файла
1 |
# smartd -c /etc/smartd.conf -q onecheck |
Либо включением debug-режима
1 |
# smartd -d |
Выход с debug-режима — Ctrl+\
Используя Ctrl+C – файл конфигурации будет перечитан в реальном времени
1 |
# service smartmontools restart |
Логи смотрим в /var/log/daemon.log или в /var/log/syslog
1 |
# tail -f /var/log/daemon.log |
1 |
# tail -f /var/log/syslog |
После того, как получили тестовое письмо от smart-демона, удаляем опцию -M test
Т.е приводик виду
1 2 |
/dev/sda -o on -S on -a -s (L/../../6/06) -m root -M exec /usr/share/smartmontools/smartd-runner /dev/sdb -o on -S on -a -s (L/../../7/06) -m root -M exec /usr/share/smartmontools/smartd-runner |
Также можно добавить опцию
1 |
-M diminishing |
которая постоянно напоминает об ошибке (через каждых 2*N дней, т.е. 1-го числа, второго, четвертого, восьмого и т.д.), по умолчанию(если эта опция отключена) письмо о проблеме придет только один раз
При этом нужно отключить опцию -M exec /usr/share/smartmontools/smartd-runner
После чего перезапускаем smartmontools-демон
1 |
# service smartmontools restart |
Разбор запуска тестов на основе регулярных выражений
Формат регулярного выражения
1 |
"T/MM/DD/d/HH" |
где
1 |
T-тип/вид теста: |
1 2 3 4 |
L: long test S: short test C: Conveyance test (ATA only) O: Offline (ATA only) |
Оставшиеся символы определяют дату и время,когда тсты должны быть выполнены:
1 |
MM |
— месяц года (две цифры в диапазон 01-12)
1 |
DD |
– день месяца. (две цифры в диапазоне 01-31)
1 |
HH |
– время в часах (две цифры в диапазоне 00-23)
1 |
d |
– день недели (одна цифра в диапазоне 1-7) (диапазон от 1=Понедельник до 7=Воскресенье).
MM, DD, and HH выражаются двумя цифрами.
Точка «.» в этих местах означает любой единичный символ
Выражения типа ‘(A|B|C)’ определяет любое из трех указанных значений A, B, or C. Выражение внутри квадратных кавычек такие как [1-5] определяет диапазон ( от 1 до 5 включительно).
Например, проводить long-тест с понедельника по пятницу каждый день в 13.00
1 |
-s (L/../../[1-5]/13) |
Если несколько дисков, то добавляем аналогичные строки только меняем имена устройств /dev/sda на имя другого диска
Расшифровка и понимание атрибутов S.M.A.R.T
https://ru.wikipedia.org/wiki/S.M.A.R.T.
https://wiki.hetzner.de/index.php/Seriennummern_von_Festplatten_und_Hinweise_zu_defekten_Festplatten/ru
http://sysadm.pp.ua/linux/monitoring-systems/smart-attributes.html
Источник:
http://www.stableit.ru/2009/10/smart-centos.html
http://proft.me/2012/02/10/smartd-monitoring-sostoyaniya-zhestkogo-diska/
http://ksimute.trancom.ru/smart-hdd.shtml
http://sysadm.pp.ua/linux/monitoring-systems/smartd.html
http://sysadm.pp.ua/linux/monitoring-systems/smart-attributes.html
https://blog.shadypixel.com/monitoring-hard-drive-health-on-linux-with-smartmontools/
http://xmodulo.com/check-hard-disk-health-linux-smartmontools.html