Введение / Зачем это нужно
Проверка здоровья диска позволяет выявить предстоящие сбои до потери данных. В Linux есть бесплатные инструменты, которые предоставляют подробную информацию о состоянии SMART, что позволяет оперативно принять меры — заменить неисправный диск или подготовиться к миграции данных.
Требования / Подготовка
- Дистрибутив Linux (Ubuntu, Debian, Fedora и т. п.).
- Права суперпользователя (
root), чтобы выполнять командыsmartctl. - Установленный пакет smartmontools (
smartctlи демоны мониторинга). - Доступ к терминалу.
Как проверить здоровье диска
Шаг 1: Установка smartmontools
Установите пакет с помощью менеджера пакетов вашей дистрибутива:
# Для Debian/Ubuntu
sudo apt install smartmontools
# Для Fedora/CentOS
sudo dnf install smartmontools
После установки запустите службу мониторинга:
sudo systemctl enable --now smartd
Шаг 2: Запуск диагностики с помощью smartctl
Сначала определите имя устройства с помощью lsblk:
lsblk
Типичный блоковый диск будет отображаться как /dev/sda, /dev/sdb и т. д.
Теперь выполните базовую проверку:
# Проверка общего состояния
sudo smartctl -H /dev/sda
# Подробные SMART-атрибуты
sudo smartctl -A /dev/sda
Шаг 3: Интерпретация результатов SMART
Обратите внимание на две ключевые строки в выводе smartctl -H:
Overall Health: PASSED
Overall Health: FAILED
PASSED означает, что диск в порядке. FAILED сигнализирует о неисправности — немедленно создайте резервную копию данных.
В разделе атрибутов (smartctl -A) ищите:
Reallocated Sector Count— количество перераспределённых секторов (чем выше, тем хуже).Current Pending Sector— количество ожидающих секторов.Wear Leveling Count(для SSD) — уровень износа.
Если эти значения повышаются или превышают пороговые значения, диск находится в зоне риска.
Шаг 4: Настройка автоматического мониторинга (cron)
Для регулярного контроля состояния диска настройте задачу cron:
crontab -e
Добавьте строку, которая будет запускать smartctl каждую неделю (или по вашему усмотрению):
0 2 * * 0 /usr/bin/smartctl -H /dev/sda >> /var/log/smart_health.log 2>&1
Сохраните файл; cron запустит задачу каждую неделю в воскресенье в 02:00.
Шаг 5: Использование lsblk для визуального обзора
Быстро просмотреть подключённые диски, их размер и файловую систему можно так:
# Простой список с размерами и точками монтирования
lsblk -o NAME,SIZE,MOUNTPOINT,FSTYPE
# С цветовым кодированием типов файловых систем (если поддерживается)
lsblk -f
Таким образом вы сразу увидите, какой диск используется, его тип и свободное место.
Проверка результата
После выполнения шагов убедитесь, что:
- Команда
smartctl -H /dev/sdXвозвращаетOverall Health: PASSED. - В логе
/var/log/smart_health.logесть записи с метками времени, подтверждающие регулярные проверки. lsblkотображает ожидаемую файловую систему и точку монтирования для каждого диска.
Если состояние_health отображается как FAILED, немедленно создайте резервную копию данных и планируйте замену диска.
Возможные проблемы
smartctl: Device open failed: No such device– удостоверьтесь, что имя устройства (/dev/sdaи т. п.) совпадает с подключённым диском. Используйтеlsblkдля подтверждения.SMART not supported on device– устройство не поддерживает SMART (например, некоторые USB-диски). Для мониторинга такого оборудования используйте сторонние утилиты (например,hdparmдля ATA илиnvme-cliдля NVMe).Permission denied– выполните команду сsudo, так какsmartctlтребует прав администратора.Reallocated Sector Countуже выше нуля – диск уже начал терять сектора; создайте резервную копию данных перед дальнейшим использованием.
С помощью этих шагов вы сможете быстро проверить здоровье диска в Linux, интерпретировать результаты SMART и настроить автоматический мониторинг, чтобы избежать неожиданных сбоев.