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)

на базе стабильного и оттестированного годами проекта bcache.

Кем оттестированного?

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

А как же https://lkml.org/lkml/2010/6/18/144

Цитата:


Personally I don't see any way to improve the situation with Btrfs
except full redesigning the last one. If you want to base your file
system on the paper of Ohad Rodeh, then please, use *exactly* the
Bayer's B-trees that he refers to. That said, make sure that all
records you put to the tree has equal length and all non-root nodes of
your tree are at least half filled.

King_Carlo ★★★★★
()

По мнению разработчиков ФС, надёжная работа этой ФС — это мираж, т.к. лучший компонент этой ФС — это fsck.

Ну надо же, у всех работает, а оказывается что мираж. И только велосипед автора, протестированный аж на 50 тб спасет нас. Куда нести мешки с деньгами?

ptarh ★★★★★
()

Сжатие: реализовано (LZ4, GZip).

LZ4 отлично годится для хранения редко изменяемых данных. Скорость распаковки сумасшедшая, а вот скорость сжатия просто адовая.

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

Куда нести мешки с деньгами?

По ссылке сходи. По-моему достойный проект.

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

Для продолжения стабильного развития bcachefs необходимо $3000 в месяц

Ого. Кто-то правда будет это спонсировать?

Карандаши и прочие скрепки в бухгалтерии средней компании обходятся дороже.

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

для чего ФС нужна? для хранения данных. А снапшоты ведь совсем другое дело...

Для чего блочный девайс нужен? для хранения данных. А снапшоты ведь совсем другое дело...

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

Щас Apple выкатывает APFS, она открытая.

Пусть вначале внутри своей экосистемы ее оттестируют.

Запилить в эти ваши линуксы и норм.

А что там с лицензиями?

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

Скорость распаковки сумасшедшая, а вот скорость сжатия просто адовая.

Не замечал, загрузка cpu при интенсивной записи (полная скорость стораджа) с lz4 крайне незначительна.

King_Carlo ★★★★★
()

что же предлагает Kent?

https://en.wikipedia.org/wiki/Kent_(cigarette)

Рак легких жесткого диска?

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

Поттеринг 2.0

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

УМВР.

По мнению разработчиков ФС, надёжная работа этой ФС — это мираж

По мнению разработчиков этой ФС, надежная работа bcachefs это сплошное ЧСВ.

ZFS: Эта ФС показывает людям то, что они могут получать от copy-on-write ФС

copy-on-write POSIX-совместимая ФС.

Лол. Наступаем на те же грабли?

Простой и понятный исходный код.

Парень, хотел форкнуть ext4, но нихера не понял и пошел писать свой быдлокод.

Со времени апрельских тестов производительности

1 апреля давно закончилось.

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

У lvm просто нет всей той информации, что есть у фс.

Это не имеет отношения к проблеме. Смотри как позорно реализован cow в этом вашем lvm.

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

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

Нет, дело не в какой-то там информации. Дело в том, что чуваки сделали на коленке и перестали развивать (hint: мы с перцами делали блочные снепшоты для одного проекта, и они не тормозили).

P.S. Я уже не говорю о том, что есть битовые карты и Discard.

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

Я сомневаюсь, будет ли его вообще кто-то спонсировать. То есть $3000 в месяц за что-то, что выглядит как очередной велосипед, это таки много.

Думаешь, ему реально будут донатить?

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

Они не нарушают лицензий, нашли изящный выход.

Можно в двух словах?

В убунту 16.04 zfs уже поставляется «из коробки», так что zfsonlinux уверенно завоёвывает своё место.

Для / можно использовать?

andreyu ★★★★★
()

Алсо когда я тыкал bcache и lvmcache, то bcache мне понравился гораздо больше. Он куда более продуман.

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

Я сомневаюсь, будет ли его вообще кто-то спонсировать. То есть $3000 в месяц за что-то, что выглядит как очередной велосипед, это таки много.

Никто же не просит $3000 с одного человека.

Думаешь, ему реально будут донатить?

Я на 20 в месяц подписался. Ещё 150 таких же, как я и будет $3000.

Legioner ★★★★★
()

JFS во все поля! Качество не стареет!

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

Читай до конца. Читай разбор на LWN, ссылки в FAQ Btrfs. Не надо выдавать какого-то непонятного Шишкина за носителя истины в последней инстанции.

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

И что, hpfs тоже пока из ядра не выкинули (хотя в дебиане уже # CONFIG_HPFS_FS is not set), хочешь сказать, что оно живо?

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

Ну $30000 в месяц врядли, но уже есть $247. Этак заплата самого нищебродного программиста в Этой Стране. Мало, но уже кое-что...

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

Не замечал, загрузка cpu при интенсивной записи (полная скорость стораджа) с lz4 крайне незначительна.

На сайте проекта есть бенчи. LZ4 HC - тормозит ака zlib, но распаковке рвет все.

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

Можно в двух словах?

zfsonlinux поставляется как модуль ядра, при таком подходе противоречия лицензий нет.

Для / можно использовать?

Можно использовать в бизнесе.

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

Её состояние сравнимо с ядром 2.6.32 - поддерживалось долго, очень долго, но не развивалось.

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

Думаешь, ему реально будут донатить?

За других не ручаюсь, а я ему денег не понесу. Его ЧСВ слишком круто для меня.

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

Читай до конца. Читай разбор на LWN, ссылки в FAQ Btrfs.

Читал. Там выступают клоуны в защиту своего шапито.

Не надо выдавать какого-то непонятного Шишкина за носителя истины в последней инстанции.

В данном конкретном случае Шишкин носитель истины в последней инстанции.

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

zfsonlinux поставляется как модуль ядра, при таком подходе противоречия лицензий нет.

Если в виде собранного ko, то есть.

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

zfsonlinux поставляется как модуль ядра, при таком подходе противоречия лицензий нет.

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

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

В данном конкретном случае Шишкин носитель истины в последней инстанции.

Лол, ясно-понятно. Тут главное твёрдо верить :)

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

Так пусть средней компании и продаётся.

Вот он и выставил себя на продажу.

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

Пощупать её можно примерно нигде?

Сначала деньги, потом стулья.

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

Заметь, не говорят ENOSPC, а теряют данные.

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

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

Если в виде собранного ko, то есть.

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

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

без initrd в данном случае никак?

Не могу ответить на этот вопрос, не знаю.

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

Лол, ясно-понятно. Тут главное твёрдо верить :)

Есть такая штука занимательная - матан, ты можешь верить или не верить от этого ничего не изменится.

King_Carlo ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.