Linux

Установка smartmontools в Linux: пошаговое руководство

Это руководство поможет вам установить утилиту smartmontools в любом дистрибутиве Linux, чтобы отслеживать состояние накопителей и предотвратить внезапные сбои.

Обновлено 16 февраля 2026 г.
5-10 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04+Debian 10+CentOS 7+Fedora 35+Arch Linux

Введение / Зачем это нужно

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

После установки smartmontools вы сможете:

  • Просматривать подробную информацию о здоровье диска (температура, количество переназначенных секторов, время работы и т.д.).
  • Запускать встроенные самотесты диска.
  • Получать предупреждения о приближающемся отказе.
  • Интегрировать мониторинг в системы оповещения (например, через Nagios, Zabbix).

Это руководство подходит для всех популярных дистрибутивов Linux.

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

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

  1. У вас есть доступ к терминалу с правами sudo (или root).
  2. Диск, который вы планируете мониторить, поддерживает технологию SMART (практически все современные диски поддерживают).
  3. У вас настроен интернет для установки пакетов (если вы работаете на сервере без интернета, потребуется скачать пакеты вручную).

⚠️ Важно: Для NVMe-накопителей используются команды smartctl с особыми опциями. В этом гайде мы рассмотрим общий случай для SATA/SAS дисков. Для NVMe см. раздел Возможные проблемы.

Шаг 1: Определите имя диска

Сначала нужно узнать, как ваш диск представлен в системе. Откройте терминал и выполните:

lsblk

Вы увидите список всех блочных устройств. Обычно системный диск — /dev/sda, а дополнительные — /dev/sdb, /dev/sdc и т.д. Для NVMe дисков имена выглядят как /dev/nvme0n1.

Запомните или запишите имя диска, который хотите мониторить (например, /dev/sda). Если не уверены, какой диск нужен, проверьте точку монтирования в выводе lsblk или используйте sudo fdisk -l.

Шаг 2: Установите пакет smartmontools

Установка происходит через менеджер пакетов вашего дистрибутива. Выберите команду, соответствующую вашей системе:

Для Debian/Ubuntu и производных (Linux Mint, Pop!_OS и др.)

sudo apt update
sudo apt install smartmontools

Для RHEL/CentOS 7/8 и производных (AlmaLinux, Rocky Linux)

sudo yum install smartmontools

Для Fedora, RHEL 8+, CentOS Stream

sudo dnf install smartmontools

Для Arch Linux и производных (Manjaro, EndeavourOS)

sudo pacman -S smartmontools

Для openSUSE

sudo zypper install smartmontools

После выполнения команды пакетный менеджер установит утилиты smartctl (основная), smartd (демон для фоновой проверки) и документацию.

Шаг 3: Проверьте установку

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

smartctl --version

Ожидаемый вывод (версия может отличаться):

smartctl 7.3 2022-02-28 r5145 [x86_64-linux-5.15.0-50-generic] (local build)
Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org

Если команда не найдена, проверьте, установлен ли пакет, и что /usr/sbin (где находится smartctl) есть в вашем PATH.

Шаг 4: Выполните первую проверку диска

Теперь можно запросить информацию о диске. Замените /dev/sdX на имя вашего диска (например, /dev/sda):

sudo smartctl -a /dev/sdX

Ключевые моменты вывода:

  • SMART overall-health self-assessment test result: PASSED или FAILED. Если FAILED — диск скоро выйдет из строя.
  • SMART capabilities: Должно быть Enabled. Если Disabled, включите командой sudo smartctl -s on /dev/sdX.
  • Attributes (ATTRIBUTE_NAME): Обращайте внимание на:
    • Reallocated_Sector_Ct (переназначенные сектора) — значение >0 указывает на износ.
    • Current_Pending_Sector (ожидающие переназначение) — значение >0 — тревожный сигнал.
    • UDMA_CRC_Error_Count (ошибки кабеля) — часто указывает на плохой SATA-кабель.
    • Temperature_Celsius — температура диска.

Быстрая проверка здоровья

Если нужно только общее состояние, используйте:

sudo smartctl -H /dev/sdX

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

SMART Health Status: OK

Шаг 5: (Опционально) Настройте фоновый демон smartd

Для автоматического регулярного мониторинга можно запустить демон smartd. Он будет проверять диски по расписанию и отправлять уведомления (например, в syslog).

  1. Редактируйте конфигурацию:
    sudo nano /etc/smartd.conf
    
  2. Добавьте строку для вашего диска (пример для /dev/sda):
    DEVICESCAN -a -o on -S on -s (S/../.././02|L/../../6/03)
    
    Где:
    • DEVICESCAN — автоматически найти все поддерживающие SMART диски.
    • -a — мониторить все атрибуты.
    • -o on — включить автоматическую сборку данных при старте.
    • -S on — включить автосохранение атрибутов.
    • -s — расписание тестов: короткий каждые 2 часа, длинный каждые 6 месяцев.
  3. Запустите и включите автозагрузку:
    sudo systemctl enable --now smartd
    
  4. Проверьте статус:
    sudo systemctl status smartd
    

Теперь демон будет работать в фоне. Логи смотрите в /var/log/syslog или journalctl -u smartd.

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

После выполнения шагов:

  1. Выполните sudo smartctl -a /dev/sdX и убедитесь, что в выводе нет ошибок доступа и видна полная информация.
  2. Если настраивали smartd, проверьте, что демон активен: sudo systemctl is-active smartd (должно вернуть active).
  3. Для теста попробуйте запустить короткий тест вручную:
    sudo smartctl -t short /dev/sdX
    
    Подождите 1-2 минуты, затем снова выполните sudo smartctl -a /dev/sdX и найдите в конце вывод раздел Self-test execution status с результатом.

Если все шаги прошли без ошибок — установка и базовая настройка завершены.

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

1. Ошибка SMART support is: Unavailable или Unable to detect SMART capability

  • Причина: Диск или контроллер не передает SMART-данные (часто для RAID-массивов или некоторых USB- Enclosures).
  • Решение:
    • Для RAID: используйте утилиты от производителя контроллера (например, MegaCli для LSI).
    • Для USB: попробуйте подключить диск напрямую к SATA.
    • Для NVMe: используйте sudo smartctl -a /dev/nvme0 (обратите внимание на опцию -d nvme для некоторых версий).

2. Ошибка Permission denied или smartctl: Command line error: Invalid argument (-a)

  • Причина: Забыли sudo или указали неверное имя диска.
  • Решение: Всегда используйте sudo и проверьте имя диска через lsblk.

3. smartd не запускается или не находит диски

  • Причина: Неправильная конфигурация в /etc/smartd.conf.
  • Решение:
    • Упростите конфиг: DEVICESCAN -a (только для теста).
    • Проверьте, что диски доступны для чтения SMART: sudo smartctl -a /dev/sdX работает ли?
    • Посмотрите логи: sudo journalctl -u smartd -n 50.

4. Не хватает прав у пользователя для чтения SMART (без sudo)

  • Причина: По умолчанию только root может читать SMART.
  • Решение: Добавьте пользователя в группу disk:
    sudo usermod -aG disk $USER
    
    Внимание: Это даст доступ ко всем дискам. Перезайдите в систему или выполните newgrp disk.

5. smartctl выдает SMART overall-health self-assessment test result: FAILED!

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

6. Для NVMe дисков: smartctl: Permission denied или No such device

  • Причина: NVMe требует указания драйвера.
  • Решение: Используйте:
    sudo smartctl -a -d nvme /dev/nvme0
    
    Или для автоматического определения:
    sudo smartctl -a /dev/nvme0
    
    (в новых версиях smartmontools драйвер определяется автоматически).

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

Как проверить, поддерживает ли мой диск SMART?
Нужно ли перезагружать систему после установки smartmontools?
Как настроить автоматическую проверку дисков раз в неделю?
Почему smartctl выдает ошибку 'Permission denied'?

Полезное

Определите имя диска
Установите пакет smartmontools
Проверьте версию установленной утилиты
Выполните тестовую проверку диска