Btrfs

Материал из Википедии — свободной энциклопедии
Btrfs
Разработчик Oracle, Fujitsu, Red Hat[1]
Файловая система Btrfs
Дата представления 4.18:
август 2018 года[2] (Linux)
Структура
Содержимое папок
B-tree
Размещение файлов экстент
Ограничения
Максимальный размер файла 16 ЭиБ
Максимальная длина имени файла 255 байт[3]
Максимальный размер тома 16 ЭиБ
Допустимые символы в названиях Все байты, кроме NUL и '/'
Возможности
Атрибуты POSIX
Права доступа
ACL
Фоновая компрессия Да (
zstd
)
Фоновое шифрование нет
Поддерживается ОС Linux
Логотип Викисклада Медиафайлы на Викискладе

Btrfs (

copy-on-write). Опубликована корпорацией Oracle в 2007 году под лицензией GNU General Public License[4]. Среди первоначальных целей разработки было обеспечение конкуренции файловой системе ZFS (использование которой в Linux было затруднено лицензионными ограничениями) и избавление от недостатков, присущих ранним файловым системам для Linux. Основной автор — Крис Мэйсон (англ. Chris Mason) — отмечал также наличие простого интерфейса управления файловой системой в качестве одной из целей создания[5]
.

Изначально планировалось выпустить Btrfs v1.0 и зафиксировать формат хранения в конце 2008 года[6], однако формат был зафиксирован только 12 июня 2010 года[7].

Btrfs включена в основную ветвь ядра Linux начиная с версии 2.6.29-rc в статусе экспериментальной. Проведённая ресурсом Phoronix оценка производительности показала, что Btrfs с включённым режимом сжатия иногда опережает по производительности Ext4[8].

Возможности

Снимок экрана с информацией об использовании Btrfs

Считается, что Btrfs имеет ряд решений, впервые появившихся в ReiserFS[9], при этом не поддерживает некоторые базовые функции. Список возможностей системы по состоянию на 2011 год[10]:

Несмотря на то, что Btrfs изначально не способна вести себя как

распределённая (сетевая) файловая система, компания Oracle принялась за реализацию сетевого протокола файловой системы CRFS[14]
, который спроектирован и оптимизирован как раз под Btrfs.

В ранних версиях поддерживалась миграция с файловых систем ext3 и ext4 и обратно (до момента обновления), но начиная с версии ядра 4.0 использование функции не рекомендовано в связи с потенциальной опасностью[15].

Создание

файла подкачки в Btrfs возможно с марта 2019 года (Linux kernel 5.0), файл при этом создается с флагом nocow и должен располагаться на одном накопителе[16]
.

Недостатки

Нельзя использовать

снимки LVM и копии тома, сделанные с помощью dd, так как у них будут одинаковые UUID, что может привести к записи не в ту копию и повреждению всех данных[17]
; вместо использования LVM и dd в Btrfs необходимо использовать специальные утилиты Btrfs по управлению подтомами и механизм работы со снимками.

В связи с использованием по умолчанию техники копирования при записи, при большом количестве перезаписей случайных фрагментов файлов может возникать значительная

; решением может стать отключение COW (возможно только для новых и пустых каталогов/файлов).

Примечания

  1. Which companies contribute to Btrfs? gmane.org (24 апреля 2014). Дата обращения: 18 июня 2014. Архивировано из оригинала 16 февраля 2018 года.
  2. список изменений. Дата обращения: 13 июля 2010. Архивировано 10 февраля 2010 года.
  3. Linux/VLFN - Исследование Etersoft на предмет увеличения длины имени файла. Дата обращения: 1 ноября 2014. Архивировано 1 ноября 2014 года.
  4. Btrfs Wiki: Main Page (англ.). Архивировано из оригинала 28 июня 2012 года.
  5. Sean Michael Kerner. A Better File System For Linux (англ.). InternetNews.com (30 октября 2008). — «The main goal is to let it {Linux} scale for the storage that will be available. Scaling is not just about addressing the storage but also means being able to administer and to manage it with a clean interface that lets people see what's being used and makes it more reliable.» Дата обращения: 30 октября 2008. Архивировано из оригинала 28 июня 2012 года.
  6. Btrfs Wiki: Development timeline (англ.). Архивировано 20 декабря 2008 года.
  7. [https://web.archive.org/web/20100612201526/http://lkml.org/lkml/2010/6/12/66 Архивная копия от 12 июня 2010 на Wayback Machine LKML: Christian Kujau: [PATCH] Remove EXPERIMENTAL flag from Btrfs]
  8. Where The Btrfs Performance Is At Today. Phoronix.com (9 июня 2010). Дата обращения: 9 июля 2010. Архивировано из оригинала 28 июня 2012 года.
  9. Theodore Ts’o. Re: reiser4 for 2.6.27-rc1 (1 августа 2008). Дата обращения: 22 января 2009. Архивировано из оригинала 28 июня 2012 года.
  10. .
  11. LZ4 Compression Support Is Unlikely For Btrfs — Phoronix. Дата обращения: 18 августа 2017. Архивировано 18 августа 2017 года.
  12. Compression — btrfs Wiki. Дата обращения: 18 августа 2017. Архивировано 12 июня 2017 года.
  13. Btrfs hilights in 5.5: new hashes. Дата обращения: 29 августа 2020. Архивировано 10 сентября 2020 года.
  14. Coherent Remote File System. Дата обращения: 31 мая 2009. Архивировано 20 февраля 2009 года.
  15. Conversion from Ext3. Дата обращения: 31 мая 2009. Архивировано 19 февраля 2009 года.
  16. Релиз ядра Linux 5.0 Архивная копия от 14 мая 2019 на Wayback Machine — opennet 04.03.2019 «Добавлена возможность размещения раздела подкачки в файлах внутри ФС Btrfs…»
  17. Gotchas — btrfs Wiki. Дата обращения: 13 февраля 2017. Архивировано 14 июня 2017 года.
  18. Josef Bacik. Btrfs: The Swiss Army Knife of Storage (1 февраля 2012). Дата обращения: 13 июля 2010. Архивировано из оригинала 28 июня 2012 года.

Ссылки

На английском языке
На русском языке