Гид по технологиям

smartmontools: контроль и тестирование жёстких дисков

7 min read Инструменты Обновлено 03 Oct 2025
smartmontools: тест и мониторинг дисков
smartmontools: тест и мониторинг дисков

smartmontools — набор утилит (smartctl и smartd) для мониторинга SMART в ATA/SCSI дисках. Установите пакет, включите SMART, запустите тесты (короткий, длинный, conveyance), настройте демона smartd для автоматических проверок и уведомлений. Используйте gsmartcontrol для удобного GUI.

О smartmontools

smartmontools — это два основных инструмента: smartctl (вручную управляет и опрашивает диск) и smartd (демон для регулярных проверок и уведомлений). SMART — это встроенная в современные диски технология самоконтроля, анализа и отчётности. Коротко: SMART собирает показатели работы диска и может заранее предупредить о деградации.

Определение: SMART — встроенный набор метрик жёсткого диска для раннего обнаружения отказов.

Что делает этот материал

В этом руководстве показано: установка, базовые команды для терминала, интерпретация результатов, настройка демона smartd, советы по эксплойту и альтернативы. В конце — чек-листы для ролей, мини-методология внедрения и блок с частыми проблемами.

Установка

Для большинства Debian/Ubuntu-подобных систем команда установки простая:

sudo apt-get install smartmontools

Понадобится диск с поддержкой S.M.A.R.T. (обычно современные ATA/SCSI/SATA диски и SSD поддерживают).

Проверьте, распознаёт ли диск SMART:

sudo smartctl -i /dev/sda

Замените /dev/sda на имя вашего устройства (например /dev/nvme0n1 или /dev/sdb).

Информация о диске и поддержке SMART

Важно: убедитесь, что в выводе есть строки, указывающие на поддержку SMART и что SMART включён или доступен.

Включение SMART

Чтобы включить SMART на диске выполните:

sudo smartctl -s on /dev/sda

Команда включит SMART, если он ещё не активен. Повторный запуск безопасен — если SMART уже включён, команда ничего не изменит.

Включение SMART на диске

Просмотр полной информации SMART

Для общего вывода SMART для IDE:

sudo smartctl -a /dev/sda

Для SATA (явно указать драйвер):

sudo smartctl -a -d ata /dev/sda

Чтобы получить краткий статус здоровья диска:

sudo smartctl -H /dev/sda

Если команда показывает FAIL или другие ошибки — сделайте резервную копию данных как можно скорее.

Самотесты диска: типы и запуск

smartctl поддерживает три основных типа самотестов:

  • short — быстрый тест, обычно несколько минут;
  • long (extended) — полный, может занимать часы;
  • conveyance — тест после транспортировки (короткий тест ориентирован на механические проблемы при перевозке).

Посмотреть список доступных тестов и примерные времена выполнения:

sudo smartctl -c /dev/sda

Примеры запуска:

sudo smartctl -l long /dev/sda
sudo smartctl -l short /dev/sda
sudo smartctl -l conveyance /dev/sda

Результат выполнения длинного теста (пример):

Вывод долгого теста smartctl

Примечание: тесты запускаются на уровне диска и выполняются в фоне. Для получения статуса выполнения используйте команды smartctl для просмотра логов теста.

Получить результаты самотеста:

sudo smartctl -l selftest /dev/sda

Результаты самотестов smartctl

Если вы не понимаете вывод — изучите man-страницы или используйте GUI (см. ниже).

man 8 smartctl
man 8 smartd

Демон smartd: автоматизация и уведомления

Чтобы smartmontools запускался автоматически, отредактируйте файл настроек по умолчанию:

sudo nano /etc/default/smartmontools

Найдите и раскомментируйте строку, отвечающую за автозапуск демона. После этого демон будет стартовать при загрузке системы.

Отредактируйте конфигурацию демона:

sudo nano /etc/smartd.conf

Пример умолчательной конфигурации smartd

Если директива DEVICESCAN не работает, укажите конкретный путь, например /dev/sda. Пример строки в smartd.conf:

/dev/sda -m root -M exec /usr/share/smartmontools/smartd-runner

Разбор параметров:

  • -m root — отправлять почту пользователю root при ошибке;
  • -M exec /usr/share/smartmontools/smartd-runner — запускать скрипт smartd-runner для обработки событий (можно удалить, если файла нет).

Пример более полной строки с планировщиком самотестов:

DEVICESCAN -a -H -l error -l selftest -f -s(S/../.././02|L/../../6/03) -m root -M exec /usr/share/smartmontools/smartd-runner

Объяснение:

  • -a — включает набор часто используемых опций;
  • -H — проверять статус здоровья;
  • -l error -l selftest — логировать ошибки и результаты самотестов;
  • -f — проверять критические атрибуты использования (failure attributes);
  • -s(S/../.././02|L/../../6/03) — расписание: короткий тест каждый день в 02:00, длинный тест — каждые субботы в 03:00.

Больше деталей в man-файле:

man 5 smartd.conf

GUI: GSmartControl

Если вы предпочитаете графический интерфейс, установите GSmartControl:

sudo apt-get install gsmartcontrol

Пример окна GSmartControl и контекстного меню по правому клику:

Интерфейс GSmartControl — список устройств

Информация об устройстве в GSmartControl

GUI упрощает чтение SMART-атрибутов и запуск самотестов.

Когда SMART может не сработать

Важно понимать ограничения SMART и случаи, когда он не предупреждает об отказе:

  • SMART не покрывает все виды отказов аппаратуры (например, внезапная электроника на плате контроллера);
  • Некоторые SSD имеют собственные внутренние метрики, которые smartctl не всегда корректно интерпретирует;
  • Некорректные драйверы или контроллеры RAID могут скрывать SMART-информацию;
  • SMART даёт предупреждения о трендах, но не гарантирует точного прогноза времени отказа.

Если вам нужна повышенная надёжность, используйте сочетание мониторинга SMART и стратегий резервного копирования/репликации.

Альтернативные подходы и инструменты

  • vendor-specific утилиты (Seagate SeaTools, Western Digital Data Lifeguard) для глубоких тестов;
  • контроллерные/RAID-ориентированные утилиты от производителя контроллера;
  • аппаратные мониторы в системах хранения (SAN/NAS) с собственными S.M.A.R.T.-агрегаторами;
  • регулярные проверки целостности данных (например, еженочные проверки контрольных сумм).

Комбинируйте несколько инструментов для снижения риска потери данных.

Ментальные модели и простые эвристики

  • Ловите тренды, а не единовременные ошибки. Рост числа переназначенных секторов и увеличивающееся время чтения — тревожные признаки.
  • Реагируйте немедленно на SMART ERROR или uncorrectable sectors — делайте бэкап и планируйте замену.
  • Используйте автоматический демон для обнаружения трендов, а GUI для разовых глубоких проверок.

Мини-методология внедрения (быстрый план)

  1. Инвентаризация: определите все диски и контроллеры в системе.
  2. Тест на совместимость: запустите smartctl -i на всех устройствах.
  3. Включение SMART: smartctl -s on для поддерживаемых устройств.
  4. Настройка расписания: добавьте DEVICESCAN или конкретные устройства в /etc/smartd.conf.
  5. Внедрение уведомлений: настройте -m пользователь или интегрируйте скрипт в систему мониторинга.
  6. Документация: сохраните конфигурации и процедуры восстановления.

Роль‑ориентированные чек‑листы

Администратору:

  • Проверить наличие и поддержку SMART на всех дисках;
  • Включить smartd и убедиться, что демон запускается при загрузке;
  • Настроить уведомления и периодические тесты;
  • Тестировать процедуру восстановления данных.

Разработчику/инженеру по надежности:

  • Интегрировать SMART-метрики в систему мониторинга (Prometheus, Zabbix, Nagios);
  • Создать алерты на рост переназначенных секторов и времени чтения;
  • Планировать замены дисков заранее при сигналах деградации.

Обычному пользователю:

  • Регулярно делать резервные копии важных данных;
  • В случае ошибок SMART — немедленно бэкапить и обратиться к администратору.

Критерии приёмки

  • Демон smartd работает и начинает отправлять тесты по расписанию;
  • Уведомления о критических ошибках доставляются (email/ALARMS);
  • Минимум 90% дисков в инвентаре корректно отчитываются в smartctl -a;
  • Документированная процедура замены диска и восстановления данных.

Примеры тестов и приёмочных критериев

  • Запустить короткий тест на всех дисках и получить статус PASS для 95% устройств;
  • Запустить длинный тест на выборке дисков и получить отсутствие новых критических ошибок;
  • Смоделировать отказ диска и пройти процедуру восстановления из бэкапа.

Советы по безопасности и приватности

  • Скрипты smartd-runner могут отправлять почту. Защитите конфиденциальные логи и доступ к почтовому серверу;
  • Не публикуйте вывод smartctl с полными серийными номерами в публичных репозиториях;
  • При интеграции с внешним мониторингом используйте защищённые каналы и меры контроля доступа.

Частые проблемы и обходы

  • «SMART не доступен» на виртуализованных или аппаратных RAID-контроллерах — проверьте passthrough/параметры контроллера;
  • NVMe-диски: используйте драйвер nvme и smartctl с ключом -d nvme если требуется;
  • Если smartd-runner отсутствует, замените -M exec на собственный скрипт уведомления.

Пример простого рабочего процесса (playbook)

  1. Установить smartmontools и gsmartcontrol;
  2. Проверить устройства: smartctl -i на каждом;
  3. Включить SMART: smartctl -s on;
  4. Настроить smartd.conf с DEVICESCAN и расписанием коротких/длинных тестов;
  5. Настроить уведомления (-m) и протестировать отправку почты;
  6. Интеграция с системой мониторинга и запись метрик в долгосрочный бэкап.

Быстрый глоссарий (одна строка на термин)

  • SMART — встроенная система самоконтроля диска;
  • smartctl — утилита для ручной работы с SMART;
  • smartd — демон для регулярных проверок и уведомлений;
  • selftest — встроенный самопроверочный тест диска;
  • DEVICESCAN — директива smartd.conf для автоматического поиска устройств.

Когда сменить диск

Немедленно планируйте замену, если вы видите:

  • FAIL в smartctl -H;
  • возрастание Reallocated_Sector_Ct или Current_Pending_Sector;
  • ошибки чтения/записи в логах ОС;
  • системные ошибки I/O, которые коррелируют с ухудшением SMART-показателей.

Заключение

smartmontools — надёжный и простой в использовании набор утилит для мониторинга состояния дисков и раннего обнаружения деградации. Его стоит включить на серверах и рабочих станциях, где важна сохранность данных. Настройте smartd для автоматизации, используйте GUI для удобства и интегрируйте метрики в систему мониторинга для полного контроля.

Важно: SMART — не замена бэкапов. Это инструмент раннего оповещения, который работает лучше в паре с политикой резервного копирования и планом замены дисков.

Ссылки

  • smartmontools.org
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Кинематографичные видео на смартфон — 7 советов
Видео

Кинематографичные видео на смартфон — 7 советов

Как ускорить Google Chrome — 9 быстрых способов
Браузеры

Как ускорить Google Chrome — 9 быстрых способов

EA AntiCheat несовместимый драйвер — как исправить
Техподдержка

EA AntiCheat несовместимый драйвер — как исправить

Как использовать Android как модем по USB
Руководство

Как использовать Android как модем по USB

Установить Linux на Chromebook: пошаговый гид
Chromebook

Установить Linux на Chromebook: пошаговый гид

smartmontools: тест и мониторинг дисков
Инструменты

smartmontools: тест и мониторинг дисков