Введение / Зачем это нужно
smartmontools — это набор утилит для контроля состояния накопителей (жёстких дисков HDD и SSD) с использованием технологии S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology). Регулярная диагностика позволяет заблаговременно обнаружить признаки износа или сбоев, такие как рост числа переназначенных секторов (reallocated sectors) или падение температуры, и предотвратить внезапный выход диска из строя и потерю данных. Этот гайд поможет вам быстро установить и начать использовать smartmontools в вашем дистрибутиве Linux.
Требования / Подготовка
- Дистрибутив Linux с поддержкой пакетов
apt(Debian/Ubuntu),yum/dnf(CentOS/Fedora) илиpacman(Arch). - Доступ к терминалу с правами sudo или root.
- Активное интернет-соединение для загрузки пакетов.
- Убедитесь, что ваш диск поддерживает S.M.A.R.T. (большинство современных дисков поддерживают).
Установка smartmontools
Установка выполняется стандартными средствами управления пакетами вашего дистрибутива.
Для Debian и Ubuntu (и производных)
sudo apt update
sudo apt install smartmontools
Для CentOS, RHEL и Fedora
# CentOS/RHEL 8+ (использует dnf)
sudo dnf install smartmontools
# Или для старых версий CentOS 7
sudo yum install smartmontools
Для Arch Linux и Manjaro
sudo pacman -Syu smartmontools
Проверка установки и определение дисков
После установки убедитесь, что утилита smartctl доступна:
smartctl --version
Теперь найдите системное имя ваших дисков. Чаще всего это /dev/sda (для SATA), /dev/nvme0n1 (для NVMe) или /dev/vda (виртуальные машины).
lsblk
Или
sudo fdisk -l
Запомните или запишите имя нужного диска (например, /dev/sda).
Основные команды для проверки диска
1. Просмотр общей информации о диске и поддержке S.M.A.R.T.
sudo smartctl -i /dev/ИМЯ_ВАШЕГО_ДИСКА
Эта команда покажет модель, серийный номер, прошивку и, что важно, строку SMART support is: Available (доступен) или Enabled (включён).
2. Просмотр всей S.M.A.R.T.-таблицы атрибутов
sudo smartctl -a /dev/ИМЯ_ВАШЕГО_ДИСКА
Обращайте внимание на:
SMART overall-health self-assessment test result— общий результат (обычноPASSED).Reallocated_Sector_Ct— количество переназначенных секторов. Ненулевые значения — повод для беспокойства.Current_Pending_Sector— количество секторов, ожидающих переназначения. Ненулевые значения — критично.Temperature_Celsius— температура диска.
3. Запуск тестов
- Короткий тест (короткая проверка, обычно 1-2 минуты):
sudo smartctl -t short /dev/ИМЯ_ВАШЕГО_ДИСКА - Расширенный тест (полная проверка, может длиться несколько часов):
sudo smartctl -t long /dev/ИМЯ_ВАШЕГО_ДИСКА
После запуска теста вы увидите сообщение о его начале. Дождитесь его завершения (можно отслеживать прогресс командой sudo smartctl -c /dev/ИМЯ_ДИСКА). Затем снова выполните sudo smartctl -a /dev/ИМЯ_ДИСКА, чтобы увидеть результаты в разделе Self-test execution status.
Проверка результата
Главный индикатор — строка SMART overall-health self-assessment test result в выводе команды sudo smartctl -a. Если она говорит PASSED, диск в порядке. Если FAILED — это серьёзный признак скорого отказа, необходимо срочно создать резервную копию данных и заменить накопитель.
Также анализируйте ключевые атрибуты, перечисленные выше. Даже при общем PASSED рост значений Reallocated_Sector_Ct или Current_Pending_Sector со временем указывает на деградацию.
Автоматизация проверок (опционально)
Для автоматического мониторинга можно включить и настроить демон smartd:
- Активируйте и запустите сервис:
sudo systemctl enable --now smartd - Настройте конфигурационный файл
/etc/smartd.conf. Пример строки для мониторинга диска/dev/sdaс отправкой уведомлений на почту (заменитеyour-email@example.com):/dev/sda -a -I 194 -I 231 -I 232 -m your-email@example.com-a— мониторить все атрибуты.-I 194и другие — мониторить конкретные атрибуты (температура, переназначенные секторы).-m— адрес для уведомлений.
- Перезапустите сервис:
sudo systemctl restart smartd
Теперь smartd будет регулярно проверять диск и предупреждать вас о проблемах по email.
Часто задаваемые вопросы
Можно ли проверять SSD через smartmontools?
Да, абсолютно. Для SSD критически важны атрибуты Media_Wearout_Indicator (износ), Percentage Used (процент использованного ресурса) и Temperature_Celsius. Используйте команду sudo smartctl -a /dev/ИМЯ_SSD.
Как интерпретировать значение атрибута Temperature_Celsius?
Нормальная температура для HDD — 30-45°C, для SSD — 30-60°C. Постоянная работа выше 60°C (для HDD) или 70°C (для SSD) ускоряет износ. Если температура высокая, проверьте систему охлаждения корпуса.
Что такое Pre-fail и Old_age в выводе smartctl -a?
Pre-fail— атрибут, значение которого указывает на неминуемый отказ диска. Требует немедленного внимания.Old_age— атрибут, отслеживающий нормальный износ в процессе эксплуатации. Его рост не критичен, но должен быть в пределах нормы производителя.