Вики / Хранилище и ФС
Файловые системы (ext4, xfs, fsck)
Создание ФС, метки и UUID, проверка fsck, типы ext4/xfs.
Файловая система организует данные на разделе/томе. Самые частые:
- ext4 — универсальная, можно уменьшать, проверяется
fsck/e2fsck; - xfs — хорошо масштабируется, только растёт (уменьшить нельзя), чинится
xfs_repair.
Связка: блочное устройство → ФС (mkfs) → монтирование (mount) → файлы.
lsblk -f # устройства + тип ФС + UUID + точка монтирования
blkid # UUID и тип каждого раздела
df -Th # смонтированные ФС с типом и местом
sudo mkfs.ext4 /dev/sdb1 # создать ext4 (СОТРЁТ данные!)
sudo mkfs.ext4 -L data /dev/sdb1 # сразу с меткой
sudo mkfs.xfs /dev/sdb1 # создать xfs
sudo mkfs.xfs -f /dev/sdb1 # перезаписать существующую ФС
sudo e2label /dev/sdb1 data # метка тома (ext)
sudo xfs_admin -L data /dev/sdb1 # метка тома (xfs)
sudo blkid /dev/sdb1 # узнать UUID (для fstab)
Монтировать в /etc/fstab лучше по UUID (имена /dev/sdX «плавают»).
sudo tune2fs -l /dev/sdb1 # все параметры ФС (UUID, счётчик монтирований, фичи)
sudo tune2fs -m 1 /dev/sdb1 # зарезервировано для root: 5%→1% (вернуть место на больших дисках)
sudo tune2fs -L newlabel /dev/sdb1
sudo tune2fs -U random /dev/sdb1 # сменить UUID (после клонирования диска — иначе дубликат!)
sudo dumpe2fs -h /dev/sdb1 # суперблок кратко
xfs_info /mnt/xfs # параметры смонтированной xfs
sudo umount /dev/sdb1 # ФС должна быть ОТМОНТИРОВАНА!
sudo fsck -f /dev/sdb1 # принудительно проверить ext (-f)
sudo fsck -y /dev/sdb1 # автоответ «да» на исправления
sudo e2fsck -fy /dev/sdb1 # то же напрямую для ext
sudo xfs_repair /dev/sdb1 # для xfs (fsck.xfs ничего не делает!)
sudo xfs_repair -n /dev/sdb1 # dry-run (только проверить, не чинить)
⚠️ Никогда не запускай
fsckна смонтированной ФС — повредишь данные. Корень проверяют из live/recovery или автопроверкой при загрузке (fsck.mode=forceв параметрах ядра, либоtune2fs -c).
ФС ушла в read-only
Ядро перевело ФС в ro из-за ошибок I/O. Смотри dmesg/journalctl -k; отмонтируй и
fsck/xfs_repair. Частый признак умирающего диска — проверь SMART (smartctl -a).
Не могу уменьшить xfs
xfs не уменьшается в принципе. Уменьшать умеет только ext4 (resize2fs на меньший
размер, при отмонтированной ФС), иначе — пересоздавать и копировать.
«Structure needs cleaning» (xfs)
Повреждение: отмонтируй и xfs_repair. Если не монтируется — xfs_repair -L
сбросит журнал (крайняя мера, риск потери последних записей).
На большом диске «не хватает места» при свободном
5% зарезервировано для root по умолчанию. На диске данных верни: tune2fs -m 1.
После клонирования два раздела с одним UUID
Смени один: tune2fs -U random (ext) / xfs_admin -U generate (xfs).
lsblk -f ; blkid ; df -Th # обзор ФС
sudo mkfs.ext4 -L data /dev/sdX1 # создать (сотрёт!)
sudo tune2fs -m 1 /dev/sdX1 # уменьшить резерв root до 1%
sudo umount /dev/sdX1 && sudo fsck -fy /dev/sdX1 # проверка ext (отмонтированной!)
sudo xfs_repair /dev/sdX1 # проверка xfs
См. также
- Монтирование и fstab — Хранилище и ФС
- Место на диске (df, du, inode) — Хранилище и ФС
- LVM (логические тома) — Хранилище и ФС