Btrfs/Создание файловой системы: различия между версиями

Материал из DZWIKI
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показано 8 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{see also|Btrfs/Основные операции и комманды}}
{{see also|Btrfs/Основные операции и комманды}}


== Ссылки ==
== Файловая система на одном устройстве ==
 
Чтобы создать файловую систему Btrfs на разделе <code>/dev/раздел</code>:
 
<syntaxhighlight lang="bash">
mkfs.btrfs /dev/раздел
</syntaxhighlight>
 
Можно указать метку:
 
<syntaxhighlight lang="bash">
mkfs.btrfs -L метка /dev/раздел
</syntaxhighlight>
 
Размер узла для метаданных по умолчанию составляет 16 КиБ, а размер сектора по умолчанию для данных равен размеру страницы и определяется автоматически. Чтобы использовать больший размер узла для метаданных (он должен быть кратен размеру сектора, допускается до 64 КиБ), укажите значение <code>nodesize</code> с помощью опции <code>-n</code>, как показано в этом примере с блоками по 32 КиБ:
 
<syntaxhighlight lang="bash">
mkfs.btrfs -L метка -n 32k /dev/раздел
</syntaxhighlight>
 
{{Notice|
Примечание: Согласно mkfs.btrfs(8) § OPTIONS<ref>{{cite web
|url          = https://man.archlinux.org/man/mkfs.btrfs.8#OPTIONS
|title        = mkfs.btrfs(8) — Arch manual pages
|lang        = en
|date        = 2023-12-14
|access-date  = 2024-01-06
|website      =
|archive-url  = https://web.archive.org/web/20231217143338/https://man.archlinux.org/man/mkfs.btrfs.8
|archive-date = 2023-12-17
}}</ref>, «меньший размер узла увеличивает фрагментацию, но приводит к использованию более высоких b-деревьев, что, в свою очередь, приводит к меньшей конкуренции при блокировке. Больший размер узла даёт лучшую упаковку и меньшую фрагментацию ценой более дорогих операций с памятью при обновлении блоков метаданных».
}}
 
== Файловая система на нескольких устройствах ==
{{Внимание|Важно: Режимы [[RAID 5]] и [[RAID 6]] в Btrfs фатально несовершенны и не должны использоваться для чего-либо, кроме тестирования на данных, которые не жалко потерять.<ref>{{cite web
|url          = https://lore.kernel.org/linux-btrfs/20200627032414.GX10769@hungrycats.org/
|title        = Список известных проблем и частичных обходных путей для режимов RAID 5 и RAID 6
|lang        = en
|date        = 2020-06-26
|access-date  = 2024-01-06
|website      =
|archive-url  = https://web.archive.org/web/20231129195048/https://lore.kernel.org/linux-btrfs/20200627032414.GX10769@hungrycats.org/
|archive-date = 2023-11-29
}}</ref><ref>{{cite web
|url          = https://man.archlinux.org/man/btrfs.5#RAID56_STATUS_AND_RECOMMENDED_PRACTICES
|title        = Актуальная информация о статусе RAID 5 и RAID 6 для Arch Linux - btrfs(5) § RAID56 STATUS AND RECOMMENDED PRACTICES
|lang        = en
|date        =
|access-date  = 2024-01-06
|website      =
|archive-url  = https://web.archive.org/web/20231228034206/https://man.archlinux.org/man/btrfs.5
|archive-date = 2023-12-28
}}</ref>
}}
Можно использовать несколько устройств для создания [[RAID]]-массива.
Поддерживаются уровни [[RAID 0]], [[RAID 1]], [[RAID 10]], [[RAID 5]] и [[RAID 6]]. Начиная с ядра 5.5, поддерживаются [[RAID1c3]] и [[RAID1c4]] для 3- и 4- копий уровня RAID 1. Уровни RAID могут быть настроены отдельно для данных и метаданных с помощью опций <code>-d</code> и <code>-m</code> соответственно. По умолчанию данные имеют одну копию (<code>single</code>), а метаданные зеркалируются (<code>raid1</code>). Это похоже на создание конфигурации [[JBOD]], где диски воспринимаются как одна файловая система, но файлы не дублируются.
Дополнительная информация о создании Btrfs RAID есть на странице [https://archive.kernel.org/oldwiki/btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices.html Using Btrfs with Multiple Devices].
 
<syntaxhighlight lang="bash">
mkfs.btrfs -d single -m raid1 /dev/раздел1 /dev/раздел2 ...
</syntaxhighlight>
 
В <code>/etc/mkinitcpio.conf</code> необходимо включить хук <code>udev</code>, <code>systemd</code> или <code>btrfs</code>, чтобы использовать несколько устройств Btrfs в пуле. Дополнительную информацию смотрите в статье [https://wiki.archlinux.org/title/Mkinitcpio_(Русский)#Доступные_хуки mkinitcpio (Русский)#Доступные хуки].
 
{{Notice|Примечание:
* Существует возможность добавлять дополнительные устройства в файловую систему с несколькими устройствами после её создания. Дополнительную информацию смотрите в [https://archive.kernel.org/oldwiki/btrfs.wiki.kernel.org/index.php/Using_Btrfs_with_Multiple_Devices.html Btrfs wiki].
* Устройства могут быть разных размеров. Однако если один из дисков в конфигурации RAID больше остальных, то дополнительное пространство не будет использоваться.
* Некоторые загрузчики, такие как [[Syslinux]], не поддерживают файловые системы на нескольких устройствах.
* Btrfs не пытается выбирать самое быстрое устройство для чтения, поэтому совместное использование разных типов дисков приводит к нестабильной производительности.<ref>{{cite web
|url          = https://stackoverflow.com/questions/55408256/btrfs-raid-1-which-device-gets-the-reads/55408367#55408367
|title        = BTRFS raid-1: which device gets the reads?
|lang        = en
|date        = 2019-03-28
|access-date  = 2024-01-06
|website      = [[stackoverflow]]
|archive-url  = https://web.archive.org/web/20240106214701/https://stackoverflow.com/questions/55408256/btrfs-raid-1-which-device-gets-the-reads/55408367
|archive-date = 2024-01-06
}}</ref>
}}
 
Советы по обслуживанию файловых систем на нескольких устройствах приведены в разделе [[Btrfs/RAID|RAID]].
 
== Примечания ==
{{Примечания|2}}
 
== Ссылки и источники ==
* {{cite web
|url          = https://wiki.archlinux.org/title/Btrfs_(Русский)
|title        = Btrfs (Русский) - ArchWiki
|lang        = ru
|date        = 2023-11-25
|access-date  = 2024-01-06
|website      = ArchWiki
|archive-url  = https://web.archive.org/web/20240106215318/https://wiki.archlinux.org/title/Btrfs_%28%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%29
|archive-date = 2024-01-06
}}


[[Категория:Документация к Btrfs|Создание файловой системы]]
[[Категория:Документация к Btrfs|Создание файловой системы]]

Текущая версия от 21:55, 6 января 2024

Файловая система на одном устройстве

Чтобы создать файловую систему Btrfs на разделе /dev/раздел:

mkfs.btrfs /dev/раздел

Можно указать метку:

mkfs.btrfs -L метка /dev/раздел

Размер узла для метаданных по умолчанию составляет 16 КиБ, а размер сектора по умолчанию для данных равен размеру страницы и определяется автоматически. Чтобы использовать больший размер узла для метаданных (он должен быть кратен размеру сектора, допускается до 64 КиБ), укажите значение nodesize с помощью опции -n, как показано в этом примере с блоками по 32 КиБ:

mkfs.btrfs -L метка -n 32k /dev/раздел

Файловая система на нескольких устройствах

Можно использовать несколько устройств для создания RAID-массива. Поддерживаются уровни RAID 0, RAID 1, RAID 10, RAID 5 и RAID 6. Начиная с ядра 5.5, поддерживаются RAID1c3 и RAID1c4 для 3- и 4- копий уровня RAID 1. Уровни RAID могут быть настроены отдельно для данных и метаданных с помощью опций -d и -m соответственно. По умолчанию данные имеют одну копию (single), а метаданные зеркалируются (raid1). Это похоже на создание конфигурации JBOD, где диски воспринимаются как одна файловая система, но файлы не дублируются. Дополнительная информация о создании Btrfs RAID есть на странице Using Btrfs with Multiple Devices.

mkfs.btrfs -d single -m raid1 /dev/раздел1 /dev/раздел2 ...

В /etc/mkinitcpio.conf необходимо включить хук udev, systemd или btrfs, чтобы использовать несколько устройств Btrfs в пуле. Дополнительную информацию смотрите в статье mkinitcpio (Русский)#Доступные хуки.

Советы по обслуживанию файловых систем на нескольких устройствах приведены в разделе RAID.

Примечания

  1. mkfs.btrfs(8) — Arch manual pages (англ.) (14 декабря 2023). Дата обращения: 6 января 2024. Архивировано 17 декабря 2023 года.
  2. Список известных проблем и частичных обходных путей для режимов RAID 5 и RAID 6 (англ.) (26 июня 2020). Дата обращения: 6 января 2024. Архивировано 29 ноября 2023 года.
  3. Актуальная информация о статусе RAID 5 и RAID 6 для Arch Linux - btrfs(5) § RAID56 STATUS AND RECOMMENDED PRACTICES (англ.). Дата обращения: 6 января 2024. Архивировано 28 декабря 2023 года.
  4. BTRFS raid-1: which device gets the reads? (англ.). stackoverflow (28 марта 2019). Дата обращения: 6 января 2024. Архивировано 6 января 2024 года.

Ссылки и источники