Проверка SATA HDD и SSD дисков с помощью smartctl.
08 Jul 2026, 13:30:37
SMART (Self-Monitoring, Analysis and Reporting Technology) - технология самоконтроля, анализа и отчётности состояния диска, которую поддерживает почти любой современный жёсткий диск, SSD или NVMe-накопитель. В процессе работы контроллер диска собирает некоторую статистику своего состояния (температуру, количество отработанных часов, ошибки, число запусков и многое другое). Эта информация косвенно или прямо может указать на проблемы диска или его подключения, выявить признаки деградации до полного отказа носителя.В этой статье мы рассмотрим работу с пакетом smartmontools, который используется для отображения параметров SMART, запуска тестов и автоматического контроля состояния накопителей.
Что такое smartctl
smartctl - утилита из пакета smartmontools для ручной диагностики диска и вывода информации о нём. Пакет также содержит демон smartd для автоматического контроля состояния диска, а также уведомления об обнаруженных проблемах.Установка smartctl
На всех выделенных серверах компании Virterion.com утилита установлена по умолчанию. Установить пакет smartmontools можно из стандартных репозиториев системы. Все команды в примерах выполняются под пользователем root, в ином случае перед основной командой добавляйте команду sudo.Debian и Ubuntu
apt install smartmontoolsAlmaLinux, RHEL
dnf install smartmontoolsArch Linux
pacman -S smartmontoolsПроверить версию установленной программы можно командой:
smartctl --versionНа момент написания статьи в репозиториях Ubuntu 24.04 имеется версия smartctl 7.4:
Однако актуальная версия smartmontools, на момент написания статьи, это 7.5. Для её установки утилиту необходимо собрать вручную.
Сборка smartmontools из исходников
Установим все необходимые зависимости, для Ubuntu и Debian команда выглядит так:apt update
apt install build-essential git autoconf automake libtoolСкачиваем и распаковываем архив с программой:wget -q https://downloads.sourceforge.net/project/smartmontools/smartmontools/7.5/smartmontools-7.5.tar.gz && tar xf smartmontools-7.5.tar.gz
Собираем smartmontools и устанавливаем пакет с помощью команд:
cd smartmontools-7.5
./configure
make && make installСборка займёт непродолжительное время. После успешного завершения можно проверить версию утилиты и убедиться, что собрана актуальная версия:smartctl --version
Обновление smartmontools
Если у вас уже установлена старая версия smartmontools, например из репозиториев системы, актуализировать её можно собрав программу вручную (как это сделать описано в прошлой главе).После сборки новой версии программы достаточно заменить исполняемый файл на новый. Найти его можно с помощью команды:
whereis smartctlНа Ubuntu 24.04 это /usr/sbin/smartctl.
Создадим ссылку на исполняемый файл новой версии программы, заменив старую:
ln -sf /usr/local/sbin/smartctl /usr/sbin/smartctl- -s - создать символическую ссылку;
- -f - удалить файл по пути ссылки, если он существует.

Определение дисков
С помощью smartctl можно вывести список всех накопителей в системе, с которыми утилита может работать:smartctl --scanКоманда выводит список найденных устройств и рекомендуемый тип устройства.
Вывод информации о диске
Просмотреть информацию о накопителе можно с помощью команды:smartctl -i /dev/sda- /dev/sda - имя диска.

Основные поля:
| Device Model | модель диска |
| Serial Number | серийный номер |
| Firmware Version | версия прошивки |
| User Capacity | объём диска |
| Sector Size | размер логического и физического сектора |
| Rotation Rate | скорость вращения шпинделя HDD (в примере SSD) |
| Form Factor | физический формат накопителя |
| TRIM Command | поддержка команды TRIM (только для SSD) |
| Device is | наличие информации о модели накопителя в базе данных smartmontools |
| SATA Version is | поддерживаемая и версия стандарта SATA и скорость обмена данными (поддерживаемая и используемая) |
| SMART support is | две одноимённых строки: первая ("Available - device has SMART capability") говорит о аппаратной поддержке технологии SMART самим накопителем, вторая ("Enabled") - говорит о том, что SMART включен или отключен (Disabled). |
Включить SMART
Если при проверке информации о диске вы видите строку "SMART support is: Disabled":
Вам необходимо включить SMART для носителя:
smartctl -s on /dev/sda
Также полезно сразу включить автоматическое тестирование носителя:
smartctl -o on /dev/sda
И сохранение значений параметров в энергонезависимую память:
smartctl -S on /dev/sda
Полная информация о диске
Чтобы вывести всю информацию о SMART накопителя для его диагностики воспользуйтесь командой:smartctl -a /dev/sdaОбщее состояние диска
Ранее мы рассмотрели атрибуты блока "START OF INFORMATION SECTION", теперь рассмотрим блок "START OF READ SMART DATA SECTION".Первая строка, "SMART overall-health self-assessment test result", говорит о общем "здоровье" диска.
Её же можно вывести с помощью команды:
smartctl -H /dev/sda
Значение PASSED говорит о том, что контроллер накопителя не обнаружил превышения пороговых значений критических SMART-атрибутов, указывающих на скорый отказ накопителя. Однако это не означает, что диск не имел ошибок и находится в хорошем состоянии.
Значение FAILED говорит о критическом состоянии диска. В этом случае вам необходимо как можно быстрее переносить данные и менять сбойный диск.
General SMART Values
Блок General SMART Values содержит информацию о ходе тестирования, примерном времени проверок, статусе оффлайн тестов.SMART атрибуты диска
Блок SMART атрибутов содержит в себе таблицу с атрибутами и значениями, которые мы разберём далее. Они частично стандартизированы и могут отличаться в зависимости от производителя, мы рассмотрим самые основные.
Разберём основные колонки указанной таблицы:
| ID | идентификатор атрибута |
| ATTRIBUTE_NAME | имя атрибута |
| FLAG | поле с битовыми флагами, описывающими свойства атрибута |
| VALUE | текущее нормализованное значение атрибута (как правило от 1 до 253) |
| WORST | минимальное значение VALUE, когда-либо зафиксированное SMART |
| THRESH | пороговое значение VALUE, при достижении которого общее состояние носителя изменит статус на FAILED |
| TYPE | тип атрибута (Pre-fail - атрибуты определяющие общее состояние диска, Old_age - эксплуатационные показатели) |
| UPDATED | обновление атрибута (Always - автоматическое, Offline - во время тестов) |
| WHEN_FAILED | когда атрибут пересёк порог THRESH ("-" - никогда); |
| RAW_VALUE | исходное значение атрибута |
Разберём SMART-атрибуты:
| Reallocated_Sector_Ct | количество секторов (блоков), которые были отмечены неисправными и заменены резервными |
| Power_On_Hours | количество часов работы накопителя |
| Power_Cycle_Count | количество включений |
| Wear_Leveling_Count | степень "износа" памяти (для Samsung и Intel чем выше значение - тем лучше) |
| Used_Rsvd_Blk_Cnt_Tot | количество использованных резервных блоков |
| Program_Fail_Cnt_Total | количество ошибок при записи данных в ячейки памяти |
| Erase_Fail_Count_Total | количество ошибок стирания ячеек памяти |
| Runtime_Bad_Block | количество сбойных блоков, обнаруженных в процессе повседневной работы |
| Uncorrectable_Error_Cnt | количество неисправимых ошибок (контроллер не смог восстановить данные при чтении или записи с повреждённого участка памяти) |
| Airflow_Temperature_Cel | температура диска |
| ECC_Error_Rate | количество ошибок, исправленных алгоритмами коррекции |
| CRC_Error_Count | количество ошибок интерфейса (ошибок передачи данных между контроллером дисков на плате и самим диском), почти всегда указывает на проблему с кабелем подключения накопителя или разъёмом |
| POR_Recovery_Count | сколько раз диск восстанавливался после аварийного отключения питания |
| Total_LBAs_Written | важный показатель жизненного ресурса диска, а именно указывает сколько логических блоков было записано за всё время. Именно из этого показателя можно высчитать TBW, который указывает производитель |
Лог ошибок SMART
Если диск в исправном состоянии - вы увидите надпись "No Errors Logged" в разделе лога ошибок. Однако если в нём появились какие-либо записи - это повод к запуску полного теста диска и его последующей замены. Как правило, почти любая ошибка в логе является поводом для замены оборудования, за исключением очень старых ошибок и ошибок связанных с подключением (кабелем) или аварийным отключением питания.Вывести лог ошибок можно отдельно командой:
smartctl -l error /dev/sda
Тестирование диска
Состояние носителя уже можно диагностировать по показателям перечисленных ранее атрибутов, например по атрибутам Reallocated_Sector_Ct, ECC_Error_Rate, Runtime_Bad_Block, Uncorrectable_Error_Cnt и журнала ошибок. Но окончательным приговором для носителя являются результаты тестов, которые идут следующим блоком.
Утилита smartmontools имеет два типа тестов:
- Short - быстрая проверка (~2 минуты), тест проверяет все основные механизмы, кэш, контроллер диска, части областей памяти;
- Extended (Long) - полная проверка (~3 часов, зависит от диска), проверяет то же самое, что и short, и каждую ячейку памяти.
Для запуска одного из тестов выполните следующую команду:
smartctl -t short /dev/sda- -t - тип теста (short или long);
- /dev/sda - имя устройства.

Для вывода только результатов тестов можно воспользоваться командой:
smartctl -l selftest /dev/sda- /dev/sda - тестируемый диск.

Быстрый тест может использоваться для постоянного контроля состояния накопителей, полный тест выполняют, когда диск вызывает подозрения (ухудшение показателей SMART, снижение производительности). Ошибки в ходе полного теста носителя однозначный показатель необходимости его замены. Для которой вы можете обратиться в нашу службу поддержки круглосуточно.
Заключение
Пакет smartmontools является базой для тестирования дисков и анализа параметров SMART не только для Linux-систем. Он позволяет оценить состояние SSD, HDD и NVMe носителей, выявить признаки начала деградации устройства и предотвратить возможную потерю данных. Периодический запуск быстрого теста и хотя бы ежемесячный запуск полного - хорошая практика для безопасного владения сервером, особенно без использования зеркальных RAID-массивов.Если вы являетесь клиентом компании Virterion.com, вам не обязательно разбираться в тонкостях работы данной утилиты, вы всегда можете обратиться к нам в поддержку и мы проверим состояние дисков на вашем выделенном сервере совершенно бесплатно.