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


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

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

я когда первый раз установил убунту, 6.04 словил кэрнел паник при простом обновлении, я тогда даже в ppa и настройки не лез даже...

erzent ☆☆
()

Ну, господа

pedobear, erzent, King_Carlo, reprimand, Ivan_qrt и прочие сочувствующие.

Эксперимент с записью на ФС одинаковых файлов «пока есть место». Файлы были забиты рандомом.

Поскольку это всё CoW, в случае ошибки записи файла делался sync и проводилась ещё одна попытка (на всякий случай).

BTRFS

        0-byte 512-byte 1024-byte 2048-byte
-------------------------------------------
16M      20959     7588      4698      1844
128M    322233   115038     71607     28598
1024M  1370701   522487    316951    183192

REISER4

        0-byte 512-byte 1024-byte 2048-byte
-------------------------------------------
16M     100280    21581     12462      6760
128M    818482   175439    101520     55135
1024M  6564200  1400997    812038    441488

Лог эксперимента

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: Ну, господа от intelfx

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

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

А тенденции не видно? Если я запущу тест на 50G (я уверен, что результат будет аналогичен), ты тоже скажешь, мол, «50G ничего не значит»?

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

я уверен, что результат будет аналогичен

Мало ли что ты там уверен. У меня на ~70-гиговом SSD всё норм работает.

ты тоже скажешь, мол, «50G ничего не значит»?

Я скажу - точнее, уже сказал: хватит страдать херотой.

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

«Норм работает» не означает, что плотность файлов не скатилась в СГ (как было продемонстрировано для мелких размеров).

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

зачем мне это при 4 тб дисках? у меня сейчас на домашнем компе ссд на 512 гб и 3 hdd по 4 тб,расскажи, когда я почувствую эту проблему?

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

эта проблема меня волновала в 2004-2007, когда у меня был винчестер на 30 гб,но сейчас у меня всё кроме бута и свапа меньше 60 гб не бывает.

erzent ☆☆
()

Продолжай наблюдение.

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

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

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

какая проблема при свободных 11 терабайтах.

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

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

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

То, что ты сказал, не имеет никакого смысла. Мне незачем тебя переубеждать, но сейчас ты просто разводишь руками с интонацией «меня всё устраивает, один-один, не парьте мне мозг матчастью».

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

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

А не заполнять zvol больше 85% это нормально? Сколько будет 15% от 4ТБ ? Всего лишь 614Гб, мелочь. Ок, мне больше нечего сказать.

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

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

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

reiser4 эффективнее, чем семейство ext2fs

Эффективнее, красивее, стройнее... прям ФС-непризнанный гений. Почему она не в ядре? Почему она не умеет снапшоты? Мне ехать, а не на теоретическую красоту фапать.

Но там это простительно, ибо by design

В Btrfs это тоже by design, но у тебя от этого почему-то бомбит.

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

Потому что не допилено. Всегда ваш, К. О.

Нет, в btrfs это не осознанное решение, а идиотизм, допущенный при выборе алгоритмической базы.

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

Кого угодно может не волновать что угодно. Ты же говорил о превосходстве конкретно btrfs над конкретно reiser4 (в обратной формулировке), что я и потрудился экспериментально опровергнуть для набора частных случаев. Дальше сраться не имеет смысла.

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

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

Бида-пичаль. Сейчас же снесу её со своего компа и побегу накатывать Reiser4, ахаха. И пофигу, что она у меня отлично работает, ведь ИКСПЕРТЫ ГОВОРЯТ....

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

Ты же говорил о превосходстве конкретно btrfs над конкретно reiser4

Мда? Покажешь - где?

pedobear
()
Ответ на: Ну, господа от intelfx

И это результаты с включенным, судя по логу, сжатием на btrfs. Любопытно. Без сжатия, в таком тесте,результаты будут гораздо хуже.

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

И это результаты с включенным, судя по логу, сжатием на btrfs. Любопытно. Без сжатия, в таком тесте,результаты будут гораздо хуже.

Это только разультаты создания файлов. А потом btrfs начнет дополнительно расползаться при перезаписях. Где-то я видел тест, где после многочисленных перезаписей сжатая btrfs занимает в несколько раз больше места, чем несжатая ext4 при том же сценарии.

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

ВЕДЬ ШИШКИН СКАЗАЛ

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

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

Я тут нашёл один наш проект, в нём 952037 файлов переменного размера от нескольких кб до мб и занимает это дело 587Гб. Попробую закинуть это дело на btrfs.

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

Сжатие там совершенно не играет, поскольку файлы — рандом. Кстати, оно включено на обеих ФС.

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

Да я понял твою позицию, работает и ладно. Но так как btrfs писалась с нуля, не была отягощена чужим кодом, можно было сделать конфетку, с красивым матаном под капотом, а получилось как получилось.

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

Надо валить на lvm + ext4 пока не поздно.

Если твои данные представляют хоть кукую то ценность, то btrfs однозначно не вариант. Пока это игрушка.

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

А не заполнять zvol больше 85% это нормально? Сколько будет 15% от 4ТБ ? Всего лишь 614Гб, мелочь. Ок, мне больше нечего сказать.

ну у pedobear'а вон на три четверти 2-гиговая бтрфска заполнилась только и ему уже диск стало жалко. Сколько будет 25% от 4ТБ? Мелочи какие :)

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

Значит, zfs тоже неэффективно использует дисковое пространство.

Из вброса sdio сделан далекоидущий вывод ни о чем. Поздравляю!

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

А не заполнять zvol больше 85% это нормально?

Во-первых, не zvol, а zpool, во-вторых, можешь смело заполнять, с данными ничего плохого не случится, только скорость упадёт.

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

Я специально, т. к. из его слов (если считать, что он ничего не умолчал) следует именно это.

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

А не заполнять zvol больше 85% это нормально? Сколько будет 15% от 4ТБ ? Всего лишь 614Гб, мелочь. Ок, мне больше нечего сказать.

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

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

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

Ну, под праздник так и получается. И что с того? Покупать два холодильника?

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

Не тупи с тупыми аналогиями.

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

Шкафы при заполнении не теряют своих качеств, в отличие от.

Не все файловые системы теряют свои качества при заполнении, а вот скорость доступа к данным действительно снижается, и в зависимости от внутреннего устройства шкафа (ФС) снижается она по-разному.

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

IRL дедупликация и так есть, правда, на квантовом уровне -))

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

скорость доступа к данным действительно снижается

Ага, только причины ты не указал. ты описал снижение доступа из-за поиска файла в большой директории, а не из-за дикой фрагментации COW-fs.

Возвращаясь к вашей тупой аналогии: Взяв из шкафа из пачки бумаги листы, написав и вернув их в шкаф, не-COW-fs вернет их в пачку на свои места, а COW-fs всегда положит их на новое место. И когда эти листы будут разбросаны по всему шкафу, начинаются тормоза из-за seek'a по диску.

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

начинаются тормоза из-за seek'a по диску

Это справедливо только для хардов, которые, к счастью, медленно, но верно уходят в прошлое.

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