Jump to content

BTRFS/Обслуживание: различия между версиями

Новая страница: «Файловая система '''Btrfs''' может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь. Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”. == '''Зачем нужно обслуживание Btrfs'''...»
 
мНет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 1: Строка 1:
{| style="width:100%; margin-top:1em; font-size:95%;"
| style="text-align:left;" | [[BTRFS/Оптимизация|← Назад: Оптимизация]]
| style="text-align:right;" | [[BTRFS/Автоматизация обслуживания|Вперёд: Автоматизация обслуживания →]]
|}
Файловая система '''Btrfs''' может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь.   
Файловая система '''Btrfs''' может сама проверять свои данные, исправлять ошибки и сохранять стабильность, если ей немного помочь.   
Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”.
Этот раздел рассказывает, как выполнять обслуживание — без риска и без “танцев с бубном”.
Строка 130: Строка 135:
После нескольких таких циклов вы заметите, что система остаётся “лёгкой” даже после месяцев активного использования.
После нескольких таких циклов вы заметите, что система остаётся “лёгкой” даже после месяцев активного использования.


Следующий раздел: [[BTRFS/Автоматизация обслуживания|Автоматизация обслуживания — скрипты и таймеры]].
{| style="width:100%; margin-top:1em; font-size:95%;"
| style="text-align:left;" | [[BTRFS/Оптимизация|← Назад: Оптимизация]]
| style="text-align:right;" | [[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 похоже на плановое ТО автомобиля — вы тратите немного времени, но сохраняете стабильность и производительность. После нескольких таких циклов вы заметите, что система остаётся “лёгкой” даже после месяцев активного использования.

← Назад: Оптимизация Вперёд: Автоматизация обслуживания →