Jump to content

BTRFS/Оптимизация: различия между версиями

Нет описания правки
Нет описания правки
Строка 8: Строка 8:
</div>
</div>


После установки ROSA Linux на файловую систему '''BTRFS''' можно немного “прикрутить турбину” — сделать работу системы быстрее, а диск износостойким.   
После установки ROSA Linux на файловую систему '''BTRFS''' систему можно дополнительно настроить, чтобы повысить производительность, сократить количество лишних операций записи и продлить срок службы накопителя.   
В этом разделе подробно объясняется, какие параметры влияют на производительность и зачем они нужны.
В этом разделе подробно разбираются параметры монтирования и инструменты, которые реально влияют на работу BTRFS.


== Что такое оптимизация BTRFS ==
== Что такое оптимизация BTRFS ==


'''BTRFS''' умеет многое: сжимает файлы, автоматически исправляет ошибки, балансирует пространство.   
'''BTRFS''' — это современная файловая система с поддержкой сжатия, снапшотов, контроля целостности и гибкого управления дисками.   
Но по умолчанию часть функций может быть выключена, чтобы система подходила всем типам компьютеров. 
По умолчанию параметры BTRFS подобраны для максимальной совместимости и стабильности, а не для конкретного типа накопителя.
'''Оптимизация''' — это настройка под ваш тип накопителя: SSD, NVMe или HDD.


== Проверка текущих настроек ==
'''Оптимизация''' — это осознанная настройка параметров под:
* тип накопителя (SSD / NVMe / HDD);
* характер нагрузки (рабочая станция, сервер, ноутбук);
* требования к скорости, износостойкости и безопасности данных.


Перед изменением полезно узнать, с какими параметрами сейчас смонтирован диск.
== Проверка текущих параметров ==
 
Перед внесением изменений полезно посмотреть, как файловая система смонтирована сейчас:


<pre>
<pre>
Строка 25: Строка 29:
</pre>
</pre>


Команда выводит список всех разделов BTRFS и их параметры. 
Пример вывода:
Например:


<pre>
<pre>
Строка 32: Строка 35:
</pre>
</pre>


* '''ssd''' — система автоматически определила, что диск твердотельный;
Основные параметры:
* '''space_cache=v2''' — используется новая схема кэширования свободного места;
 
* '''relatime''' — обновление времени доступа включено (его можно отключить для ускорения).
* '''ssd''' — BTRFS автоматически определил твердотельный накопитель;
* '''space_cache=v2''' — используется современный механизм учёта свободного пространства;
* '''relatime''' — обновление времени доступа включено в щадящем режиме.


== Рекомендуемые параметры для SSD и NVMe ==
== Рекомендуемые параметры для SSD и NVMe ==


Откройте файл '''/etc/fstab''' и найдите строку, где монтируется корневой раздел (обычно «/»). 
Для SSD и NVMe рекомендуется добавить следующие параметры монтирования в файл '''/etc/fstab''':
Рекомендуемая конфигурация для SSD или NVMe выглядит так:


<pre>
<pre>
Строка 45: Строка 49:
</pre>
</pre>


Что делает каждая опция:
Назначение параметров:
 
* '''noatime''' — отключает запись времени последнего доступа к файлам. Это уменьшает количество операций записи и продлевает срок службы SSD. 
* '''ssd''' — включает оптимизацию алгоритмов ввода-вывода под твердотельные накопители. 
* '''space_cache=v2''' — более современная и быстрая система учёта свободного пространства. 
* '''discard=async''' — включает асинхронный TRIM, который очищает неиспользуемые блоки без потерь производительности. 
* '''compress=zstd:5''' — сжимает данные на лету. Число «5» определяет баланс между скоростью и степенью сжатия. 
* '''autodefrag''' — автоматически дефрагментирует часто изменяемые файлы (журналы, базы данных, кеши).


После редактирования сохраните файл и перезагрузите систему.
* '''noatime''' — отключает обновление времени доступа, снижая количество операций записи;
* '''ssd''' — включает оптимизации алгоритмов ввода-вывода под SSD (часто определяется автоматически);
* '''space_cache=v2''' — ускоряет работу с метаданными свободного пространства;
* '''discard=async''' — асинхронный TRIM без влияния на производительность;
* '''compress=zstd:5''' — оптимальный баланс между скоростью и степенью сжатия;
* '''autodefrag''' — помогает бороться с фрагментацией часто изменяемых файлов.


== Рекомендуемые параметры для HDD ==
== Рекомендуемые параметры для HDD ==


Для обычных жёстких дисков лучше подходят другие настройки:
Для классических жёстких дисков предпочтительны более щадящие настройки:


<pre>
<pre>
Строка 64: Строка 66:
</pre>
</pre>


Объяснение:
Пояснение:


* '''noatime''' — уменьшает количество операций записи. 
* '''compress=zstd:3''' — меньше нагрузка на CPU;
* '''compress=zstd:3''' — слабее сжатие, зато быстрее на медленных дисках. 
* '''autodefrag''' — снижает фрагментацию;
* '''autodefrag''' — помогает бороться с фрагментацией. 
* '''commit=60''' — уменьшает количество операций записи (по умолчанию 30 секунд).
* '''commit=60''' — записывает изменения на диск каждые 60 секунд, уменьшая нагрузку на головки HDD.


== Проверка включённого сжатия ==
== Проверка и включение сжатия ==


Чтобы убедиться, что сжатие действительно активно, выполните:
Проверить, включено ли сжатие:


<pre>
<pre>
Строка 79: Строка 80:
</pre>
</pre>


Если в выводе отображается строка вроде:
Если вывод содержит:


<pre>
<pre>
Строка 85: Строка 86:
</pre>
</pre>


значит сжатие включено.
— сжатие активно.


== Принудительное сжатие уже существующих файлов ==
== Принудительное сжатие существующих данных ==


Если система установлена давно, старые файлы могли быть записаны без сжатия
Файлы, записанные до включения сжатия, можно обработать вручную:
Можно «сжать» их заново:


<pre>
<pre>
Строка 96: Строка 96:
</pre>
</pre>


Разбор параметров:
* '''-r''' — рекурсивно;
 
* '''-v''' — подробный вывод;
* '''-r''' — обрабатывать рекурсивно (все вложенные каталоги);
* '''-czstd''' — применить алгоритм Zstandard.
* '''-v''' — выводить процесс выполнения;
* '''-c zstd''' — применить алгоритм сжатия zstd.


== Настройка TRIM ==
== Настройка TRIM ==


TRIM сообщает SSD, какие блоки можно освободить. 
Для большинства систем рекомендуется использовать периодический TRIM:
Чтобы система делала это автоматически, включите таймер:


<pre>
<pre>
Строка 111: Строка 108:
</pre>
</pre>


Проверить состояние таймера можно командой:
Проверка статуса:


<pre>
<pre>
Строка 117: Строка 114:
</pre>
</pre>


TRIM помогает поддерживать скорость записи и продлевает жизнь накопителю.
Использовать одновременно '''discard=async''' и '''fstrim.timer''' не требуется — достаточно одного способа.


== Балансировка BTRFS ==
== Балансировка BTRFS ==


BTRFS хранит данные блоками (чанками). Со временем часть блоков может заполниться неравномерно, и это снижает скорость работы.   
Со временем данные могут распределяться по чанкам неравномерно.   
Чтобы перераспределить данные, используется команда балансировки:
Для оптимизации использования пространства применяется балансировка:


<pre>
<pre>
Строка 128: Строка 125:
</pre>
</pre>


Расшифровка:
Рекомендуется запускать балансировку примерно раз в 1–2 месяца или при нехватке свободного места.
 
* '''-dusage=50''' — перераспределить только те блоки данных, что заполнены менее чем на 50 %; 
* '''-musage=50''' — то же самое для метаданных; 
* '''/''' — путь к корневому подтома.
 
Балансировку стоит запускать примерно раз в 1–2 месяца.


== Проверка использования диска ==
== Проверка использования диска ==


Чтобы узнать, как используется место, введите:
Чтобы посмотреть распределение данных:


<pre>
<pre>
Строка 144: Строка 135:
</pre>
</pre>


Команда показывает, сколько места занято данными, метаданными и системной информацией. 
Команда показывает использование данных, метаданных и системных блоков.
Полезна для оценки того, нужна ли балансировка.


== btrfs-assistant ==
== btrfs-assistant ==


Это удобное графическое приложение для управления файловыми системами BTRFS
'''btrfs-assistant''' — графическое приложение для управления BTRFS, упрощающее оптимизацию и обслуживание.
Оно позволяет выполнять большинство задач по оптимизации и обслуживанию без командной строки.
 
=== Возможности ===


* Просмотр подтомов (subvolumes) и их свойств.
Возможности:
* Управление снимками (создание, удаление, откат системы).
* управление подтомами и снапшотами;
* Запуск проверки и балансировки разделов.
* запуск балансировки, scrub и дефрагментации;
* Настройка сжатия и других параметров монтирования.
* настройка параметров и автоматических задач;
* Интеграция с Timeshift и Snapper (если они установлены).
* интеграция с Timeshift и Snapper.


=== Установка ===
Установка:
 
В ROSA Linux и других дистрибутивах установить можно через DNF:


<pre>
<pre>
Строка 168: Строка 153:
</pre>
</pre>


=== Использование ===
Запуск:
 
После установки запустить утилиту можно через меню системы:


<pre>
<pre>
Строка 176: Строка 159:
</pre>
</pre>


или из терминала, если используется графическая среда.
== Важные примечания и компромиссы ==
 
=== Выбор уровня сжатия ===
 
* '''zstd:1–3''' — минимальная нагрузка;
* '''zstd:5''' — рекомендуемый баланс;
* '''zstd:7+''' — максимальное сжатие, но возможные потери производительности.
 
=== autodefrag ===


При запуске откроется главное окно, где отображаются все BTRFS-разделы и подтомы.
Рекомендуется:
Далее можно:
* для рабочих станций и ноутбуков;
* при активной работе с мелкими файлами.


* Создавать и удалять подтомы;
Не рекомендуется:
* Выполнять балансировку одним кликом;
* для баз данных;
* Настраивать автоматическое обслуживание (scrub и defrag);
* для образов виртуальных машин;
* Создавать снимки вручную или планировать их по расписанию.
* для больших последовательно записываемых файлов.


=== Преимущества перед ручными командами ===
=== discard и commit ===


* Безопасность — все операции проверяются перед применением.
* '''discard=async''' подходит для качественных SSD;
* Простота — подходит даже тем, кто не знаком с командной строкой.
* '''commit=60''' уменьшает износ, но увеличивает риск потери последних данных при аварийном отключении питания.
* Наглядность — состояние диска, свободное место и параметры видны в реальном времени.


=== Пример сценария: ===
=== Что не является оптимизацией ===


# Откройте '''btrfs-assistant'''.
* частая балансировка без необходимости;
# Выберите раздел, например '''''/dev/sda2'''''.
* дефрагментация статичных больших файлов;
# Нажмите '''''Balance → Start''''' для балансировки.
* использование максимального уровня сжатия без причины.
# При необходимости создайте снимок системы через '''''Snapshots → Create'''''.
# Наблюдайте за выполнением операций прямо в окне программы.


Таким образом, '''btrfs-assistant''' дополняет классические инструменты командной строки, упрощая настройку и оптимизацию системы для пользователей, которые предпочитают графический интерфейс.
== Итоги ==


== '''Итоги''' ==
Грамотная оптимизация BTRFS позволяет:


После выполнения оптимизации:
* повысить отзывчивость системы;
* сократить износ SSD;
* уменьшить занимаемое дисковое пространство;
* сохранить баланс между производительностью и надёжностью.


* система работает быстрее, особенно при чтении и установке пакетов;
Оптимизация BTRFS — это не включение всех параметров сразу, а осознанный выбор под реальные задачи системы.
* SSD меньше изнашивается благодаря сокращению ненужных записей;
* файлы занимают меньше места за счёт сжатия;
* BTRFS становится более стабильной и отзывчивой.


{| style="width:100%; margin-top:1em; font-size:95%;"
{| style="width:100%; margin-top:1em; font-size:95%;"

Версия от 16:36, 11 января 2026

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

⚠️ Эта статья находится в разработке. Содержание может измениться в ближайшее время.

После установки 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 — это не включение всех параметров сразу, а осознанный выбор под реальные задачи системы.

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