Установка и настройка smartmontools для проверки дисков на физическом сервере.
Пакет smartmontools состоит из двух утилит smartctl и smartd, которые следят за системными накопителями используя самопроверку, анализ и систему S.M.A.R.T. Этот пакет доступен на большинстве современных Linux системах.
smartctl – позволяет с помощью консоли просматривать параметры SMART диска и запускать тесты в ручную. Используется для однократного тестирования жестких дисков.
smartd – мониторинг опрашиваемого устройства (конфигурируемо по времени), даёт логи ошибок и изминение атрибутов. Используется в режиме автономного мониторинга.
Установка
Устанавливаем набор утилит для мониторинга жёстких дисков
Debian/Ubuntu:
apt-get update
apt-get install smartmontools
CentOS:
yum update
yum install smartmontools
Информация о диске
Теперь можно просмотреть информацию о дисках. Просто пропишите команду:
smartctl -i /dev/sdx
где «х» это буква диска, так же может быть, например не sda, а vda.
Пример с HDD диском:
Пример с SSD диском:
Просмотреть диски в системе можно командами:
lsblkl
s -la /dev/ | grep sd
Обратите внимание, что если S.M.A.R.T. отключен (SMART support is: Disabled), то для включения нужно выполнить команду:
П.С. Но необходимо убедится, что диск поддерживает технологию S.M.A.R.T.
smartctl -s on /dev/sda
Теперь мы можем вывести все данные командой smartctl с опцией -а и указываем диск, которуй требуется для анализа.
smartctl -a /dev/sda
Сначала будет выделена информация о модели Вашего HDD и SSD. Далее будет выведена информация о модели.
Тестирование диска
Существует два типа тестирование — короткий и продолжительный.
1. Запуск короткого теста выполняется командой:
smartctl -t short /dev/sda
2. Запуск длинного теста выполняется командой:
smartctl -t long /dev/sda
Результаты прохождения тестов можно посмотреть командой:
smartctl -l selftest /dev/sda
П.С. Если требуется прервать тест, то используйте «smartctl –X »
Настройка автоматических проверок состояния дисков и оповещений при возникновении ошибок
Настройка smart-демона:
nano /etc/default/smartmontools
В самом файле необходимо разкомментить две строки.
start_smartd=yes
smartd_opts="—interval=120"
Обратите внимание, что в данном примере значение «120» означает 120 секунд. Это значит каждые 2 минуты будет приходить письмо с мониторингом состояния дисков. Если Вам требуется к примеру настроить на каждые 2 часа отправку писем, то строка будет выглядеть следующим образом
smartd_opts="—interval=7200"
Теперь редактируем конфигурационный файл и задаем необходимые параметры для отправки результатов теста на электронную почту.
nano /etc/smartd.conf
/dev/sda -a -o on -S on -s (L/../../4/16) -m root -M exec /usr/share/smartmontools/smartd-runner
/dev/sda -a -o on -S on -s (L/../../4/16) -m root -M exec /usr/share/smartmontools/smartd-runner
Если требуется поставить на мониторинг ещё один диск, то пропишите со следующей строки тоже самое, только укажите не диск sda, а например sdb.
/dev/sdb -a -o on -S on -s (L/../../4/16) -m root -M exec /usr/share/smartmontools/smartd-runner
Каждое значение в строчке отвечает за отдельный параметр:
- -а — Анализ диска на его «здоровье»
- -o on –Включение S.M.A.R.T. тестов для обновления статуса атрибутов
- -S on — включение автосохранения атрибутов
- -s — самотестирование, в данном случае (L - «long» запускать длительное тестирование по четвергам в 16:00). Если требуется выбрать несколько дней для мониторинга, то впишите с какого по какой день требуется, например с понедельника по воскресенье будет 1-7. Формат указанный в скобках идёт следующим образом (Тип теста/месяц года "01-12"/день месяца "01-31"/день недели"1-7"/время в часах"00-23")
- -m — пункт отправки почты о проблеме. В данном примере почта будет отправляться root-пользователю (переадресацию на необходимый ящик можно задать в /etc/aliases). Так же можно вместо параметра root указать нужный E-mail (-m [email protected])
- -M – параметр отвечающий за модификацию сообщения перед его отправкой. В данном примере запускается скрипт /usr/share/smartmontools/smartd-runner. Эта опция полезна если требуется выбрать, например, другой почтовый клиент.
После выставления всех необходимых параметров перезагрузите smartmontools-демонкомандой:
service smartmontools restart