Linux

Основы smartctl: как мониторить здоровье дисков в Linux

Эта статья объясняет, как использовать утилиту smartctl для мониторинга здоровья дисковых накопителей в Linux. Вы научитесь выполнять тесты SMART и интерпретировать их вывод.

Обновлено 17 февраля 2026 г.
15-20 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04 LTS и вышеDebian 10 Buster и вышеCentOS 7 и вышеFedora 35 и выше

Введение

Утилита smartctl является частью пакета smartmontools и предоставляет интерфейс для доступа к данным SMART (Self-Monitoring, Analysis and Reporting Technology) на жестких дисках (HDD) и твердотельных накопителях (SSD). Мониторинг здоровья дисков позволяет заблаговременно выявить признаки отказа, предотвратив потерю данных. В этом руководстве вы узнаете, как установить smartctl, выполнять базовые проверки и интерпретировать результаты для поддержания надежности вашей системы.

Требования / Подготовка

Перед началом убедитесь, что у вас есть:

  • Доступ к терминалу Linux с правами суперпользователя (sudo).
  • Активное интернет-соединение для установки пакетов (если smartmontools не установлен).
  • Знание основных команд Linux (lsblk, sudo).

Примечание: Утилита smartctl работает с дисками, поддерживающими технологию SMART. Большинство современных HDD и SSD имеют такую поддержку.

Шаг 1: Установка smartmontools

Если пакет smartmontools еще не установлен в вашей системе, установите его через менеджер пакетов.

Для дистрибутивов на базе Debian/Ubuntu:

sudo apt update
sudo apt install smartmontools

Для CentOS/RHEL 7:

sudo yum install smartmontools

Для CentOS 8+, Fedora, RHEL 8+:

sudo dnf install smartmontools

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

smartctl --version

Шаг 2: Определение дисковых устройств

Чтобы работать с smartctl, необходимо знать путь к дисковому устройству (например, /dev/sda). Используйте команду lsblk для списка всех блочных устройств:

lsblk

Пример вывода:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 238,5G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0   128G  0 part /
└─sda3   8:3    0   110G  0 part /home
sdb      8:16   0   1,8T  0 disk 
└─sdb1   8:17   0   1,8T  0 part /data

В этом случае, основные диски — /dev/sda и /dev/sdb. Выберите диск, который хотите проверить.

Шаг 3: Запуск краткого SMART-теста

Краткий тест (short) быстро проверяет общее состояние диска и обычно занимает 1-2 минуты. Используйте опцию -H для проверки здоровья:

smartctl -H /dev/sdX

Замените /dev/sdX на ваш диск (например, /dev/sda).

Пример вывода:

smartctl 7.2 2021-10-10 r5145 [x86_64-linux-5.4.0-91-generic] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Если результат PASSED, диск в хорошем состоянии. Если FAILED, требуется дальнейшее обследование.

Шаг 4: Просмотр подробной информации SMART

Для детального анализа используйте опцию -a:

smartctl -a /dev/sdX

Это выведет все SMART-атрибуты, логи ошибок и информацию о диске. Обращайте внимание на разделы:

  • SMART overall-health self-assessment test result: общий вердикт.
  • SMART Attributes: таблица атрибутов. Критические атрибуты включают:
    • Reallocated_Sector_Ct: количество перераспределенных секторов. Ненулевые значения указывают на износ.
    • Current_Pending_Sector: сектора, ожидающие перезаписи. Высокое значение — признак проблем.
    • UDMA_CRC_Error_Count: ошибки кабеля (для PATA/SATA). Указывает на проблемы с подключением.
    • Temperature_Celsius: температура диска.
  • SMART Error Log: журнал ошибок.

Пример вывода атрибутов:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       12345
194 Temperature_Celsius     0x0022   100   100   000    Old_age   Always       -       35

Здесь RAW_VALUE для Reallocated_Sector_Ct равен 0, что хорошо.

Шаг 5: Запуск расширенного SMART-теста

Для глубокой проверки выполните длительный тест (long). Этот тест проверяет всю поверхность диска и может занять от нескольких минут до нескольких часов в зависимости от размера диска.

smartctl -t long /dev/sdX

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

smartctl -a /dev/sdX | grep -A1 "Self-test execution status"

Или подождите завершения и затем снова выполните smartctl -a для просмотра результатов в разделе SMART Self-test log.

⚠️ Важно: Длительный тест может занять от 30 минут до нескольких часов. Не прерывайте его без необходимости.

Шаг 6: Анализ результатов и интерпретация

После выполнения тестов (краткого или длинного) проанализируйте вывод:

  1. Общий статус здоровья: ищите строку SMART overall-health self-assessment test result. Если PASSED, диск здоров. Если FAILED, срочно проверьте атрибуты и логи.
  2. Проверьте критические атрибуты из таблицы. Любой атрибут с типом Pre-fail и значением RAW_VALUE выше порога (THRESH) или упавшим VALUE ниже THRESH требует внимания.
  3. Изучите SMART Self-test log для деталей пройденных тестов. Ошибки в тестах указывают на проблемы.

Если обнаружены проблемы, рекомендуется:

  • Срочно создать резервную копию данных.
  • Запланировать замену диска, если ошибки нарастают.
  • Проверить кабели и подключение (особенно для UDMA_CRC_Error_Count).

Проверка результата

После выполнения гайда, вы должны:

  • Увидеть PASSED в общем здоровье диска после краткого теста.
  • Иметь понимание состояния ваших дисков через атрибуты SMART.
  • При необходимости, запустить и завершить длинный тест без ошибок.

Для подтверждения, повторно выполните smartctl -H /dev/sdX и убедитесь, что статус PASSED. Также проверьте, что в атрибутах нет предупреждающих значений.

Возможные проблемы

Ошибка "Permission denied" или "Unable to open device"

  • Причина: недостаточно прав для доступа к устройству.
  • Решение: используйте sudo перед командой smartctl. Например: sudo smartctl -a /dev/sda.

Сообщение " SMART support is: Unavailable" или "Unable to detect SMART"

  • Причина: диск не поддерживает SMART, или драйвер не предоставляет доступ (например, для некоторых RAID-контроллеров или внешних дисков).
  • Решение: Убедитесь, что диск подключен напрямую к контроллеру (не через RAID). Для RAID-массивов используйте утилиты встроенного контроллера. Проверьте, поддерживает ли диск SMART, через документацию.

Длительный тест не запускается или завершается с ошибкой

  • Причина: диск занят (например, смонтирован и активно используется), или аппаратная проблема.
  • Решение: Попробуйте запустить тест в однопользовательском режиме или с размонтированным диском (если это возможно). Для системного диска, может потребоваться загрузка с live-USB. Если тест постоянно падает, диск, вероятно, неисправен.

Низкие значения атрибутов (например, Reallocated_Sector_Ct > 0)

  • Причина: диски со временем накапливают сбойные сектора и перераспределяют их.
  • Решение: Мониторьте динамику. Если значение растет, планируйте замену диска. Резервное копирование данных обязательно.

smartctl не найден после установки

  • Причина: пакет установлен, но путь не в PATH, или установка неудачная.
  • Решение: Переустановите пакет или проверьте, что /usr/sbin в PATH. Обычно smartctl находится в /usr/sbin/smartctl.

Часто задаваемые вопросы

Что такое SMART и зачем он нужен?
Как установить smartctl в Linux?
Как интерпретировать результаты SMART-теста?
Нужно ли запускать SMART-тесты регулярно?

Полезное

Установка smartmontools
Определение дисковых устройств
Запуск краткого SMART-теста
Просмотр подробной информации SMART
Запуск расширенного теста
Анализ результатов и интерпретация

Эта статья помогла вам решить проблему?