По умолчанию в каждом дистрибутиве Linux установлена
Дисковая утилита (нынешнее название
Диски), включающая возможность проверки S.M.A.R.T.
Но можно установить более функциональные инструменты, позволяющие своевременно контролировать и диагностировать состояние накопителей.
Пакет
smartmontools состоит из двух утилит (smartctl и smartd), которые контролируют и следят за системными накопителями используя самопроверку, анализ и систему технологического отчёта (S.M.A.R.T.), встроенную в большинство современных ATA и SCSI жёстких дисков. Этот пакет основан на
коде пакета smartsuite и включает поддержку ATA/ATAPI-5 дисков. Он должен быть запущен на любой современной Linux системе.
S.M.A.R.T. — технология самодиагностики и предсказания возможного отказа жесткого диска.
sudo apt install smartmontools
Добавление в автозагрузку:
sudo update-rc.d smartmontools defaults
Пакет smartmontools состоит из двух утилит командной строки:
smartctl — просмотр текущих значений S.M.A.R.T., запуск тестов самодиагностики диска вручную;
smartd — демон для записи в системный журнал изменений в значениях S.M.A.R.T., уведомления по электронной почте об ошибках, запуска тестов самодиагностики по расписанию.
Возьмём к рассмотрению, например, диск /dev/sda.
Информация о диске /dev/sda:
sudo smartctl -i /dev/sda
Если S.M.A.R.T. отключен, то для включения нужно выполнить команду:
sudo smartctl -s on /dev/sda
Просмотр значений S.M.A.R.T. для устройства /dev/sda:
sudo smartctl -A /dev/sda
Существует 2 типа атрибутов (колонка TYPE):
- критичные атрибуты (pre-fail);
- некритичные атрибуты (old_age).
Критичные атрибуты:
- Raw Read Error Rate - частота ошибок при чтении данных с диска;
- Reallocated Sector Count - число операций переназначения секторов;
- Spin Up Time - время раскрутки пакета дисков из состояния покоя до рабочей скорости;
- Spin Up Retry Count - число повторных попыток раскрутки дисков до рабочей скорости, в случае если первая попытка была неудачной;
- Seek Error Rate - частота ошибок при позиционировании блока головок.
Полный список атрибутов с описанием есть в
википедии.
Быстрый опрос диска на предмет живучести с предсказанием отказа диска в ближайшие 24 часа:
sudo smartctl -H /dev/sda
Список поддерживаемых тестов и примерное время на каждый текст:
sudo smartctl -c /dev/sda
Запуск теста на проверку читаемости секторов:
sudo smartctl -t short /dev/sda
Поскольку тест запускается в фоне, то статус проверки можно узнать с помощью команды:
sudo smartctl -l selftest /dev/sda
Журнал ошибок, произошедших во время работы диска:
sudo smartctl -l error /dev/sda
Журнал тестов самодиагностики:
sudo smartctl -l selftest /dev/sda
Для периодического тестирования дисков настроим демон
smartd.
Для этого нужно активировать smartd в
/etc/default/smartmontools, задать настройки в
/etc/smartd.conf, перезапустить демон:
sudo /etc/init.d/smartmontools restart
Отредактируем файл
/etc/default/smartmontools, удалив # перед
start_smartd. Параметр
smartd_opts отвечает за дополнительные опции для smartd,
--interval говорит о периодичности проведения самодиагностики.
Описание используемых опций:
-a - включение большинства возможностей мониторинга: проверка "здоровья" диска, отслеживание изменений всех атрибутов, отслеживание неудачных тестов диагностики;
-s (S/../../(1|3|6)/01|L) - расписание запуска тестов диагностики диска в виде регулярного выражения. В данном случае: в 1 час ночи в понедельник, среду, субботу будет запускаться краткий тест диска;
-m
root@example.com - email пользователя, который будет получать сообщения о ошибках дисков. Для функционирования должен быть настроен почтовый сервер;
-M diminishing - периодически повторять отправку письма с сообщениями об ошибке.
После внесения правок в
/etc/smartd.conf перезапустим демон:
sudo /etc/init.d/smartmontools restart
Если возникли ошибки, то нужно смотреть лог
/var/log/daemon.log.
Для проверки работы email-оповещения нужно в /etc/smartd.conf вместо -M diminishing поставить -M test.
Для установки GUI нужно выполнить:
sudo apt install gsmartcontrol
О настройке почты -
PostfixGSmartControl - это графический пользовательский интерфейс для smartctl из пакета smartmontools, который является инструментом для запроса и контроля смарт (поддерживающих технологию SMART), сведения о современных жестких дисках и твердотельных накопителях. Он позволяет проверить смарт-диск с данными, чтобы определить состояние его здоровья, а также запускать различные тесты.
Пакеты gsmartcontrol
gsmartcontrol, версия 1.1.1 уже подготовлена для Ubuntu 18.04 (Bionic).