Введение
Утилита 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: Анализ результатов и интерпретация
После выполнения тестов (краткого или длинного) проанализируйте вывод:
- Общий статус здоровья: ищите строку
SMART overall-health self-assessment test result. ЕслиPASSED, диск здоров. ЕслиFAILED, срочно проверьте атрибуты и логи. - Проверьте критические атрибуты из таблицы. Любой атрибут с типом
Pre-failи значениемRAW_VALUEвыше порога (THRESH) или упавшимVALUEнижеTHRESHтребует внимания. - Изучите
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.