Введение
Проверка здоровья диска — критически важная процедура для любого пользователя Linux, будь то домашний ПК или сервер. Со временем накопители (HDD или SSD) могут developing скрытые ошибки, которые lead к внезапному отказу и потере данных. С помощью технологии SMART и утилиты smartctl вы можете диагностировать состояние диска заранее, предотвращая катастрофические сбои. Этот гайд проведет вас через простые шаги по проверке здоровья диска в Linux.
Требования
Перед началом убедитесь, что:
- У вас есть доступ к терминалу Linux с правами sudo.
- Установлен пакет
smartmontools. Если нет, первый шаг покажет, как установить. - Вы знаете идентификатор вашего диска (например,
/dev/sda). Будьте осторожны: операции с неправильным диском могут привести к потере данных.
Шаг 1: Установка smartmontools
Утилита smartctl входит в пакет smartmontools. Если он не установлен, установите его через менеджер пакетов вашего дистрибутива.
Для Ubuntu/Debian:
sudo apt update
sudo apt install smartmontools
Для CentOS/RHEL:
sudo yum install smartmontools
Для Fedora:
sudo dnf install smartmontools
Для Arch Linux:
sudo pacman -S smartmontools
После установки проверьте версию: smartctl --version.
Шаг 2: Определение диска
Прежде чем проверять, нужно знать, какой диск проверять. Используйте команду lsblk для списка блочных устройств:
lsblk
Вывод покажет все диски и разделы. Обычно основной диск — /dev/sda или /dev/nvme0n1 для NVMe. Для более подробной информации используйте sudo fdisk -l.
💡 Совет: Если у вас несколько дисков, проверяйте каждый, который содержит важные данные.
Запишите идентификатор диска (например, /dev/sda). Все последующие команды используйте с этим идентификатором.
Шаг 3: Проверка общего состояния здоровья
Теперь выполните быструю проверку общего состояния:
sudo smartctl -H /dev/sda
Замените /dev/sda на ваш диск.
Пример вывода:
smartctl 7.2 2021-04-09 r5141 [x86_64-linux-5.4.0-80-generic] (local build)
Copyright (C) 2002-21, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
⚠️ Важно: Если результат
FAILED, диск уже имеет проблемы и может выйти из строя в любой момент. Немедленно создайте резервную копию и планируйте замену.
Если PASSED, это хороший знак, но не гарантия. Продолжайте с детальной проверкой.
Шаг 4: Просмотр подробных SMART-атрибутов
Для более глубокого анализа просмотрите все SMART-атрибуты:
sudo smartctl -A /dev/sda
Вывод будет длинным. Обратите внимание на следующие ключевые атрибуты (значения могут отличаться для HDD и SSD):
Reallocated_Sector_Ct: количество секторов, переназначенных на резервные. Ненулевое значение указывает на износ диска.Current_Pending_Sector: секторы, ожидающие переназначения. Высокое значение — признак проблем.Uncorrectable_Sector_Ct: секторы с неисправимыми ошибками. Должно быть 0.SMART 5: Reallocated_Sector_CtиSMART 187: Reported_Uncorrectдля SSD.
Пример:
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
197 Current_Pending_Sector 0x0032 100 100 000 Old_age Always - 0
198 Uncorrectable_Sector_Ct 0x0030 100 100 000 Old_age Offline - 0
Если RAW_VALUE для этих атрибутов больше 0, диск требует внимания.
Шаг 5: Запуск тестов накопителя
SMART позволяет запускать самотестирование диска. Есть два основных типа: короткий (short) и длинный (long). Короткий тест проверяет основные компоненты и занимает несколько минут. Длинный тест — полная проверка всех секторов, может длиться часы.
Запустите короткий тест:
sudo smartctl -t short /dev/sda
Для длинного теста:
sudo smartctl -t long /dev/sda
После запуска тест выполняется в фоне. Проверить прогресс и результаты можно командой:
sudo smartctl -l selftest /dev/sda
Вывод покажет историю тестов. Ищите строку с Completed и No error или Finished without error.
💡 Совет: Запускайте тесты в период низкой нагрузки на диск, особенно длинный, чтобы не влияло на производительность.
Шаг 6: Анализ результатов и действия
Соберите всю информацию:
- Общий статус здоровья: должен быть
PASSED. - Критические SMART-атрибуты: должны быть 0 или низкие.
- Результаты самотестирования: должны быть без ошибок.
Если любой из этих пунктов показывает проблемы:
- Немедленно создайте полную резервную копию всех данных с диска.
- Запланируйте замену диска в ближайшее время.
- Для серверов рассмотрите возможность миграции на новый носитель.
Если все показатели в норме, диск здоров. Рекомендуется повторять проверку раз в 1-3 месяца.
Проверка результата
После выполнения всех шагов, вы должны иметь четкое представление о состоянии диска. Убедитесь, что:
- Команда
sudo smartctl -H /dev/sdaпоказалаPASSED. - Нет растущих значений в критических атрибутах.
- Самотестирование завершилось без ошибок.
Если все условия выполнены, диск считается работоспособным. В противном случае, действуйте согласно рекомендациям в шаге 6.
Возможные проблемы
При выполнении проверки могут возникнуть следующие issues:
- Ошибка доступа: Если вы видите
smartctl: Permission deniedилиUnable to get SMART data, убедитесь, что используетеsudoили запускаете от root. - Диск не поддерживает SMART: Некоторые старые или внешние диски могут не поддерживать SMART. В этом случае
smartctlсообщит об этом. Для таких дисков используйте другие методы диагностики, например,badblocksили мониторинг системных логов. - Тест не запускается: Если
smartctl -tвозвращает ошибку, диск может быть занят или иметь аппаратные проблемы. Попробуйте перезагрузить систему или проверить кабели. - Ложные срабатывания: Некоторые атрибуты могут иметь ненулевые значения из-за manufacturing особенностей. Сравнивайте с порогами (
THRESH) и трендом (WORST). Резкие изменения — повод для беспокойства.
💡 Совет: Регулярно отслеживайте изменения SMART-атрибутов. Можно настроить автоматические отчеты через cron, используя
smartctl -Aи анализируя вывод.