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

SMART и smartmontools — проверка дисков

6 min read Инфраструктура Обновлено 16 Oct 2025
SMART и smartmontools — проверка дисков
SMART и smartmontools — проверка дисков

Что такое SMART

SMART — встроенная в современные накопители технология самоконтроля, коротко: она собирает показатели состояния диска (атрибуты), анализирует их и при признаках деградации может предупредить о вероятном выходе из строя. Это не гарантия, а индикатор: полезное дополнительное время для миграции данных.

Кратко о терминах:

  • SMART: технология мониторинга состояния дисков.
  • smartctl: утилита для интерактивных проверок и управления SMART.
  • smartd: демон, который периодически запрашивает SMART и отправляет оповещения.

TL;DR по командам (копируйте и корректируйте под свой диск)

  • Установить (Debian/Ubuntu): sudo apt-get update && sudo apt-get install smartmontools
  • Проверить идентификацию диска: sudo smartctl -i /dev/sda
  • Включить SMART: sudo smartctl -s on /dev/sda
  • Быстрая проверка здоровья: sudo smartctl -H /dev/sda
  • Запустить короткий тест: sudo smartctl -t short /dev/sda
  • Просмотреть журнал самотестов: sudo smartctl -l selftest /dev/sda

Установка

На Debian/Ubuntu smartmontools доступен в стандартных репозиториях:

sudo apt-get update
sudo apt-get install smartmontools

На Fedora (dnf):

sudo dnf install smartmontools

На старых системах встречается yum:

sudo yum install smartmontools

Установка добавляет две главные программы: smartctl (интерактивная) и smartd (демон для фоновой работы).

smartctl — базовые проверки и самотесты

Важно: smartctl работает с устройством целиком, а не с разделами. Пример устройства — /dev/sda. Замените на свой файл устройства (/dev/nvme0n1, /dev/sdb и т.д.).

Получить информацию о диске:

sudo smartctl -i /dev/sda

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

Результат покажет, доступна ли поддержка SMART и включена ли она. Если поддержка доступна, но выключена — включите:

sudo smartctl -s on /dev/sda

Проверка статуса здоровья:

sudo smartctl -H /dev/sda

Результат проверки здоровья диска.

Если вывод не содержит PASSED, диск либо уже неисправен, либо предсказывает скорый отказ. Скопируйте данные и подготовьте замену.

Просмотр возможностей SMART и оценка времени самотестов:

sudo smartctl -c /dev/sda

Показаны возможности SMART и оценки времени self-test.

Команды для запуска самотестов:

  • Короткий тест (обычно 1–10 минут):
sudo smartctl -t short /dev/sda

Запуск короткого self-test.

  • Длинный (расширенный) тест, более тщательный:
sudo smartctl -t long /dev/sda

Тесты выполняются в фоне, но могут замедлять диск. Проверить результаты (последние 20 тестов):

sudo smartctl -l selftest /dev/sda

Если self-test или health-check провалены — приоритет: резервное копирование, затем замена.

Советы и уточнения

  • Параметр -d TYPE: при некоторых контроллерах (RAID-контроллеры, USB-адаптеры, nvme) smartctl может требовать указания типа устройства, например -d sat или -d nvme. Если smartctl корректно определил диск — этот параметр не нужен.
  • NVMe: используйте smartctl -x /dev/nvme0n1 для расширенной информации.
  • Права: smartctl требует root; используйте sudo.

smartd — автоматизация проверок и оповещений

smartd — демон для регулярной проверки SMART и отправки оповещений (например, по e‑mail). Он читает /etc/smartd.conf.

Примерный порядок настройки:

  1. Откройте /etc/smartd.conf и закомментируйте строку DEVICESCAN (если вы хотите явно перечислять устройства). Затем добавьте строчки для каждого диска, например:
/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) -m root -M exec /usr/share/smartmontools/smartd-runner

Пояснение опций:

  • /dev/sda — файл устройства.
  • -a — включает набор распространённых опций (включая некоторые базовые проверки).
  • -d TYPE — укажите, если smartd не угадывает интерфейс (sat, ata, nvme и т.д.).
  • -o on — автоматическое оффлайн-тестирование SMART.
  • -S on — autosave SMART-атрибутов.
  • -s (S/../.././02|L/../../6/03) — расписание: короткий тест ежедневно в 02:00 и длинный тест каждую субботу в 03:00.
  • -m root — отправлять уведомления на root (можно несколько адресов через запятую).
  • -M exec /usr/share/smartmontools/smartd-runner — запуск скрипта-обработчика вместо/вместе с письмом (на Debian/Ubuntu smartd-runner выполняет дополнительные действия).
  1. Убедитесь, что на системе настроена отправка почты (mailx/ssmtp/postfix/ssmtp для тревог). Без рабочего MTA уведомления по e‑mail не придут.

  2. Включите демон при старте системы и запустите его. На systemd-системах:

sudo systemctl enable --now smartd

На системах с init-скриптом:

sudo /etc/init.d/smartmontools start
  1. Для проверки конфигурации используйте журналы:
journalctl -u smartd --since "1 hour ago"

Для теста оповещений можно добавить ключ тестовой доставки в конфигурацию, например -M test, и перезапустить демон. Это должно вызвать условное уведомление.

Платформенные и аппаратные ограничения

Важно знать, когда SMART не поможет:

  • Аппаратные RAID-контроллеры могут скрывать SMART-интерфейс за контроллером. В таких случаях нужно использовать утилиты контроллера или подключить диск напрямую.
  • USB-корпуса иногда не передают SMART-команды. Подключите диск напрямую SATA/USB с поддержкой SMART или используйте адаптер, который поддерживает SMART passthrough.
  • Некоторые SSD используют другие атрибуты, которые интерпретировать сложнее. У SSD и HDD разные критические атрибуты.
  • Виртуальные диски/образы и облачные тома не имеют реального SMART.

Альтернативные и дополняющие подходы:

  • Использовать родные утилиты производителя (SeaTools, Data Lifeguard и т.д.).
  • Подключить мониторинг в систему наблюдения: Prometheus + node_exporter + smartmon_exporter.
  • Регулярные файловые бэкапы и контрольная целостность (checksum, fsck, periodic scrubs) как основа надежности.

Практическое руководство — краткий playbook при предупреждении SMART

  1. Не паниковать. Оцените сообщение: какие атрибуты деградируют (Reallocated_Sector_Ct, Current_Pending_Sector, UDMA_CRC_Error_Count и др.).
  2. Немедленно сделайте полный бэкап важных данных.
  3. Ограничьте нагрузку на диск (если возможно): отмонтируйте, переведите сервисы на другой диск/сервер.
  4. Протестируйте диск: запустите smartctl -t long и smartctl -l selftest.
  5. Запланируйте замену: закажите новый диск, проведите RMA если в гарантии.
  6. После замены — восстановите данные, проверьте целостность.

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

  • Диск не имеет критических ошибок в выводе smartctl -H.
  • Значения ключевых атрибутов (reallocated, pending) находятся в норме.
  • Самотесты (short/long) завершены и не содержат FAIL.

Проверка и устранение типовых проблем

  • smartd не запускается: проверьте синтаксис /etc/smartd.conf, логи journalctl, наличие прав на устройство, корректность параметра -d.
  • Нет писем об ошибках: убедитесь в корректной настройке MTA (postfix/ssmtp) и в том, что адрес в -m существует.
  • SMART не доступен через USB: подключите диск напрямую к SATA или используйте адаптер с поддержкой SMART passthrough.

Рольовые чек-листы

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

  • Настроить smartd и расписания self-tests.
  • Настроить оповещения (mail + скрипты runner).
  • Мониторить ключевые метрики в панели наблюдения.

Helpdesk / инженер первой линии:

  • При получении оповещения: собрать сообщение, уровень критичности и владельца данных.
  • Организовать бэкап и уведомить администратора.

Обычный пользователь:

  • Немедленно сделать локальный бэкап ценных файлов.
  • Не пытаться «чинить» диск программными инструментами без согласования.

Примеры команд и шпаргалка

Просмотр всех SMART атрибутов:

sudo smartctl -A /dev/sda

Подробная диагностика (расширенный вывод):

sudo smartctl -x /dev/sda

Просмотр журнала самотестов:

sudo smartctl -l selftest /dev/sda

Запуск длинного теста и проверка статуса:

sudo smartctl -t long /dev/sda
sleep 10
sudo smartctl -c /dev/sda

Decision tree (быстрое решение) — диаграмма Mermaid

flowchart TD
  A[Получено оповещение SMART] --> B{Статус health}
  B -->|PASSED| C[Отследить и мониторить]
  B -->|FAILED или Предупреждение| D[Сделать бэкап]
  D --> E{Критические атрибуты?}
  E -->|Да| F[Запланировать замену немедленно]
  E -->|Нет| G[Запустить длинный тест и наблюдать 24–72ч]
  G -->|Ухудшение| F
  G -->|Стабильность| C

Краткая методология внедрения в инфраструктуру (микро-план)

  1. Провести аудит: какие диски и контроллеры используются.
  2. Проверить, какие устройства поддерживают SMART напрямую.
  3. Настроить smartd с базовым расписанием и оповещениями на тестовой группе.
  4. Интегрировать оповещения в систему инцидентов (email, Slack, PagerDuty).
  5. Постепенно охватить всю инфраструктуру и ввести периодические проверки.

Безопасность и конфиденциальность

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

Глоссарий (одной строкой)

  • Reallocated_Sector_Ct — число переназначенных секторов; рост — плохой признак.
  • Current_Pending_Sector — сектора, ожидающие переадресации; критично.
  • UDMA_CRC_Error_Count — ошибки связи; может указывать на кабель/контроллер.

Заключение

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

Важно: не полагайтесь исключительно на SMART. Используйте его как часть комплексной политики доступности и резервирования данных.

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

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

Как AI переводит видео и помогает выйти на новые рынки
Локализация

Как AI переводит видео и помогает выйти на новые рынки

Исправить NET::ERR_CERT_AUTHORITY_INVALID в Windows 10
Windows

Исправить NET::ERR_CERT_AUTHORITY_INVALID в Windows 10

Учить английский с ИИ: 10 лучших приложений
Обучение языкам

Учить английский с ИИ: 10 лучших приложений

Субтитры в Final Cut Pro — как добавить и настроить
Видео

Субтитры в Final Cut Pro — как добавить и настроить

Установка BIKA LIMS Inkosi на Ubuntu за 15 минут
Инструкции

Установка BIKA LIMS Inkosi на Ubuntu за 15 минут

Как продлить жизнь аккумулятора iPhone
Гаджеты

Как продлить жизнь аккумулятора iPhone