hostprofi.ru
Подобрать хостинг
Термин·буква F

fsck

краткое определение

fsck (File System Consistency Check) — утилита Linux для проверки и восстановления целостности файловой системы. Запускается при обнаружении ошибок ФС, после некорректного выключения или принудительно при загрузке через счётчик монтирований в /etc/fstab.

fsck (File System Consistency Check) — утилита проверки и исправления файловых систем Linux. Аналог CHKDSK в Windows. Обнаруживает и исправляет: потерянные кластеры (lost+found), ошибки в метаданных инодов, несоответствия в таблицах размещения файлов. Для разных ФС существуют специализированные версии: fsck.ext4, fsck.xfs, fsck.ntfs.

Использование

# Проверить файловую систему (ФС должна быть размонтирована)
umount /dev/sdb1
fsck /dev/sdb1

# Автоматически исправлять ошибки без вопросов
fsck -y /dev/sdb1

# Принудительная проверка ext4
fsck.ext4 -f /dev/sdb1

# Состояние ФС
tune2fs -l /dev/sdb1 | grep -i "mount\|check"

Журналируемые файловые системы

Современные ФС — ext4, xfs, btrfs — журналируемые: все операции записываются в журнал (journal/log) до применения к основным данным. При сбое ФС восстанавливается из журнала за секунды без полного fsck. Полный fsck требуется только при повреждении журнала.

Автоматическая проверка

В /etc/fstab поле pass управляет порядком fsck при загрузке: 0 — не проверять, 1 — root-раздел (первым), 2 — остальные. systemd при обнаружении "dirty" бит (некорректное выключение) автоматически запускает fsck.

История

fsck появился в Unix Version 6 (AT&T, 1975) как инструмент проверки ранних ФС. В Linux fsck поддерживает ext2 с ядра 0.96 (1992). ext4 с журналом стал доступен в ядре 2.6.28 (2008). Btrfs с встроенной проверкой btrfs check появился в ядре 2.6.29 (2009).

Связь с хостингом

На VDS fsck может запускаться автоматически при загрузке. Если ВМ застряла при старте с сообщением «press S to skip» — значит fsck обнаружил ошибку. В Docker том (volume) на ext4 восстанавливается fsck.ext4 на хостовой системе. Регулярные проверки через cron + tune2fs снижают риск неожиданного fsck при загрузке.

История fsck

fsck (File System Consistency Check) появился в Unix 7th Edition (1979) как инструмент проверки файловой системы. В Linux реализован как набор утилит: fsck.ext4, fsck.xfs, fsck.btrfs. Версия e2fsck (для ext2/3/4) разработана Теодором Цо в 1993 году. Современные журналируемые ФС (ext4, xfs, btrfs) снизили частоту необходимости fsck, но не устранили её полностью. tune2fs -c задаёт количество монтирований до автоматической проверки.

Режимы работы fsck

fsck /dev/sda1          # автоматический выбор типа ФС
fsck -n /dev/sda1       # только проверка, без исправлений
fsck -y /dev/sda1       # автоматическое исправление всех ошибок
fsck -f /dev/sda1       # принудительная проверка даже чистой ФС
e2fsck -b 8193 /dev/sda1  # восстановление с резервного суперблока

Типичные ошибки и применение на хостинге

  • Запуск fsck на смонтированной ФС — повреждение данных. Всегда umount сначала.
  • На VPS fsck запускается в rescue-режиме через панель управления хостинга.
  • Потеря inode-ов: fsck помещает «потерявшиеся» файлы в lost+found/.
  • При аварийном отключении питания на сервере — первая причина запустить fsck на следующем старте.

fsck vs Btrfs scrub vs ZFS scrub

Для Btrfs используется btrfs scrub — онлайн-проверка без размонтирования. ZFS scrub аналогичен. На современных хостингах с NVMe-дисками проверка ext4 разделом 100 GB занимает около 2-5 минут.

Другие термины