BTRFS/Введение и разметка: различия между версиями
Braumann (обсуждение | вклад) мНет описания правки |
Braumann (обсуждение | вклад) Статья снимается со стадии разработки. |
||
| Строка 3: | Строка 3: | ||
|} | |} | ||
'''BTRFS''' (произносится как «би-ти-эф-эс», от '''B-Tree FS''') — это современная файловая система Linux, которая умеет не только хранить файлы, но и '''обнаруживать ошибки данных''', '''сжимать информацию''', '''создавать снимки системы''' и '''управлять несколькими дисками как одним'''. | |||
Если вы раньше пользовались Windows, BTRFS можно сравнить с «умным аналогом NTFS», но с тем отличием, что многие функции (снимки, проверка целостности, управление дисками), которые в Windows реализованы отдельными утилитами, здесь встроены прямо в файловую систему. | |||
Если вы раньше пользовались Windows, | |||
== Что делает BTRFS особенной == | == Что делает BTRFS особенной == | ||
* '''Копирование при записи (Copy-on-Write)''' — данные не перезаписываются | * '''Копирование при записи (Copy-on-Write, CoW)''' — данные никогда не перезаписываются «поверх» старых. Новые версии записываются в другое место, что защищает от повреждений при сбоях питания или зависаниях | ||
* '''Снимки (snapshots)''' — | * '''Снимки (snapshots)''' — позволяют «заморозить» состояние системы и при необходимости вернуться к нему позже (аналог точек восстановления Windows) | ||
* '''Сжатие | * '''Сжатие данных на лету''' — экономит место и часто повышает производительность, особенно на SSD | ||
* '''Проверка целостности''' — | * '''Проверка целостности''' — для данных и метаданных хранятся контрольные суммы, что позволяет выявлять повреждения | ||
* ''' | * '''Гибкое управление дисками''' — можно добавлять и удалять устройства, расширять файловую систему без форматирования | ||
== Создание файловой системы BTRFS == | == Создание файловой системы BTRFS == | ||
Чтобы начать использовать BTRFS, раздел необходимо отформатировать: | |||
# 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''' — раздел, на который будет устанавливаться система | ||
После | После выполнения команды раздел готов к использованию. | ||
== Создание подтомов (subvolumes) == | == Создание подтомов (subvolumes) == | ||
Подтомы в BTRFS — это | Подтомы (subvolumes) в BTRFS — это логические разделы внутри одной файловой системы. | ||
Их можно сравнить с «папками с особыми свойствами», каждая из которых может иметь собственные снимки. | |||
Обычно создают отдельные подтомы для системы и пользовательских данных, чтобы снапшоты системы не затрагивали файлы пользователей. | |||
1. '''Смонтируйте раздел временно:''' | |||
sudo mount /dev/sda2 /mnt | |||
2. '''Создайте подтомы:''' | 2. '''Создайте подтомы:''' | ||
sudo btrfs subvolume create /mnt/@ | |||
sudo btrfs subvolume create /mnt/@home | |||
В результате будут созданы: | |||
* '''@''' — | * '''@''' — подтом для корневой файловой системы '''(/)''' | ||
* '''@home''' — | * '''@home''' — подтом для пользовательских данных '''(/home)''' | ||
3. '''Отмонтируйте раздел:''' | |||
sudo umount /mnt | sudo umount /mnt | ||
== Монтирование подтомов (fstab) == | == Монтирование подтомов (fstab) == | ||
Чтобы | Чтобы подтомы автоматически подключались при загрузке системы, их необходимо прописать в файле '''/etc/fstab'''. | ||
Пример | Пример конфигурации: | ||
UUID=xxxx-xxxx / btrfs subvol=@,defaults,compress=zstd 0 0 | |||
UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,compress=zstd 0 0 | |||
Обратите внимание: '''UUID одинаковый''', так как оба подтома находятся внутри одной файловой системы BTRFS. | |||
=== Пояснение параметров === | |||
* '''UUID''' — уникальный идентификатор файловой системы (можно узнать командой '''blkid''') | |||
* '''/''' и '''/home''' — точки монтирования | |||
* '''btrfs''' — тип файловой системы | |||
* '''subvol=@''' — указывает, какой подтом монтируется | |||
* '''compress=zstd''' — включает сжатие данных алгоритмом Zstandard | |||
* '''defaults''' — набор стандартных параметров монтирования | |||
{| class="wikitable mw-collapsible mw-collapsed" | {| class="wikitable mw-collapsible mw-collapsed" | ||
!Опция | !Опция | ||
| Строка 72: | Строка 76: | ||
|- | |- | ||
|'''rw''' | |'''rw''' | ||
|монтирование в режиме чтения | |монтирование в режиме чтения и записи | ||
|- | |- | ||
|'''suid''' | |'''suid''' | ||
|разрешает | |разрешает использование битов SUID и SGID | ||
|- | |- | ||
|'''dev''' | |'''dev''' | ||
|разрешает | |разрешает использование файлов устройств | ||
|- | |- | ||
|'''exec''' | |'''exec''' | ||
| Строка 84: | Строка 88: | ||
|- | |- | ||
|'''auto''' | |'''auto''' | ||
| | |файловая система монтируется автоматически (в том числе через <code>mount -a</code>) | ||
|- | |- | ||
|'''nouser''' | |'''nouser''' | ||
| | |монтирование разрешено только пользователю root | ||
|- | |- | ||
|'''async''' | |'''async''' | ||
|асинхронный ввод-вывод | |асинхронный ввод-вывод (поведение по умолчанию) | ||
|} | |} | ||
Примечание: параметр '''space_cache=v2''' в современных версиях ядра Linux включён по умолчанию и может не указываться явно. | |||
== Проверка результата == | == Проверка результата == | ||
1. ''' | После настройки можно убедиться, что BTRFS работает корректно. | ||
1. '''Список подтомов:''' | |||
sudo btrfs subvolume list / | sudo btrfs subvolume list / | ||
2. ''' | 2. '''Использование дискового пространства:''' | ||
sudo btrfs filesystem df / | |||
3. ''' | 3. '''Общая информация о файловой системе:''' | ||
sudo btrfs filesystem show | |||
Если | Если команды выполняются без ошибок и подтомы отображаются — файловая система настроена корректно. | ||
== Заключение == | == Заключение == | ||
'''BTRFS''' — это гибкая и | '''BTRFS''' — это гибкая и современная файловая система, подходящая как для новичков, так и для опытных администраторов. | ||
Она | |||
* вместо | Она объединяет возможности, которые в Windows реализованы разными инструментами: | ||
* вместо | * вместо «точек восстановления» — снимки | ||
* вместо | * вместо отдельных утилит управления дисками — встроенная балансировка и управление устройствами | ||
* вместо ручной проверки файловой системы — постоянный контроль целостности данных | |||
BTRFS особенно хорошо подходит для систем, где важны надёжность, удобство резервного копирования и возможность быстрого отката изменений. | |||
{| 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/Оптимизация|Вперёд: Оптимизация →]] | ||
|} | |} | ||
Версия от 16:25, 11 января 2026
| Вперёд: Оптимизация → |
BTRFS (произносится как «би-ти-эф-эс», от B-Tree FS) — это современная файловая система Linux, которая умеет не только хранить файлы, но и обнаруживать ошибки данных, сжимать информацию, создавать снимки системы и управлять несколькими дисками как одним.
Если вы раньше пользовались Windows, BTRFS можно сравнить с «умным аналогом NTFS», но с тем отличием, что многие функции (снимки, проверка целостности, управление дисками), которые в Windows реализованы отдельными утилитами, здесь встроены прямо в файловую систему.
Что делает BTRFS особенной
- Копирование при записи (Copy-on-Write, CoW) — данные никогда не перезаписываются «поверх» старых. Новые версии записываются в другое место, что защищает от повреждений при сбоях питания или зависаниях
- Снимки (snapshots) — позволяют «заморозить» состояние системы и при необходимости вернуться к нему позже (аналог точек восстановления Windows)
- Сжатие данных на лету — экономит место и часто повышает производительность, особенно на SSD
- Проверка целостности — для данных и метаданных хранятся контрольные суммы, что позволяет выявлять повреждения
- Гибкое управление дисками — можно добавлять и удалять устройства, расширять файловую систему без форматирования
Создание файловой системы BTRFS
Чтобы начать использовать BTRFS, раздел необходимо отформатировать:
# mkfs.btrfs -L ROSA /dev/sda2
- mkfs.btrfs — создаёт файловую систему BTRFS
- -L ROSA — задаёт метку (название) файловой системы
- /dev/sda2 — раздел, на который будет устанавливаться система
После выполнения команды раздел готов к использованию.
Создание подтомов (subvolumes)
Подтомы (subvolumes) в BTRFS — это логические разделы внутри одной файловой системы. Их можно сравнить с «папками с особыми свойствами», каждая из которых может иметь собственные снимки.
Обычно создают отдельные подтомы для системы и пользовательских данных, чтобы снапшоты системы не затрагивали файлы пользователей.
1. Смонтируйте раздел временно:
sudo mount /dev/sda2 /mnt
2. Создайте подтомы:
sudo btrfs subvolume create /mnt/@ sudo btrfs subvolume create /mnt/@home
В результате будут созданы:
- @ — подтом для корневой файловой системы (/)
- @home — подтом для пользовательских данных (/home)
3. Отмонтируйте раздел:
sudo umount /mnt
Монтирование подтомов (fstab)
Чтобы подтомы автоматически подключались при загрузке системы, их необходимо прописать в файле /etc/fstab.
Пример конфигурации:
UUID=xxxx-xxxx / btrfs subvol=@,defaults,compress=zstd 0 0 UUID=xxxx-xxxx /home btrfs subvol=@home,defaults,compress=zstd 0 0
Обратите внимание: UUID одинаковый, так как оба подтома находятся внутри одной файловой системы BTRFS.
Пояснение параметров
- UUID — уникальный идентификатор файловой системы (можно узнать командой blkid)
- / и /home — точки монтирования
- btrfs — тип файловой системы
- subvol=@ — указывает, какой подтом монтируется
- compress=zstd — включает сжатие данных алгоритмом Zstandard
- defaults — набор стандартных параметров монтирования
| Опция | Значение |
|---|---|
| rw | монтирование в режиме чтения и записи |
| suid | разрешает использование битов SUID и SGID |
| dev | разрешает использование файлов устройств |
| exec | разрешает выполнение бинарных файлов |
| auto | файловая система монтируется автоматически (в том числе через mount -a)
|
| nouser | монтирование разрешено только пользователю root |
| async | асинхронный ввод-вывод (поведение по умолчанию) |
Примечание: параметр space_cache=v2 в современных версиях ядра Linux включён по умолчанию и может не указываться явно.
Проверка результата
После настройки можно убедиться, что BTRFS работает корректно.
1. Список подтомов:
sudo btrfs subvolume list /
2. Использование дискового пространства:
sudo btrfs filesystem df /
3. Общая информация о файловой системе:
sudo btrfs filesystem show
Если команды выполняются без ошибок и подтомы отображаются — файловая система настроена корректно.
Заключение
BTRFS — это гибкая и современная файловая система, подходящая как для новичков, так и для опытных администраторов.
Она объединяет возможности, которые в Windows реализованы разными инструментами:
- вместо «точек восстановления» — снимки
- вместо отдельных утилит управления дисками — встроенная балансировка и управление устройствами
- вместо ручной проверки файловой системы — постоянный контроль целостности данных
BTRFS особенно хорошо подходит для систем, где важны надёжность, удобство резервного копирования и возможность быстрого отката изменений.
| Вперёд: Оптимизация → |