Jump to content

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

мНет описания правки
 
(не показано 17 промежуточных версий 2 участников)
Строка 1: Строка 1:
Btrfs (произносится как "би-ти-эф-эс") — это современная файловая система Linux, которая умеет не только хранить файлы, но и '''самостоятельно защищать их от ошибок''', '''сжимать данные''', '''создавать снимки системы''' и '''управлять несколькими дисками как одним'''.
{| style="width:100%; margin-top:1em; font-size:95%;"
| style="text-align:right;" | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]
|}


Если вы раньше пользовались Windows, то можно сказать, что Btrfs — это "умный аналог NTFS", только с функциями, которые в Windows реализованы отдельными утилитами (вроде восстановления системы, сжатия дисков и проверки ошибок).
<div style="border: 2px solid #f39c12; background-color: #fff3cd; padding: 0.5em; margin-bottom: 1em;">
⚠️ '''Эта статья находится в разработке.''' Содержание может измениться в ближайшее время.
</div>


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


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


== Как подготовить диск для установки ==
== Что делает BTRFS особенной ==


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


  <pre># cfdisk /dev/sda</pre>
== Создание файловой системы BTRFS ==


''Здесь "/dev/sda" — первый диск в системе. 
Требуется "отформатировать" раздел, чтобы он стал файловой системой BTRFS:
Если у вас NVMe-накопитель, он может называться "/dev/nvme0n1".''


    # mkfs.btrfs -L ROSA /dev/sda2


2. '''Создайте раздел под систему''', например 60–100 ГБ, и выберите тип:
* '''mkfs.btrfs''' — создаёт файловую систему BTRFS
'''Linux filesystem''' — для корня ''(/)'';
* '''-L ROSA''' — задаёт метку (название), чтобы её было легче узнавать
'''Linux swap''' — для подкачки (опционально);
* '''/dev/sda2''' — это тот раздел, на который вы ставите систему
'''Остальное''' — под ''/home''.
 
3. '''Сохраните изменения и выйдите''' из cfdisk (клавиша '''Write''', затем '''Quit''').
 
== '''Создание файловой системы Btrfs''' ==
 
Теперь нужно "отформатировать" раздел, чтобы он стал файловой системой Btrfs:
 
<pre># mkfs.btrfs -L ROSA /dev/sda2</pre>
 
* '''mkfs.btrfs''' — создаёт файловую систему Btrfs;
* '''-L ROSA''' — задаёт метку (название), чтобы её было легче узнавать;
* '''/dev/sda2''' — это тот раздел, на который вы ставите систему.


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


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


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


1. '''Смонтируйте новый раздел:'''
1. '''Смонтируйте новый раздел:'''
   <pre>sudo mount /dev/sda2 /mnt</pre>
 
   sudo mount /dev/sda2 /mnt


2. '''Создайте подтомы:'''
2. '''Создайте подтомы:'''
  <pre>sudo btrfs subvolume create /mnt/@
  sudo btrfs subvolume create /mnt/@home</pre>


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


3. '''Отмонтируйте:'''
3. '''Отмонтируйте:'''
   <pre>sudo umount /mnt</pre>
    
    sudo umount /mnt
 
== Монтирование подтомов (fstab) ==


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


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


<pre>
 
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
</pre>
 


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


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


1. '''Посмотреть список подтомов:'''
1. '''Посмотреть список подтомов:'''
   <pre>sudo btrfs subvolume list /</pre>
    
    sudo btrfs subvolume list /


2. '''Проверить использование места:'''
2. '''Проверить использование места:'''
   <pre>sudo btrfs filesystem df /</pre>
 
   sudo btrfs filesystem df /


3. '''Посмотреть общую информацию:'''
3. '''Посмотреть общую информацию:'''
  <pre>sudo btrfs filesystem show</pre>


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


== '''Заключение''' ==
== Заключение ==


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


{| style="width:100%; margin-top:1em; font-size:95%;"
{| style="width:100%; margin-top:1em; font-size:95%;"
| style="text-align:right;" | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]
| style="text-align:right;" | [[BTRFS/Оптимизация|Вперёд: Оптимизация →]]
|}
|}

Текущая версия от 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 в одном:

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