BTRFS/Обслуживание: различия между версиями
| Braumann (обсуждение | вклад) мНет описания правки | Braumann (обсуждение | вклад) мНет описания правки | ||
| Строка 1: | Строка 1: | ||
| {| style="width:100%; margin-top:1em; font-size:95%;" | |||
| | style="text-align:left;" | [[BTRFS/Оптимизация|← Назад: Оптимизация]] | |||
| | style="text-align:right;" | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]] | |||
| |} | |||
| Файловая система '''Btrfs''' может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь.    | Файловая система '''Btrfs''' может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь.    | ||
| Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”. | Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”. | ||
Текущая версия от 20:47, 30 октября 2025
| ← Назад: Оптимизация | Вперёд: Автоматизация обслуживания → | 
Файловая система Btrfs может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь. Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”.
Зачем нужно обслуживание Btrfs
Btrfs — "живая" файловая система: она отслеживает состояние своих блоков, умеет восстанавливаться при ошибках, но требует периодического ухода. Это как проверка автомобиля — если время от времени не заглядывать под капот, можно пропустить мелкую проблему, которая потом вырастет в серьёзную.
Проверка состояния устройств
Для начала стоит посмотреть, всё ли хорошо с диском и нет ли ошибок ввода-вывода.
sudo btrfs device stats /
Команда выводит статистику по каждому устройству, участвующему в Btrfs. Если вы видите только нули — всё отлично. Если появляются ошибки чтения или записи, их нужно исследовать глубже (например, проверить SMART с помощью `smartctl`).
Проверка и восстановление данных (scrub)
"Scrub" в Btrfs — это полная проверка данных на диске с исправлением обнаруженных несоответствий. Она проверяет контрольные суммы и, при возможности, восстанавливает повреждённые блоки.
Чтобы запустить scrub вручную:
sudo btrfs scrub start -Bd /
Расшифровка:
- start — запустить проверку;
- -B — выполнить в блокирующем режиме (ждать завершения);
- -d — показать детальный отчёт по каждой ошибке;
- / — путь к корневому разделу, который проверяем.
Проверка может занять от нескольких минут до часа, в зависимости от объёма данных и скорости диска.
Чтобы узнать прогресс во время выполнения, можно выполнить:
sudo btrfs scrub status /
Балансировка пространства
Со временем распределение данных на Btrfs может стать неравномерным. Это снижает эффективность и может приводить к ошибкам “недостаточно места”, даже если место есть. Для исправления этого используется балансировка:
sudo btrfs balance start -dusage=50 -musage=50 /
Пояснение:
- -dusage=50 — перераспределить только те блоки данных, что заняты менее чем на 50%;
- -musage=50 — аналогично, но для метаданных;
- / — корневой подтом (можно указать другой путь).
Эта операция безопасна и не требует перезагрузки. Выполнять её достаточно раз в пару месяцев.
Удаление старых снимков (snapshots)
Снимки Btrfs — отличная вещь, но они занимают место. Если вы используете, например, Timeshift, то старые снимки можно удалить вручную:
Сначала посмотрите список подтомов:
sudo btrfs subvolume list /
Найдите ненужный снимок (обычно что-то вроде `.snapshots/2024-10-10_18-00-00/snapshot`) и удалите его:
sudo btrfs subvolume delete /.snapshots/2024-10-10_18-00-00/snapshot
После удаления освободившееся место можно вернуть в систему командой балансировки.
Проверка использования места
Чтобы узнать, как используется пространство на диске, введите:
sudo btrfs filesystem df /
Команда показывает, сколько места занято данными, метаданными и резервами. Если метаданные занимают больше 20–30 % — это сигнал, что стоит выполнить балансировку.
Проверка общего состояния файловой системы
Для быстрой проверки без исправления можно использовать:
sudo btrfs check --readonly /dev/sda2
Эта команда выполняет "сухую" проверку, не изменяя данные. Используйте её, если хотите убедиться, что файловая система в порядке, но не готовы вносить правки.
Важно: если вы хотите исправить ошибки, не используйте `--readonly`, но только в режиме Live-системы, чтобы диск не был смонтирован.
Практические советы
- Запускайте scrub примерно раз в месяц. Это помогает находить ошибки до того, как они станут проблемой.
- Балансировку можно делать раз в 2–3 месяца.
- Проверку `btrfs check` стоит проводить только при подозрении на сбои или после аварийного выключения.
- Не злоупотребляйте “полной” балансировкой — это тяжёлая операция, лучше ограничиваться параметрами `-dusage` и `-musage`.
Ежемесячное обслуживание (вручную)
Если вы не хотите автоматизировать процессы (об этом — в следующей статье), можно просто выполнять три команды вручную:
sudo btrfs scrub start -Bd / sudo btrfs balance start -dusage=50 -musage=50 / sudo fstrim -av
- scrub проверяет целостность файлов;
- balance распределяет данные;
- fstrim очищает неиспользуемые блоки на SSD/NVMe.
Заключение
Регулярное обслуживание Btrfs похоже на плановое ТО автомобиля — вы тратите немного времени, но сохраняете стабильность и производительность. После нескольких таких циклов вы заметите, что система остаётся “лёгкой” даже после месяцев активного использования.
| ← Назад: Оптимизация | Вперёд: Автоматизация обслуживания → |