Jump to content

BTRFS/Введение и разметка: различия между версиями

мНет описания правки
мНет описания правки
Строка 13: Строка 13:
== Что делает BTRFS особенной ==
== Что делает BTRFS особенной ==


* '''Копирование при записи (Copy-on-Write)''' — данные не перезаписываются “поверх”, а записываются в новое место. Это защищает от потери данных при сбоях.
* '''Копирование при записи (Copy-on-Write)''' — данные не перезаписываются “поверх”, а записываются в новое место. Это защищает от потери данных при сбоях
* '''Снимки (snapshots)''' — можно “заморозить” состояние системы и вернуться к нему позже (аналог точек восстановления Windows).
* '''Снимки (snapshots)''' — можно “заморозить” состояние системы и вернуться к нему позже (аналог точек восстановления Windows)
* '''Сжатие файлов на лету''' — экономит место и ускоряет работу на SSD.
* '''Сжатие файлов на лету''' — экономит место и ускоряет работу на SSD
* '''Проверка целостности''' — BTRFS хранит контрольные суммы и может выявить повреждения.
* '''Проверка целостности''' — BTRFS хранит контрольные суммы и может выявить повреждения
* '''Гибкость в управлении разделами''' — легко добавлять или удалять диски, расширять файловую систему.
* '''Гибкость в управлении разделами''' — легко добавлять или удалять диски, расширять файловую систему


== Создание файловой системы BTRFS ==
== Создание файловой системы BTRFS ==
Строка 25: Строка 25:
     # mkfs.btrfs -L ROSA /dev/sda2
     # mkfs.btrfs -L ROSA /dev/sda2


* '''mkfs.btrfs''' — создаёт файловую систему BTRFS;
* '''mkfs.btrfs''' — создаёт файловую систему BTRFS
* '''-L ROSA''' — задаёт метку (название), чтобы её было легче узнавать;
* '''-L ROSA''' — задаёт метку (название), чтобы её было легче узнавать
* '''/dev/sda2''' — это тот раздел, на который вы ставите систему.
* '''/dev/sda2''' — это тот раздел, на который вы ставите систему


После этого раздел готов к использованию.
После этого раздел готов к использованию.
Строка 47: Строка 47:


Теперь у вас есть два логических подтома:
Теперь у вас есть два логических подтома:
* '''@''' — основной корень системы '''(/)''';
* '''@''' — основной корень системы '''(/)'''
* '''@home''' — личные файлы пользователей.
* '''@home''' — личные файлы пользователей


3. '''Отмонтируйте:'''
3. '''Отмонтируйте:'''
Строка 61: Строка 61:




     UUID=xxxx-xxxx / btrfs subvol=@,defaults,noatime,compress=zstd,space_cache=v2 0 0
     UUID=xxxx-xxxx / btrfs subvol=@,defaults,compress=zstd,space_cache=v2 0 0
     UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,noatime,compress=zstd,space_cache=v2 0 0
     UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,compress=zstd,space_cache=v2 0 0




Объяснение:
Объяснение:
* '''UUID''' — уникальный номер раздела (можно узнать через '''blkid''');
* '''defaults''' —  это не один параметр, а '''набор стандартных монтировочных опций''', которые ядро применяет по умолчанию, если не указано иное.
* '''/''' - точка монтирования  
{| class="wikitable mw-collapsible mw-collapsed"
* '''btrfs''' — указывает тип файловой системы;
!Опция
* '''subvol=@''' — подключаем подтом с названием '''@''';
!Значение
* '''noatime''' — отключает запись времени последнего обращения к файлам (ускоряет работу);
|-
* '''compress=zstd''' — включает сжатие данных;
|'''rw'''
* '''space_cache=v2''' — ускоряет работу с пространством на диске.
|монтирование в режиме чтения/записи
|-
|'''suid'''
|разрешает выполнение файлов с установленными битами SUID/SGID
|-
|'''dev'''
|разрешает интерпретацию устройств (special files)
|-
|'''exec'''
|разрешает выполнение бинарных файлов
|-
|'''auto'''
|точка монтирования будет монтирована командой <code>mount -a</code>
|-
|'''nouser'''
|монтировать может только root
|-
|'''async'''
|асинхронный ввод-вывод
|}
* '''UUID''' — уникальный номер раздела (можно узнать через '''blkid''')
* '''/''' точка монтирования
* '''btrfs''' — указывает тип файловой системы
* '''subvol=@''' — подключаем подтом с названием '''@'''
* '''compress=zstd''' — включает сжатие данных
* '''space_cache=v2''' — ускоряет работу с пространством на диске


== Проверка результата ==
== Проверка результата ==

Версия от 15:49, 14 ноября 2025

Вперёд: Оптимизация →

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

BTRFS (произносится как "би-ти-эф-эс" от B-Tree FS) — это современная файловая система Linux, которая умеет не только хранить файлы, но и самостоятельно защищать их от ошибок, сжимать данные, создавать снимки системы и управлять несколькими дисками как одним.

Если вы раньше пользовались Windows, то можно сказать, что BTRFS — это "умный аналог NTFS", только с функциями, которые в Windows реализованы отдельными утилитами (вроде восстановления системы, сжатия дисков и проверки ошибок).

Что делает BTRFS особенной

  • Копирование при записи (Copy-on-Write) — данные не перезаписываются “поверх”, а записываются в новое место. Это защищает от потери данных при сбоях
  • Снимки (snapshots) — можно “заморозить” состояние системы и вернуться к нему позже (аналог точек восстановления Windows)
  • Сжатие файлов на лету — экономит место и ускоряет работу на SSD
  • Проверка целостности — BTRFS хранит контрольные суммы и может выявить повреждения
  • Гибкость в управлении разделами — легко добавлять или удалять диски, расширять файловую систему

Создание файловой системы BTRFS

Требуется "отформатировать" раздел, чтобы он стал файловой системой BTRFS:

   # mkfs.btrfs -L ROSA /dev/sda2
  • mkfs.btrfs — создаёт файловую систему BTRFS
  • -L ROSA — задаёт метку (название), чтобы её было легче узнавать
  • /dev/sda2 — это тот раздел, на который вы ставите систему

После этого раздел готов к использованию.

Создание подтомов (subvolumes)

Подтомы в BTRFS — это как отдельные "папки-микросистемы". Например, один подтом для системы, другой — для пользователей. Они позволяют делать снимки системы без затрагивания личных файлов.

1. Смонтируйте новый раздел:

  sudo mount /dev/sda2 /mnt

2. Создайте подтомы:

  sudo btrfs subvolume create /mnt/@
  sudo btrfs subvolume create /mnt/@home

Теперь у вас есть два логических подтома:

  • @ — основной корень системы (/)
  • @home — личные файлы пользователей

3. Отмонтируйте:

   sudo umount /mnt

Монтирование подтомов (fstab)

Чтобы система знала, какие подтомы подключать при загрузке, их нужно описать в файле /etc/fstab.

Пример строки:


   UUID=xxxx-xxxx / btrfs subvol=@,defaults,compress=zstd,space_cache=v2 0 0
   UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,compress=zstd,space_cache=v2 0 0


Объяснение:

  • defaults — это не один параметр, а набор стандартных монтировочных опций, которые ядро применяет по умолчанию, если не указано иное.
Опция Значение
rw монтирование в режиме чтения/записи
suid разрешает выполнение файлов с установленными битами SUID/SGID
dev разрешает интерпретацию устройств (special files)
exec разрешает выполнение бинарных файлов
auto точка монтирования будет монтирована командой mount -a
nouser монтировать может только root
async асинхронный ввод-вывод
  • UUID — уникальный номер раздела (можно узнать через blkid)
  • / — точка монтирования
  • btrfs — указывает тип файловой системы
  • subvol=@ — подключаем подтом с названием @
  • compress=zstd — включает сжатие данных
  • space_cache=v2 — ускоряет работу с пространством на диске

Проверка результата

1. Посмотреть список подтомов:

   sudo btrfs subvolume list /

2. Проверить использование места:

  sudo btrfs filesystem df /

3. Посмотреть общую информацию:

  sudo btrfs filesystem show

Если всё сделано правильно — вы увидите свои подтомы, и система будет работать через BTRFS.

Заключение

BTRFS — это гибкая и надёжная файловая система, которая подходит как новичкам, так и администраторам. Она сочетает функции нескольких инструментов Windows в одном:

  • вместо “точек восстановления” — снимки;
  • вместо “очистки диска” — встроенная дефрагментация и балансировка;
  • вместо “дисковых проверок” — автоматическая проверка целостности данных.
Вперёд: Оптимизация →