LINUX.ORG.RU

Проскакивала новсть, что btrfs уже стабильна. Я в этом не уверен.

 


0

2

Ядро 3.17.1 x86_64. Монтируем btrfs с опцией compress-force=lzo и пишем в 2-3 потока всего лишь на скорости гигабитной сетки. Через 10-30 минут (как повезёт), система наглухо виснет вот с таким выхлопом:


Call Trace:
Nov 3 03:21:49 DRIVE kernel: [ 859.630880] [<ffffffff817a3e05>] _raw_write_lock+0x25/0x30
Nov 3 03:21:49 DRIVE kernel: [ 859.630888] [<ffffffffc01be3a9>] btrfs_tree_lock+0xc9/0x1d0 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630891] [<ffffffff810b3eb0>] ? add_wait_queue+0x60/0x60
Nov 3 03:21:49 DRIVE kernel: [ 859.630896] [<ffffffffc015b92b>] btrfs_lock_root_node+0x3b/0x50 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630901] [<ffffffffc0160dd7>] btrfs_search_slot+0x787/0x880 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630907] [<ffffffffc0178048>] btrfs_lookup_file_extent+0x38/0x40 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630914] [<ffffffffc01983f1>] __btrfs_drop_extents+0x151/0xdf0 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630915] [<ffffffff8109da1c>] ? ttwu_do_wakeup+0x2c/0x100
Nov 3 03:21:49 DRIVE kernel: [ 859.630917] [<ffffffff811cd773>] ? kmem_cache_alloc+0x1b3/0x1f0
Nov 3 03:21:49 DRIVE kernel: [ 859.630922] [<ffffffffc015b3ba>] ? btrfs_alloc_path+0x1a/0x20 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630926] [<ffffffffc015b3ba>] ? btrfs_alloc_path+0x1a/0x20 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630932] [<ffffffffc018867b>] insert_reserved_file_extent.constprop.64+0xab/0x310 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630938] [<ffffffffc0185880>] ? start_transaction.part.35+0x80/0x530 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630944] [<ffffffffc018ee35>] btrfs_finish_ordered_io+0x475/0x580 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630951] [<ffffffffc01cd6d1>] ? end_compressed_bio_write+0x31/0xf0 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630957] [<ffffffffc018ef55>] finish_ordered_fn+0x15/0x20 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630964] [<ffffffffc01b49ae>] normal_work_helper+0x7e/0x1b0 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630971] [<ffffffffc01b4c52>] btrfs_endio_write_helper+0x12/0x20 [btrfs]
Nov 3 03:21:49 DRIVE kernel: [ 859.630972] [<ffffffff8108ce2e>] process_one_work+0x14e/0x460
Nov 3 03:21:49 DRIVE kernel: [ 859.630973] [<ffffffff8108d7ab>] worker_thread+0x11b/0x3f0
Nov 3 03:21:49 DRIVE kernel: [ 859.630975] [<ffffffff8108d690>] ? create_worker+0x1e0/0x1e0
Nov 3 03:21:49 DRIVE kernel: [ 859.630976] [<ffffffff810932b9>] kthread+0xc9/0xe0
Nov 3 03:21:49 DRIVE kernel: [ 859.630977] [<ffffffff810931f0>] ? flush_kthread_worker+0x90/0x90
Nov 3 03:21:49 DRIVE kernel: [ 859.630978] [<ffffffff817a46fc>] ret_from_fork+0x7c/0xb0
Nov 3 03:21:49 DRIVE kernel: [ 859.630979] [<ffffffff810931f0>] ? flush_kthread_worker+0x90/0x90
Nov 3 03:21:49 DRIVE kernel: [ 859.630980] Code: 90 8b 0a 84 c9 66 90 75 f6 89 ce 89 c8 83 ce 01 f0 0f b1 32 39 c8 75 e7 b9 ff 00 00 00 eb 0a 0f 1f 84 00 00 00 00 00 f3 90 8b 02 <83> f8 01 75 f7 f0 0f b1 0a 83
f8 01 75 ee eb b3 0f 1f 40 00 8b


Это просто сама стабильность.

★★★★★

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

Можно читать и сразу преобразовывать ту часть

А можно не часть.

например как делают видеоплееры

А кроме видеоплееров никакие программы не нужны?

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

Никто ничего не грузит. Я тебе русским языком сказал, я делаю mmap всего файла на 100 гигов сразу в память, спасибо 64-бит системе.

Похоже, что ты не совсем в теме, ладно, пример специально для тебя: нужно скопировать файл на флешку. Смотрим размер - 1 гигабайт, начинаем копировать - wtf файл оказался 10 гигабайт. Ты предлагаешь определять это методом научного тыка?

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

Где я облажался?

Предложи лучше.

Как в ZFS.

King_Carlo ★ (03.11.2014 13:24:15)

А как в ZFS?

ZFS отлично жмёт резреженные файлы, даже если в начале файла нечто несжимаемое.

я правильно понял, на zfs файл сжался до 5.3гб, а на btrfs до 4.2гб

Правильно.

и где здесь преимущества zfs?

На zfs сжатие работает всегда, а на btrfs только при определенных условиях. compress-force, который изображает работу схожую с zfs, неработоспособен вовсе.

Враньё, жмет лучше чем zfs, жмет все при опции compress-force как в zfs, ... Если ты делаешь стойку на слово force, то оно в zfs по-умолчанию тоже force.

sdio ★★★★★
()
Ответ на: комментарий от no-such-file

Похоже, что ты не совсем в теме, ладно, пример специально для тебя: нужно скопировать файл на флешку. Смотрим размер - 1 гигабайт, начинаем копировать - wtf файл оказался 10 гигабайт. Ты предлагаешь определять это методом научного тыка?

Вот это уже хороший аргумент, да. По хорошему в ФМ должны быть 2 поля размера файла, как в оффтопике.

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

жмет все при опции compress-force как в zfs, ... Если ты делаешь стойку на слово force, то оно в zfs по-умолчанию тоже force.

Вот ты странный человек, я уже всё разжевал, написал несколько раз, для тебя повторю в последний раз. Чтобы сделать для тебя тест с compres-force мне пришлось взять самый мелкий файл, потому что на файлах большего размера btrfs роняла ядро. Поэтому я делаю очевидный вывод, что если compress-force не работает в btrfs, то zfs жмёт лучше, потому что там это работает, причём по-умолчанию. Это настолько простая логика, что, я уверен, она тебе вполне понятна, но ты упорно строишь из себя святую невинность. Тебе просто нравится придираться ко мне?

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

Дефайны в хидере - это не «предусмотрено».

Т.е. их там просто так натыкли, с бодуна? Ну да, иноды же резиновые фигли не запихать туда ещё 4 флага?

no-such-file ★★★★★
()

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

У меня вопрос по теме:

btrfs уже проходит тест Эдуарда Шишкина с созданием кучи маленьких файлов? Проблема на самом деле актуальная, ибо если я вдруг раздел с btrfs захочу приспособить для бэкапов моего сервера с огромным кол-во html/php файлов по нескольку килобайт

reprimand ★★★★★
()
Ответ на: комментарий от no-such-file

Т.е. их там просто так натыкли, с бодуна?

Могли просто на перспективу. Ты покажи пруфы, что сжатие в Ext4 работает.

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

btrfs уже проходит тест Эдуарда Шишкина с созданием кучи маленьких файлов?

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

pedobear
()

Проскакивала новсть, что King_Carlo скоро забанят. Я в этом не уверен.

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

и что из написанного там бред?

я считаю что бинарей в настройках системы быть не должно

journald будет читать тебе логи другой виртуалки?

       -D DIR, --directory=DIR
           Takes a directory path as argument. If specified, journalctl will
           operate on the specified journal directory DIR instead of the default
           runtime and system journal paths.

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

я уже длительное время использую сабж со сжатием для хранения дерева portage и каталогов исходников ядра.

Если только создать и хранить, то может и ничего, а вот если начать их усиленно перезаписывать, то btrfs начинает расползаться и в итоге данные занимают места больше, чем не у сжатых xfs и ext4.

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

Не знаю что там придумал Шишкин

баян 2010 года же, пора бы знать
Эдуард Шишкин выступил с критикой Btrfs

но я уже длительное время использую сабж со сжатием для хранения дерева portage и каталогов исходников ядра

недостаточно показательно. К сожалению.

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

При заполнении пустого 659-мегабайтного раздела

659-мегабайтного

Дальше не читал. Он что - идиот? Не осилил max_inline и опцию -M для mkfs.btrfs, лол.

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

Зачем мне знать протухшие баяны?

потому что это баян о btrfs. С горами ценных вбросов и толстоты.
На ЛОР-е есть 3 темы, где можно толсто вбрасывать и получать лулзы:
1) systemd
2) btrfs
3) freebsd

Мне всё равно.

с каких это пор тут стало кому-то не всё равно? вроде как состояние по умолчанию, не? или ты новый КЭП? :)

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

Дальше не читал. Он что - идиот? Не осилил max_inline и опцию -M для mkfs.btrfs, лол.

я, видимо, не совсем разбираюсь в теме, но разве такие вещи не должны быть по умолчанию? почему-то я могу сделать mkfs.ext4 и просто ею пользоваться...

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

потому что это баян о btrfs. С горами ценных вбросов и толстоты.

Ценной толстоту могут считать только шкальники, которые фапают на мифическую легендарность ресурса для удовлетворения своего чсв.

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

Ценной толстоту могут считать только шкальники, которые фапают на мифическую легендарность ресурса для удовлетворения своего чсв.

Ну почему же? А как же «для поржать»?

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

разве такие вещи не должны быть по умолчанию?

Нет, не должны. Потому что вменяемые люди не станут втискивать ФС 21-го века в размеры тухлых CD-болванок и потом удивляться почему она странно работает. Он бы ещё поплакал, что btrfs на дискетах себя херово чувствует, лол.

почему-то я могу сделать mkfs.ext4 и просто ею пользоваться...

Почему-то я не могу на Ext4 ни сжатие включить, ни снапшоты делать, ни много чего ещё. Догадаешься почему так?

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

Не осилил max_inline и опцию -M для mkfs.btrfs.

Опция max_inline - это был первый звонок, что в btrfs серьёзные проблемы с дизайном.

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

О серьёзных проблемах с дизайном btrfs хоть сколь-нибудь обоснованно заявил только тот же Шишкин (остальные лишь попугайски подхватили, зачастую не понимая до конца что означают его слова, лол), только почему-то пилимая им Reiser4 так до сих пор и не избавилась от катастрофического роста фрагментации с течением времени, лол. Короче, пусть сначала из своего глаза бревно вынет. В btrfs хотя бы дефрагментаторы есть, даже автоматические.

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

Тебе просто нравится придираться ко мне?

Ты меня раскусил и btrfs не готов.

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

Чушня собачья, emerge --sync и установку-сборку новых ядер никто не отменял.

А при чем вообще здесь emerge --sync и установка-сборка новых ядер? Ты читал сообщение, на которое отвечаешь?

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

В btrfs хотя бы дефрагментаторы есть

Которыми до недавнего времени можно было невозбранно превратить ФС в тыкву.

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

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

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

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

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

Нет, не должны. Потому что вменяемые люди не станут втискивать ФС 21-го века в размеры тухлых CD-болванок и потом удивляться почему она странно работает. Он бы ещё поплакал, что btrfs на дискетах себя херово чувствует, лол.

а кто-то говорил о впихивании на «левые» носители? Если ты о том, что он сделал небольшой раздел - так это нормальная практика. Или для вас, школьников, разделы менее 100гб это что-то из ряда вон выходящее?

Почему-то я не могу на Ext4 ни сжатие включить, ни снапшоты делать, ни много чего ещё. Догадаешься почему так?

почему «догадываешься»? я знаю почему так. Потому что не предусмотрено. Но речь не о том шла, не переводи рельсы на другую тему.

ни снапшоты делать

LVM нынче для лохов или неосиляторов?

сжатие...снапшоты

ZFS?

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

reprimand ★★★★★
()
Ответ на: комментарий от vurdalak
# mount | grep btrfs
/dev/sda2 on / type btrfs (rw,noatime,max_inline=1024,compress=lzo,ssd_spread,discard,space_cache,autodefrag)
/dev/sda2 on /zone type btrfs (rw,noatime,max_inline=1024,compress=lzo,ssd_spread,discard,space_cache,autodefrag)
/dev/sda2 on /repo type btrfs (rw,noatime,max_inline=1024,compress=lzo,ssd_spread,discard,space_cache,autodefrag)
/dev/sda2 on /home/fragment type btrfs (rw,noatime,max_inline=1024,compress=lzo,ssd_spread,discard,space_cache,autodefrag)
/dev/sda2 on /depo type btrfs (rw,noatime,max_inline=1024,compress=lzo,ssd_spread,discard,space_cache,autodefrag)

Полёт нормальный.

Когда уже mount научится показывать тома btrfs?

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

Когда уже mount научится показывать тома btrfs?

Когда ты напишешь к нему патч.

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

Reiser4 так до сих пор и не избавилась от катастрофического роста фрагментации с течением времени

4.2. Освой опцию монтирования txmod=journal для накопителей с вращающимися дисками. С ней фрагментация растет не быстрее, чем в ext4 и остальных журналируемых фс.

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

В этом весь Фрактал, его и в этой ипостаси скоро забанят, это неизбежно, как смена дня и ночи.

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

Если ты о том, что он сделал небольшой раздел - так это нормальная практика

Нормальная практика делать разделы в 700 Мб? Лол. Ты один из этих клоунов, что ли, которые постят всякую тупую хероту «для поржать»? Если да, то так и скажи, я не стану тратить время на тебя.

Ещё раз: в man mkfs.btrfs чотко написано:

-M|--mixed
           Mix data and metadata chunks together for more efficient space utilization. This feature incurs a
           performance penalty in larger filesystems. It is recommended for use with filesystems of 1 GiB or
           smaller.

То, что Шишкин не осилил его прочитать - это его проблемы.

Потому что не предусмотрено

Ну а фигли тогда сравниваешь примитивную ФС с btrfs?

LVM нынче для лохов или неосиляторов?

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

ZFS?

Я её пробовал, херовая ФС по ряду параметров.

Она просто еще не готова

Держи меня в курсе своих мнений, они очень ценны.

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

Ты покажи пруфы, что сжатие в Ext4 работает

Нет, ты всё таки клинический случай. Есть ФС ext4, а есть её реализации в linux. В дефолтной реализации сжатие не поддерживается (но блджад, структуры под него зарезервированы). Есть патч, запиливающий поддержку сжатия. Если тебе так хочется пощупать - ну пойди и накати патч, скомпиляй ядро и проверяй. Мне лениво - 15 лет назад эта штука работала, а сейчас мне сжатие нафиг не нужно.

no-such-file ★★★★★
()
Ответ на: комментарий от pedobear

if the first portion of data being compressed is not smaller than the original

Почему-то сразу так и подумал. :-) Иные варианты слишком избыточны.

AS ★★★★★
()
Ответ на: комментарий от no-such-file

Есть ФС ext4, а есть её реализации в linux

А, ты говоришь про идеальную Ext4 из мира радуг и единорожиков? Ясн.

15 лет назад эта штука работала

Да, вот только Ext4 появилась только в 2006-ом. Вещай ещё.

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

омг, так это тот самый фрактал?
ЛООООЛ!
кстати, а как ты эго определил? т.е. на чем он спалился? или он сам сказал?

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

Ещё раз: в man mkfs.btrfs чотко написано:

Mix data and metadata chunks together for more efficient space utilization.

Вот это и есть полная разруха в головах. Зачем вообще читать этот бред? Ты не задумывался о том, что reiser-ы прекрасно всё пакуют без всяких уродских костылей типа max_inline и опций для «перемешивания данных и метаданных»?

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

кстати, а как ты эго определил?

Он сидит на opennet и пишет тоже самое, что и здесь. Ошибиться невозможно.

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

Да, вот только Ext4 появилась только в 2006-ом. Вещай ещё.

Да, вот только ext4 обратно совместим с ext2/3. Да и патч подпиливали под новые ядра.

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

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

reiser-ы прекрасно всё пакуют

Ещё один контуженный, который сравнивает примитивную ФС с Btrfs.

И да, расскажи, как пакование хвостов в Reiserfs не вызывает зависаний ядра, лол.

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

Я в Reiser4 уже ничего осваивать не буду, потому что послал её лесом.

Совет освоить тебе к тому, чтобы не плодить 4.2 сплошь и рядом.

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