BTRFS/Оптимизация
| ← Назад: Введение и разметка | Вперёд: Обслуживание → |
⚠️ Эта статья находится в разработке. Содержание может измениться в ближайшее время.
После установки ROSA Linux на файловую систему BTRFS систему можно дополнительно настроить, чтобы повысить производительность, сократить количество лишних операций записи и продлить срок службы накопителя. В этом разделе подробно разбираются параметры монтирования и инструменты, которые реально влияют на работу BTRFS.
Что такое оптимизация BTRFS
BTRFS — это современная файловая система с поддержкой сжатия, снапшотов, контроля целостности и гибкого управления дисками. По умолчанию параметры BTRFS подобраны для максимальной совместимости и стабильности, а не для конкретного типа накопителя.
Оптимизация — это осознанная настройка параметров под:
- тип накопителя (SSD / NVMe / HDD);
- характер нагрузки (рабочая станция, сервер, ноутбук);
- требования к скорости, износостойкости и безопасности данных.
Проверка текущих параметров
Перед внесением изменений полезно посмотреть, как файловая система смонтирована сейчас:
mount | grep btrfs
Пример вывода:
/dev/sda2 on / type btrfs (rw,relatime,ssd,space_cache=v2,subvolid=5)
Основные параметры:
- ssd — BTRFS автоматически определил твердотельный накопитель;
- space_cache=v2 — используется современный механизм учёта свободного пространства;
- relatime — обновление времени доступа включено в щадящем режиме.
Рекомендуемые параметры для SSD и NVMe
Для SSD и NVMe рекомендуется добавить следующие параметры монтирования в файл /etc/fstab:
noatime,ssd,space_cache=v2,discard=async,compress=zstd:5,autodefrag
Назначение параметров:
- noatime — отключает обновление времени доступа, снижая количество операций записи;
- ssd — включает оптимизации алгоритмов ввода-вывода под SSD (часто определяется автоматически);
- space_cache=v2 — ускоряет работу с метаданными свободного пространства;
- discard=async — асинхронный TRIM без влияния на производительность;
- compress=zstd:5 — оптимальный баланс между скоростью и степенью сжатия;
- autodefrag — помогает бороться с фрагментацией часто изменяемых файлов.
Рекомендуемые параметры для HDD
Для классических жёстких дисков предпочтительны более щадящие настройки:
noatime,space_cache=v2,compress=zstd:3,autodefrag,commit=60
Пояснение:
- compress=zstd:3 — меньше нагрузка на CPU;
- autodefrag — снижает фрагментацию;
- commit=60 — уменьшает количество операций записи (по умолчанию 30 секунд).
Проверка и включение сжатия
Проверить, включено ли сжатие:
sudo btrfs property get / compression
Если вывод содержит:
compression=zstd
— сжатие активно.
Принудительное сжатие существующих данных
Файлы, записанные до включения сжатия, можно обработать вручную:
sudo btrfs filesystem defragment -r -v -czstd /
- -r — рекурсивно;
- -v — подробный вывод;
- -czstd — применить алгоритм Zstandard.
Настройка TRIM
Для большинства систем рекомендуется использовать периодический TRIM:
sudo systemctl enable --now fstrim.timer
Проверка статуса:
systemctl status fstrim.timer
Использовать одновременно discard=async и fstrim.timer не требуется — достаточно одного способа.
Балансировка BTRFS
Со временем данные могут распределяться по чанкам неравномерно. Для оптимизации использования пространства применяется балансировка:
sudo btrfs balance start -dusage=50 -musage=50 /
Рекомендуется запускать балансировку примерно раз в 1–2 месяца или при нехватке свободного места.
Проверка использования диска
Чтобы посмотреть распределение данных:
sudo btrfs filesystem df /
Команда показывает использование данных, метаданных и системных блоков.
btrfs-assistant
btrfs-assistant — графическое приложение для управления BTRFS, упрощающее оптимизацию и обслуживание.
Возможности:
- управление подтомами и снапшотами;
- запуск балансировки, scrub и дефрагментации;
- настройка параметров и автоматических задач;
- интеграция с Timeshift и Snapper.
Установка:
sudo dnf in btrfs-assistant
Запуск:
btrfs-assistant
Важные примечания и компромиссы
Выбор уровня сжатия
- zstd:1–3 — минимальная нагрузка;
- zstd:5 — рекомендуемый баланс;
- zstd:7+ — максимальное сжатие, но возможные потери производительности.
autodefrag
Рекомендуется:
- для рабочих станций и ноутбуков;
- при активной работе с мелкими файлами.
Не рекомендуется:
- для баз данных;
- для образов виртуальных машин;
- для больших последовательно записываемых файлов.
discard и commit
- discard=async подходит для качественных SSD;
- commit=60 уменьшает износ, но увеличивает риск потери последних данных при аварийном отключении питания.
Что не является оптимизацией
- частая балансировка без необходимости;
- дефрагментация статичных больших файлов;
- использование максимального уровня сжатия без причины.
Итоги
Грамотная оптимизация BTRFS позволяет:
- повысить отзывчивость системы;
- сократить износ SSD;
- уменьшить занимаемое дисковое пространство;
- сохранить баланс между производительностью и надёжностью.
Оптимизация BTRFS — это не включение всех параметров сразу, а осознанный выбор под реальные задачи системы.
| ← Назад: Введение и разметка | Вперёд: Обслуживание → |