LINUX.ORG.RU

Создатель bcachefs: текущая ситуация с ФС в Linux и привлечение денег на развитие проекта

 , ,


7

8

Kent Overstreet, создатель и главный разработчик файловой системы (ФС) bcachefs, запустил кампанию по привлечению средств на дальнейшее развитие проекта. Мотивацию к созданию ещё одной файловой системы Кент извлекает из текущей плачевной ситуации с файловыми системами в Linux:

  • ext4: Да, она работает, но годы долгой эволюции берут своё. Серьёзные проблемы с качеством исходного кода, проблемы с производительностью, периодически выявляемые ошибки, приводящие к повреждению или потере хранимых данных. По мнению разработчиков ФС, надёжная работа этой ФС — это мираж, т.к. лучший компонент этой ФС — это fsck.
  • XFS: Работает надёжно, качество и строгость исходного кода ФС является примером для подражания для всех остальных. XFS имеет классическую архитектуру: update-in-place, а не copy-on-write. Поэтому множество продвинутых функций в рамках этой ФС реализовать проблематично или просто невозможно.
  • btrfs: ФС разрабатывалась под Linux как ФС следующего поколения, «наш ответ ZFS». Но она разрабатывалась на скорость, без проработки архитектуры. Например, допущено множество ошибок в формате хранимых данных, ужасное качество исходного кода и его огромный объем. Много людей уже погорело на btrfs.
  • ZFS: Эта ФС показывает людям то, что они могут получать от copy-on-write ФС, но ФС живёт и развивается вне Linux, и на Linux она не ориентирована. Из технических особенностей: в отличие от остальных современных ФС, ZFS имеет block-based архитектуру вместо extent-based (сделано для упрощения реализации снимков на уровне ФС).


Как видно, ситуация с файловыми системами в Linux оставляет желать лучшего, что же предлагает Kent? bcachefs уже сегодня — это:

  • copy-on-write POSIX-совместимая ФС.
  • Нижний слой ФС реализован на базе стабильного и оттестированного годами проекта bcache. Файловая система (при текущем наборе функций) уже стабильна и протестирована на хранении 50 ТБ+ данных. С момента первого анонса было выявлено лишь несколько мелких ошибок. Создатель ФС использует bcachefs на своём ноутбуке в качестве корневой.
  • Высокая скорость работы. Со времени апрельских тестов производительности были сделаны оптимизации. В bcachefs хорошо отработан tail latency, практически отсутствуют блокировки потоков на вводе-выводе.
  • Простой и понятный исходный код. Текущий исходный код меньше по объёму, чем ext4, но уже содержит большинство функций btrfs.



Таким образом, проект bcachefs готов к ограниченному использованию уже сейчас, но реализация части функций требует спонсирования. Текущий статус основных функций:

  • Хеш-суммы: реализовано на 100%, по умолчанию — crc32c.
  • Сжатие: реализовано (LZ4, gzip). Но не доделан подсчёт свободного места, поэтому сжатие пока не приводит к увеличению свободного места.
  • Работа поверх нескольких устройств, включая кэширующие устройства (tiering): уже работает, но требуется тестирование и отладка.
  • Репликация: сделано на 80%.
  • Коды избыточности (Reed-Solomon, наподобие RAID 5/6): не начато.
  • Шифрование: не начато.
  • Снимки (snapshots): уже в процессе. Они будут иметь ряд приемуществ над традиционными снимками: значительно меньшие потери производительности и свободного места.
  • И другие.

Для продолжения стабильного развития bcachefs необходимо $3000 в месяц. Сейчас все расходы на развитие ложатся на кошелёк Кента.

>>> Подробности

★★★★★

Проверено: JB ()
Последнее исправление: Klymedy (всего исправлений: 17)

Ответ на: комментарий от King_Carlo

У меня по матану было 4, но заявления Шишкина не перестают быть болтовнёй. Он так и не сделал конкретных предложений, только ссылался на оригинальную работу по B-trees, на основании которой якобы построена Btrfs (авторы Btrfs только вдохновлялись этой работой). Кроме того, баг (признанный), которым Шишкин размахивал, не имеет отношения к его теоретическим отсылкам.

anonymous
()
Ответ на: комментарий от anonymous

B-trees, на основании которой якобы построена Btrfs
авторы Btrfs только вдохновлялись этой работой

))))

King_Carlo ★★★★★
()

Интересно, интересно. Но если она не будет уметь выдавать тома за блочные устройства, то не вижу её преимуществ перед Btrfs. Хотя, если будет шифрование, то это уже преимущество.

Deleted
()
Ответ на: комментарий от King_Carlo

Парни из zfsonlinux ориентируют её на линукс не покладая рук, у них хорошо получается.

1. От патентов Oracle не спасёт, даже независимую реализацию могут закрыть.

2. ZFS делали для датацентров и прочего энтерпрайза, где одинаковые диски покупают сотнями. Зоопарк дисков не предусмотрен, для домашних файлопомоек это минус.

anonymous
()
Ответ на: комментарий от Ivan_qrt

У lvm просто нет всей той информации, что есть у фс. lvm может оперировать только данными на уровне блоков на винте, и не знает какое место освободилось, а какое нет. Файлы-то нулями никто не забивает при удалении или изменении. А пилить это всё в виде отдельного интерфейса к блочному устройству вряд ли разумно.

trim

anonymous
()
Ответ на: комментарий от DeadEye

Как видишь, все люди ошибаются. И критиковать их в интернете за какие-то ошибки — такое же бессмысленное занятие, как и дальнейшее обсуждение этой критики. В любой новости найдутся те, кто чем-то недоволен. Некоторые из них даже в комментах требуют чего-то от автора новости, администрации ЛОРа, президента РФ. Но кто они, чтобы что-то там требовать с бесплатного ньюсмейкера? Вопрос риторический.

shahid ★★★★★
() автор топика
Ответ на: комментарий от andreyu

Если я правильно понимаю, то без initrd в данном случае никак?

Можно делать загрузку в 2 этапа — маленький boot-раздел с модулем ядра, который при запуске init монтирует / и передаёт туда управление. Хотя это в общем-то initrd своими руками и получится.

А так — модуль ядра где-то должен лежать, значит чтобы примонтировать корень, его надо сначала загрузить.

Может с EFI как-то можно сделать это, не разбирался с ним.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от King_Carlo

Убунту в виде .ko поставляют, их юристы вроде как раскумекали детали и сказали что можно.

Странно, огрызкоюристы сказали нуегонафиг.

anonymous
()
Ответ на: комментарий от anonymous

Apple - лакомая мишень для патентного троллинга, в отличие от Canonical

Deleted
()

А почему не опомянута фс маньяка Ганса Райзера?

anonymous
()
Ответ на: комментарий от mashina

А оно и не может сказать ENOSPC при всём желании т.к. работает уровнем ниже.

Вай нот? Если место на снепшоте кончилось, я вполне могу вернуть -ENOSPC на sys_write.

kirk_johnson ★☆
()
Ответ на: комментарий от Deleted

Интересно, интересно. Но если она не будет уметь выдавать тома за блочные устройства, то не вижу её преимуществ перед Btrfs. Хотя, если будет шифрование, то это уже преимущество.

Не будет терять данные.

kirk_johnson ★☆
()
Ответ на: комментарий от anonymous

ZFS делали для датацентров и прочего энтерпрайза,

Его вообще не понятно для чего делали. Точно не для энтерпрайза: он там нафиг не уперся. Все эти снепшоты, сжатие, шифрование, отлично делаются на аппаратных массивах, которые как раз в энтерпрайзе и распространены. iscsi в энетерпрайзе просто умер, к счастью, поскольку дешевые fc карточки гораздо надежнее. Разве что мультирут вещь полезная оказалась, но это не киллер фича все же. В результате он как раз в говнонасах и закрепился.

zloelamo ★★★★
()
Ответ на: комментарий от Deleted

Все ФС теряют данные. Придумайте что-нибудь по-остроумнее.

Ладно, перефразирую: не будет терять данные на ровном месте.

kirk_johnson ★☆
()
Ответ на: комментарий от anonymous

От патентов Oracle не спасёт, даже независимую реализацию могут закрыть.

Так у них дружбомагия же с Canonical oracle + canonical = 💖

anonymous
()

Нам нужно больше ФС хороших и разных!

r0ck3r ★★★★★
()
Ответ на: комментарий от kirk_johnson

Вот поэтому я жду nextgen-лоровцев, у которых будет преимущество: не кукарекают на ровном месте))

Deleted
()
Ответ на: комментарий от Legioner

Многабукав на английском. О чём там, и в каком месте использовать модуль ядра под другой лицензией — проблема.

sudopacman ★★★★★
()
Ответ на: комментарий от sudopacman

По-быстрому поправили чтоб компилялось. Конпеляется, значит не труп, бгг.

anonymous
()
Ответ на: комментарий от umka

Ну прочти уже правила, там так и написано — «если нет голосов против».

DeadEye ★★★★★
()

Кент извлекает из текущей плачевной ситуации с файловыми системами в Linux:

Есть же идеальная файловая система Reiser4. Почему бы ему просто не стать ментейнером Reiser4.

anonymous
()
Ответ на: комментарий от King_Carlo

Цитата

Суть сводится к тому, что если паковать маленькие файлы в блоки по 4 кБ, и при этом не фрагментировать их, легко тратится место впустую. Примерно то же самое, что никогда не фрагментировать файлы при записи в ФС. Когда-то наступит момент, когда нет достаточно большого сплошного свободного места.

Это — всего лишь мизерная часть алгоритмов ФС. Конкретный недостаток обходится запретом упаковки файлов в дерево. Или ограничением максимального размера пакуемых файлов. В этом случае размер записей становится фиксированным, авторы упомянутой статьи счастливы.

Автору письма не понравилась ФС. Только и всего.

i-rinat ★★★★★
()

какой-то толстый наброс.

Deleted
()
Ответ на: комментарий от sudopacman

Там о том, что есть две группы юристов. Одни от каноникала считают, что zfs распространять с убунтой можно. Другие считают, что нельзя. Поэтому однозначный вывод можно сделать только если оракл подаст на каноникал в суд и суд разрешит эту ситуацию в одну или в другую сторону. Пока этого не произошло — юридическая ситуация остаётся неоднозначной.

Legioner ★★★★★
()
Ответ на: комментарий от i-rinat

Или ограничением максимального размера пакуемых файлов.

Угу, в 4.6 по умолчанию ограничение стало 2 Кб. Но можно менять, насколько я помню.

anonymous
()
Ответ на: комментарий от Deleted

Вот поэтому я жду nextgen-лоровцев, у которых будет преимущество: не кукарекают на ровном месте))

Когда твой сосед ссыт в лифте, ты тоже пытаешься найти статистику по нассаным лифтам или все-таки даешь ему пезды?

kirk_johnson ★☆
()
Ответ на: комментарий от kirk_johnson

Вай нот? Если место на снепшоте кончилось, я вполне могу вернуть -ENOSPC на sys_write.

Возвращать его нужно из block io запросов blkdev интерфейса в ядре, а не из обычного write().

mashina ★★★★★
()
Ответ на: комментарий от sudopacman

Нижний слой ФС реализован на базе стабильного и оттестированного годами проекта bcache.
bcachefs

Оно как-то связано с bcache или просто так название прилепили?

«на базе [...] bcache»

KRoN73 ★★★★★
()
Ответ на: комментарий от aidaho

Не взлетит.

Ну, bcache взлетело. И альтернатив практически не имеет :)

KRoN73 ★★★★★
()
Ответ на: комментарий от zloelamo

Его вообще не понятно для чего делали.

А чего непонятного? Делали для соляры и там в свете live upgrade, boot environments и прочих ништяков интеграции с системой оно очень даже, а не как в линуксе, изолентой сбоку прилепили и сказали: «нате».

EvgGad_303 ★★★★★
()
Ответ на: комментарий от mashina

Возвращать его нужно из block io запросов blkdev интерфейса в ядре, а не из обычного write().

А кто ты думаешь отвечает на write()? :)

P.S. Вот когда ты делаешь submit_bio(), ты даешь ему callback. В этом callback'е возвращается errno, которое уходит по стеку выше прямо в sys_write(). Ну, это если мы говорим о O_SYNC/O_DIRECT. В случае с page cache все слегка сложнее.

kirk_johnson ★☆
()
Последнее исправление: kirk_johnson (всего исправлений: 1)
Ответ на: комментарий от King_Carlo

Парни из zfsonlinux ориентируют её на линукс не покладая рук, у них хорошо получается.

Настолько хорошо, что в IRC-канале zfsonlinux почти каждый день кто-то ноет что ОПЯТЬ ФСЁ СЛАМАЛОСЬ!!!111

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 2)
Ответ на: комментарий от EvgGad_303

А чего непонятного? Делали для соляры

Фишка в том, что все это не было востребовано. Разве что с зонами народ игрался с удовольствием (и тут снепшоты естественно в масть). Sun промазал с рынком. Они думали, что их веб/аппликейшен сервера на T серии кому-то нужны. А для M серии от этого zfs не тепло не жарко.

zloelamo ★★★★
()

реализовано, <...>. Но
уже работает, но
сделано на 80%
не начато
не начато
уже в процессе

И эти люди что-то гавкают против ext4/lvm?

anonymous
()

И почему-то все забывают, что проблемы и создают тонны слоев абстракций в костыльном ядре Linux, написаном студентом не послушавшего мудрого прохфессора.

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

anonymous
()

Почему так яростно не обсуждают шиндовс?

anonymous
()
Ответ на: комментарий от King_Carlo

Шишкин об этом говорил ещё много лет назад, с тех пор ничего не изменилось. Но местным линуксоидам хоть кол на голове теши, тащат в рот всякую гадость.

Для SSD есть что получше?

unixnik ★★★★★
()

Кент, есть какие то преимущества перед F2FS? (у меня SSD)

devnullopers
()

Шифрование не начато, RAID не начат, дедупликация, мпд и т.д. - не упомянуто... И нафига оно нужно?

anonymous
()

Лол. Только вчера почему-то решил позырить в ядро. Да и зашел в xfs. Посмотрел, подумал что на таком быдлокоде всё сделано, а оказывается это прекрасная реализация.

anonymous
()
Ответ на: комментарий от anonymous

Занеси $1000 и сможешь сходить на свидание с автором. Ну в смысле не в том смысле, а просто поговорить о файловых системах

Ну ни хрена себе губа не дура! За тыщу просто поговорить. А за бутылку водки и пачку сигарет с ним нельзя поговорить?

d_a ★★★★★
()
Последнее исправление: d_a (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.