LINUX.ORG.RU

Эдуард Шишкин выступил с критикой Btrfs

 


0

0

Эдуард Шишкин - один из разработчиков Reiser4, на данный момент является сотрудником RedHat. Эдуард опубликовал на lkml результаты тестирования и ревью исходного кода входящей в состав ядра linux-2.6.33 файловой системы Btrfs.

Было обнаружено следующее:

  • При заполнении пустого 659-мегабайтного раздела Btrfs файлами размером в 2 килобайта, лишь 17% дискового пространства отводится под собственно содержимое файлов, а оставшиеся 83% Btrfs расходует на свои служебные данные.
  • Столь низкая эффективность использования дискового пространства, похоже, является фундаментальным свойством тех алгоритмов, которые положены в основу Btrfs. А именно, Btrfs пытается хранить блоки переменного размера («inline extents», xattr, и тд) в структуре данных «B-tree». Однако B-tree предоставляет гарантии эффективного использования памяти лишь для блоков постоянного размера.

Несмотря на то, что первое сообщение было опубликовано в начале июня, переписка между Эдуардом Шишкиным и разработчиком Btrfs Крисом Мейсоном продолжнается на lkml и по сей день. Приятного чтения!

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

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

Райзер при том.

Да причем тут вообще рейзер, Шишкин указал конкретно на большие недостатки btrfs, а не на то, что надо рейзер воткнуть в ядро.

При том что Эдуард наглядно показал, что кривую бету пре-альфы макетной реализации в linux впихнули, а нормальную стабильную ФС с выдающимися характеристиками не принимают уже много лет.

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

> а правда, что рейзер прималейших сбоях может изрубить концы файлов в капусту?

Нет. Но он может методично отправлять ядро в kernel panic, или срать в dmesg просто так. После продолжительного апдейта.

vasily_pupkin ★★★★★ ()

Личный опыт (смесь лаптопы, десктопы, лаптопы с SSD):

1) Reiser4

Ставил несколько раз, после появления новостей от Э.Шишкина, с разницей примерно в полгода. Минимальное время до появления первой проблемы, обнаруженной fsck - порядка нескольких часов. Пару раз она продержалась несколько месяцев, после чего fsck больше не смог ее починить даже с rebuild-fs. Сильно заметна деградация скорости со временем. Скорость падает в 2-3 раза через пару месяцев.

Выигрывает у ext4 только в обьеме метаданных на большом кол-ве маленьких файлов. Выигрыш по скорости (~5%) заметен только на маленьких файлах и только вскоре после форматирования, через ~неделю выигрыш сходит на нет и начинается торможение.

2) Btrfs

Ставил на несколько машин, неплохо работает до выключений питания. При выключении питания в async mode умирает. Попытка что-то починить btrfsck только выводит сообщение об ошибках, но не чинит.

По производительности (даже со сжатием) проигрывает ext4 менее 10%. На тот же 60Gb диск лаптопа с btrfs влезло примерно на 50% данных (linux, файлы виртуальных машин, исходный код)

Вывод: обе вышеописанные FS к production не готовы. Пока нет нормально работающего, как в ext4, fsck - нечего им делать на важных машинах. Проблема очень большого кол-ва маленьких файлов не настолько важна. Реально я с этим столкнулся при генерации Linux на 4Gb флешке. На 8Gb флешке это же не важно.

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

Потому что в ляликсе нужно что-то, что будет напоминать ZFS. А еще один рейзер не нужен. Этого говна и так хватает

vasily_pupkin ★★★★★ ()
Ответ на: ZFS sucks! от Camel

> ZFS не будет, оно некошерно.

Лучше бы было некошерно, чем два говна :] Но тут уж ничо не поделаешь. Одна надежда - на разработку вне дерева

для Линуса самым разумным было бы

Не ходить больше на лор :]

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

>Потому что в ляликсе нужно что-то, что будет напоминать ZFS. А еще один рейзер не нужен. Этого говна и так хватает

Потому что на ЛОРе не нужен кто-то, кто будет поминать «ляликс» и ZFS. Этого говна и так хватает.

fixed

registrant ★★★★★ ()

Этот ламер ещё бы сравнил размер Hello World на ассемблере с Hello World на C++.

Quasar ★★★★★ ()
Ответ на: Шишкин дело знает. от Camel

Файловые системы разных категорий и возможностей. Посему это всё равно что сравнивать FAT16 с ZFS.

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

anonymous> модель свободного программного обеспечения. Вроде как «Любой ваш вклад приветствуется»

Модель СПО - это возможность делать с кодом что хочешь (кроме закрытия, естественно). А апстрим - это дело авторов и координаторов. Не нравится - делай патчи и свои сборки. Вот, например, Zen-Kernel. Там с радостью примут всё интересное и полезное.

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

anonymous> там вопросы скорее к тому, можно ли использовать btrfs вообще, а не «стоит ли менять её на рейзер4».

На больших серваках - естественно рановато.

Quasar ★★★★★ ()
Ответ на: Райзер при том. от Camel

Re: Райзер при том.

Camel> При том что Эдуард наглядно показал, что кривую бету пре-альфы макетной реализации в linux впихнули, а нормальную стабильную ФС с выдающимися характеристиками не принимают уже много лет.

Эдуард не учёл, что аналогичных по области применения Reiser4 ФС как собак нерезаных. А аналогов BTRFS в линуксе просто нет. Посему приняли так легко недостаточно обкатанную версию.

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

>> И если уж на то пошло, что самое важное для файловой системы в 2010 году?

А это смотря для кого. :) При этом те, для кого самым важным является способность упаковать как можно больше двухкилобайтных файлов в мульти-терабайтный volume, вызывают у меня некое недоумение, мягко говоря.

Ну а все-таки? Что самое важное?

При этом для меня это отнюдь не упаковка мелких файлов.

Дыг и что? Вот кстати маленькое предсказание от одного из девелоперов ZFS, сделанное в июле 2009

Одним из бывших девелоперов ZFS, строго говоря. Переставшей быть таковой где-то году в 2004 или даже еще раньше.

Btrfs will be the default file system on Linux within two years.

Дык я об этом же собственно и говорю. Пару лет еще до дефолтного состояния. Если не больше.

Иногда (и/или для кого-то) выигрыш чуть больше погрешности измерений по одному показателю вполне стоит проигрыша по другому на порядок.

Намекаешь на возможность удаления устройств?

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

> И, да, вот например до сих пор не пофиксенный ZFS'ный багрепорт, открытый в 2003 году. И будет ли он вообще пофиксен – большой вопрос. http://bugs.opensolaris.org/view_bug.do?bug_id=4852783

Гыы, как в воду глядел :-) Старая песня. Что именно у тебя большой вопрос вызывает?

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

В btrfs то знаешь как это работает? Примерно так же, как упаковка мелких файлов.

Работает оно на уровне чанков - то есть если есть полностью свободные чанки, в которые можно переместить чанки с удаляемого устройства, тогда да, есть шанс, что устройство удалится. Но если в чанке использован хотя бы один блок, то в него уже ничего не переместишь. Так что места может быть много, а вынуть ничего не получится.

Последний раз, когда я на это смотрел, оно вообще забавно работало - устройство удаляется, а размер свободного пространства не меняется.

Так что пока можно считать, что эта возможность заявлена, но как следует не работает. В том виде, в каком она «работает», можно считать, что ее нету.

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

>> Я этого не берусь отрицать, по меньшей мере в отношении половины из имеющегося количества в 64 или сколько там. Однако нужность не делает их менее барахлянскими с _моей_ точки зрения.

это слив

Че сказать-то хотел? Или так, мимо проходил, и решил что-нибудь ляпнуть?

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

Btrfs умрёт.

А btrfs - система для всех

Скоро не будет вашей Btrfs. У Oracle есть Solaris и ZFS. На допиливание кривых ляликсовых конкурирующих поделок они клали большой ignore.

Camel ★★★★★ ()

Ху из фвкин Шишкин?

Шишкин - это новая легенда ЛОРа.

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

не позорились бы чтоли....

Edward Shishkin , после того как Hans Reiser приобрел проблемы с законом, Эдуард взял на себя дальнейшее поддержание жизни (ну или разработку, как некоторые могут считать) Reiser4

сами патчи тут, как видите папка называется 'edward'

http://www.kernel.org/pub/linux/kernel/people/edward/reiser4/reiser4-for-2.6/

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

ещё с небольшой натяжкой xfs и jfs (которые нельзя использовать в продакшн).

Фигасе. А в SGI и не знают, что IRIX нельзя использовать в продакшене...

Линуксовый порт, говорят, получился менее стабильный.

mv ★★★★★ ()
Ответ на: Btrfs умрёт. от Camel

Ну значит в ляликсе не будет околоинтерпрайс фс из коробки. Нашел чему радоваться :]

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

> Фигасе. А в SGI и не знают, что IRIX нельзя использовать в продакшене...

Если чо, фс это не только формат, а еще и реализация, и контекст. Ляликс != IRIX

vasily_pupkin ★★★★★ ()

Ни разу не тыкал btrfs? Если она zfs-killer, то там нужно указывать сколько места на каждой точке монтирования распределяется, или оно автоматически как в zfs?

Перелезу на reiser4 только можно будет менять размеры разделов. Из криокамеры меня если уже можно.

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

И зачем вам на обычных компьютерах все эти замысловатые ФС? Чем ext4 не устраивает?

На обычных btrfs и не нужен.

mv ★★★★★ ()

Знаю, что уже сказали, но новость не нужна! В толксы такие «новости».

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

версия XFS для Linux отличается от изначальной версии для IRIX минимально

Благодаря огромной толщины слою совместимости с IRIX'ом (=

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

Если чо, фс это не только формат, а еще и реализация, и контекст. Ляликс != IRIX

Над портом работали сами создатели XFS, ЕМНИП. И в энтерпрайзе на линуксе её используют там, где нужна работа с огромными файлами.

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

Я на этом интерпрайсе уже ловил побитые нулями файлы. В любом случае я не про то. Просто рассчитывать на то, что портированная инфраструктура будет работать полностью эквивалентно начальному варианту - пожалуй не стоит.

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

Вы сами пробовали?

у вопящих тут «Reiser4 - наше всё» хочется спросить: а вы вообще пробовали этот Reiser4? время монтирования/отмонтирования просто чудовищно велико, скорость работы с ФС со временем очень быстро падает, плюс к тому же - не может восстановить половину открытых файлов при внезапном отключении питания

Вы вообще сами-то пробовали Reiser4? Про падение скорости сказать не могу, не измерял, на глаз не видно. А про открытые файлы просто 4.2.

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

И мне такой травы.

Личный опыт (смесь лаптопы, десктопы, лаптопы с SSD):

1) Reiser4

Ставил несколько раз...(всё что там дальше идёт)

Мне отсыпте такой травы. Несколько лет пользуюсь Reiser4, не замечал таких вещей.

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

> А почему же он тогда не возмущается тем что из Терабайтного винта можно использовать только 931 Гб, а? Целый диск на 80 Га стырили.

Потому что он не безграмотный комментатор (как некоторые), не лежит последние десятилетия в анабиозе (или в люльке?), и знает отличие двоичных приставок от приставок СИ и международных стандартов (и ГОСТа).

ПРАВИЛЬНЫЙ терабайт равен 10^12 байт http://ru.wikipedia.org/wiki/Терабайт

В двоичных единицах: 10^12 / (1024*1024*1024) = 931,322 мебибайт (http://ru.wikipedia.org/wiki/мебибайт)

Выходите из анабиоза, учитесь лучше, и «учите матчасть».

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

Я на этом интерпрайсе уже ловил побитые нулями файлы.

Это нормальное для XFS поведение при внезапном отключении. В других случаях такого не бывает.

Просто рассчитывать на то, что портированная инфраструктура будет работать полностью эквивалентно начальному варианту - пожалуй не стоит.

Возможно.

GotF ★★★★★ ()
Ответ на: И мне такой травы. от Camel

>не замечал таких вещей.

Деградация скорости заметна, особенно тем у кого система часто обновляется (/usr фрагментируется)
За пруфами - к Kron73

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

>Это нормальное для XFS поведение при внезапном отключении. В других случаях такого не бывает.

А это вообще как-нибудь лечится?

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

>>> версия XFS для Linux отличается от изначальной версии для IRIX минимально

Благодаря огромной толщины слою совместимости с IRIX'ом (=

Во, а интересно, на что похож VFS в IRIX'е? Нельзя ли этот слой совместимости полностью или частично использовать для создания слоя совместимости с Solaris VFS, чтобы ZPL заработал и ZFS можно было использовать в полный рост?

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

А это вообще как-нибудь лечится?

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

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

особенно с b-tree

ЕМНИП b-tree как раз и построены на мысли о жёстко заданном размере блока данных - ярчайший пример где это работает отлично (кроме reiser fs) - СУБД MUMPS. У Кнута в т.3. подробно и для математиков объяснено почему именно так, видимо уровень образования создателей btrfs не позволяет им это понять. Книга известна по крайней мере с 1973 года.:-)

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

> А это вообще как-нибудь лечится?
ИБП.

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

потому что состояла из туевой хучи файлов длиной байт по 15. :)

arj наше фсио!!!!!

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

Этот ламер ещё бы сравнил размер Hello World на ассемблере с Hello World на C++.

Размер исходников или размер скомпилированных файлов? ;)

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

> пригодно ли оно для настоящего «ынтырпрайз» применения

Давно последний раз вы видели много файлов размеро 2КБ в ынытырпрайзе?

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

у кого-нибудь наберется файлов такого размера на пару мегабайт?!

порты?

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

>у кого-нибудь наберется файлов такого размера на пару мегабайт?!

У постфикса?

lodin ★★★★ ()

Я не пользовался Reiser 4 но уверен что включить ее в ядро надо, как минимум для того чтобы больше оттестировать ее - не каждый будет применять патчи к ядру, а если она там, то больше народу ее оттестирует и опробует - равно как и btrfs в таком случае. И будут волки целы, и овцы сыты.

Ведь я так понимаю теперь миллионы пользователей бета-тестеры btrfs, так почему бы не побыть бета-тестерами reiser 4?

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

>время монтирования/отмонтирования просто чудовищно велико

4.2 (а еще есть dont_load_bitmap)

скорость работы с ФС со временем очень быстро падает


к сожалению, да

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


4.2

//Полтора года корень на ноуте с гентой - полет нормальный (mkfs.reiser4 -o create=ccreg40,compress=gzip1,compressMode=ultim,cluster=8K,fibration=lexic_fibre,formatting=smart)

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

> Ведь я так понимаю теперь миллионы пользователей бета-тестеры btrfs, так почему бы не побыть бета-тестерами reiser 4?

потому-что btrfs нужна и у нее есть будущее, а без reiser 4 можно обойтись с помощью ext4, а развитие ее и поддержка весьма туманны

ahonimous ()
Ответ на: комментарий от no-dashi

>> пригодно ли оно для настоящего «ынтырпрайз» применения

Давно последний раз вы видели много файлов размеро 2КБ в ынытырпрайзе?

True. But I'm also worried about the «removes ALL boundaries» claim. I don't know btrfs or the algorithms well enough to do the math, but the claim is, essentially, that btrfs may, in the pathological case, consume an infinite amount of space, for actually storing nothing.

That is unlikely to happen for real workloads, but should still be impossible. Especially since pathological workloads can often be provoked deliberately by an attacker. (typical for race-conditions, for example, even race-conditions that would «almost never» happen in normal situations, become a problem if an attacker can deliberately create them)

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

Нет, я знаю толкового регистранта: у него ник «Пришёл потроллить».

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

> btrfs нужна и у нее есть будущее

С той уязвимостью на уровне алгоритмов, которая есть сейчас, btrfs совершенно точно не нужна.

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