Как проверить диски и разделы в Linux: руководство по диагностике
Проверка дисков и разделов в Linux включает несколько уровней диагностики: просмотр структуры подключённых устройств, проверку физического состояния через S.M.A.R.T., поиск битых секторов и восстановление целостности файловых систем. Для каждого уровня существуют специализированные утилиты.
Оглавление
Просмотр структуры дисков и разделов
Для получения общей картины подключённых устройств используются следующие утилиты:
lsblk выводит дерево всех блочных устройств, их точки монтирования и размеры. Это основная команда для быстрого обзора структуры хранения данных.
fdisk и parted позволяют посмотреть таблицу разделов и получить детальную информацию о структуре диска. Эти инструменты показывают границы разделов, их типы и атрибуты.
blkid отображает UUID и тип файловой системы для каждого раздела, что полезно для идентификации и настройки автоматического монтирования через /etc/fstab.
lspci может потребоваться для определения модели RAID-контроллера, если диски не видны стандартными средствами. Это помогает выявить аппаратные особенности контроллеров хранения.
Проверка физического состояния накопителей
При подозрениях на аппаратные проблемы необходимо проверить здоровье самого носителя через специализированные инструменты.
S.M.A.R.T. диагностика
smartctl (из пакета smartmontools) — основная утилита для чтения S.M.A.R.T.-атрибутов и запуска встроенных самотестирований диска. С её помощью можно узнать количество переназначенных секторов и общее состояние накопителя.
Для работы через графический интерфейс существует надстройка GSmartControl, которая предоставляет визуальный доступ к S.M.A.R.T.-данным.
Поиск битых секторов
badblocks — утилита для посекторного сканирования поверхности диска на наличие повреждённых блоков. Её можно использовать как отдельно, так и в составе проверки файловой системы с параметром -c для автоматической пометки бэд-блоков.
Полное сканирование через badblocks может занять много времени и создаёт высокую нагрузку на диск. Планируйте проверку на период минимальной нагрузки.
Проверка и восстановление файловых систем
При логических ошибках или после аварийного выключения используются специализированные инструменты проверки целостности.
fsck и e2fsck
fsck — универсальный фронтенд для проверки целостности файловых систем (ext2/3/4 и других). e2fsck — специализированная версия для ext-семейства.
Запускать проверку нужно только на размонтированном разделе, иначе возможно повреждение данных.
Для NTFS-разделов используются соответствующие драйверы и утилиты, например ntfsfix.
Проверка корневой файловой системы
Если проверяется корневая файловая система, которую нельзя размонтировать, проверку следует выполнять из Live USB или через меню загрузчика GRUB. Это единственный безопасный способ проверить систему, на которой вы сейчас работаете.
Мониторинг производительности
Для диагностики проблем со скоростью работы или выявления процессов, перегружающих диск, применяются инструменты мониторинга I/O.
iotop показывает использование диска отдельными процессами в реальном времени, аналогично тому, как top показывает загрузку CPU. Это помогает найти приложение, создающее избыточную нагрузку.
iostat предоставляет статистику по пропускной способности дисковой подсистемы и времени отклика. Полезен для оценки общей загрузки накопителей.
dstat и vmstat — комплексные инструменты для мониторинга I/O операций вместе с другими системными метриками. Они дают широкую картину работы системы.
Важные предостережения
Всегда делайте резервную копию важных данных перед запуском fsck или badblocks, так как попытки исправления ошибок могут привести к потере файлов.
Не запускайте деструктивные тесты (badblocks -w) на дисках с данными — это полностью уничтожит информацию. Параметр -w выполняет тест записи, который затирает все данные на устройстве.
Частые ошибки
Запуск fsck на смонтированном разделе — наиболее распространённая ошибка. Проверка активной файловой системы может привести к повреждению данных и потере файлов. Всегда размонтируйте раздел перед запуском fsck или используйте Live USB для проверки корневой системы.
Использование badblocks -w на рабочем диске — параметр -w выполняет деструктивный тест записи, который полностью уничтожает все данные. Этот режим предназначен только для новых или пустых носителей.
Отсутствие резервной копии перед диагностикой — даже штатные процедуры проверки могут выявить критические ошибки, исправление которых приведёт к потере части данных. Резервное копирование обязательно перед любыми операциями восстановления.
Попытка проверить физически неисправный диск программными средствами — если диск издаёт посторонние звуки, не определяется системой или показывает критические S.M.A.R.T.-атрибуты, дальнейшая эксплуатация может усугубить повреждения. В таких случаях требуется профессиональное восстановление данных.
FAQ
Как узнать UUID раздела для настройки автоматического монтирования?
Используйте команду blkid — она отображает UUID и тип файловой системы для каждого раздела. Эти данные нужны для корректной записи в /etc/fstab.
Можно ли проверить корневую файловую систему без перезагрузки?
Нет, корневую файловую систему нельзя безопасно проверить во время работы системы. Проверку следует выполнять из Live USB или через меню загрузчика GRUB, где файловая система не используется.
Что показывает утилита iotop?
iotop показывает использование диска отдельными процессами в реальном времени. Это аналог top для дисковых операций — помогает найти приложение, создающее избыточную нагрузку на накопитель.
Чем отличается smartctl от badblocks?
smartctl читает S.M.A.R.T.-атрибуты, которые диск сам отслеживает (количество переназначенных секторов, ошибки чтения и т.д.). badblocks выполняет фактическое посекторное сканирование поверхности для обнаружения повреждённых блоков, которые S.M.A.R.T. мог не зафиксировать.