LINUX.ORG.RU
решено ФорумTalks

btrfs-убийца

 , ,


1

1

В общем, мужики, говно и параша этот ваш btrfs. Эрзику и прочим попугаям-популяризаторам привет и "патч Бармина" вам на воротник. Название темы навеяно эпичным топиком имени сеньора mv.

Было дело как, 2 года сидел на кубунте и вчера при попытке sudo apt-get upgrade система выдала, что де «места нет», хотя на ссд было ещё минимум 80гб. ФС по совершенно неведомым причинам улетела в readonly. Когда накатывал, купился на рекламу, дескать, btrfs ну дюже адаптируют и так подгоняют под ssd, что выбор фс должен быть очевиден. Ну и лох. Падений было вагон с тележкой. Каждый раз спасала флешка с Кноппиксом, средствами которого делал btrfsck, в тяжёлых случаях из под чрута перезапиливал grub с ведром, и тому подобные колдунства. А в этот раз не помогло. Из ro вывел, но ненадолго. Хоть хомяк додумался забэкапить.

На восстановление фс уже забил, итак бездарно убил вечер на реанимацию «поциента». Теперь думаю, то ли обратно на Debian и рукопожатную ext4, то ли мигрировать на какую-нибудь ересь типа «Федоры-убийцы» (с). Не, я понимаю, если бы питание было говном, нежданчики с отключением света, и т.п., но падала эта сволочь каждый раз на ровном месте.

Не ведитесь на рекламу, а также слушайте и берегите ребе Bioreactor`а, да избегайте «кульхацкерских поделок для админов локалхостов» (с).

update:

knoppix@Microknoppix:~$ dmesg | grep sda1
[    3.640572] BTRFS error (device sda1): unable to find ref byte nr 738426880 parent 0 root 4  owner 1 offset 0
[    3.640618] BTRFS: error (device sda1) in __btrfs_free_extent:6261: errno=-2 No such entry
[    3.640618] BTRFS info (device sda1): forced readonly
[    3.640620] BTRFS: error (device sda1) in btrfs_run_delayed_refs:2781: errno=-2 No such entry
[    3.640621] BTRFS warning (device sda1): Skipping commit of aborted transaction.
[    3.640622] BTRFS: error (device sda1) in cleanup_transaction:1710: errno=-2 No such entry
[    3.640681] BTRFS error (device sda1): cleaner transaction attach returned -30
update 2:
# smartctl -a /dev/sda1 | grep "202\|173"
173 Wear_Leveling_Count     0x0032   085   085   000    Old_age   Always       -       463
202 Percent_Lifetime_Used   0x0031   085   085   000    Pre-fail  Offline      -       15

update 3:

# btrfs check --repair /dev/sda1
enabling repair mode
Error: could not find extent items for root 257

update 4: btrfs-убийца (комментарий)
Для труЪ: забил, переразметил ссд (которому, как оказалось, ещё жить и жить) и накатил 23-ю Федору. Интересно же. От deb-based уже как-то устал.

★★★★★

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

Ага, помню этот тред. Потом native speakers исправили их ошибки, и постебали, что «ну если сочиняете, попросите помощи, мы поможем всегда» .

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

Xfs у меня картинно сдохла в vbox. Было 3 машины, у одной лёг диск. Думаю пох, ещё две есть (кластер отрабатывал). Когда легла вторая - прицепил её хард к третьей чтоб попытаться восстановить. И тут легла третья

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

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

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

А что по поводу стабильности этой фс, естественно в там есть косяки

Еще надцать лет назад Шишкин (текущий разработчик reiser4) закидывал какашками btrfs, говорил про обезьяний копипаст из reiserfs, и что она defective by design. Отчасти я с ним согласен, потому что сколько лет пиарят эту ФС, и сколько эпичных глюков постоянно в ней вылазит. ext4 - тупиковая ветка, хотя на сейчас это стабильное production решение, reiserfs - не развивается, reiser4 - малая активность, experimental, xfs - возможно, но там свои тараканы, типа работы с мелкими файлами и ресайза разделов. jfs тоже почти не пилится. Вот такая вот печалька с ФС.

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

У разных производителей параметры могут иметь разное значение и разные единицы измерения. Так что тут сложно ориентироваться.

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

xfs ... работы с мелкими файлами

Так починили же некоторое время назад.

и ресайза разделов

Для полноты не добавил — в меньшую сторону. В большую проблем нет.

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

Так починили же некоторое время назад

Прикольно. надо будет как-нибудь потестить

в меньшую сторону

я это и имел ввиду.

leg0las ★★★★★ ()

Хоть хомяк додумался забэкапить.

Сам ты рукожоп, это каким же надо быть дураком чтобы держать хомяк на одном диске с системой?
Небось и раздел/субволюм у тебя было только два?
Ну и поделом тебе, жизнь таоя на других ФС лучше не будет.

torvn77 ★★★★★ ()

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

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

хомяк на одном диске с системой

Мне под хомяк не нужен отдельный ссд, потому что хомяк у меня слишком компактный для этого. В основном сырцы, срез репозитория clojars, конфиги, гимповые xcf, да документы по мелочи, самые важные из которых давно и бережно забекаплены.
Да, subvolume было два, @ (корень) и @home. Городить простыню из fstab как у тебя не вижу смысла. Можешь объяснить зачем? Раз поумничать пришёл. Var раньше был на харде, и то его перенёс обратно, потому что винт предпочитаю останавливать, чтобы не жужжал.

жизнь таоя на других ФС лучше не будет.

Посмотрим.

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

после скачка напряжения

У меня на старом железе такой замес произошёл аккурат тогда, когда dpkg ставил новое ядро. Спас кноппикс, сладостный. Без него мне не жизнь.

Hertz ★★★★★ ()

Нет времени читать весь тред, к какому выводу пришли? Виноват ТС, железо или ядро? Btrfs годен для продакшена? Я вот пока не рискую....

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

Да, subvolume было два, @ (корень) и @home.

Это классическое как не надо делать, много кратно разъяснённое различными людьми.
Зачем мне объяснить сложно, мне сказали так не делать, я так не делаю и у меня система живёт долго и стабильно.

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

Настолько же актуальная, насколько актуальна кубунта 15.10 и ведро 4.2. Но то, что уже подстухла, ибо 16.04 на носу, это да.

мне сказали так не делать

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

Hertz ★★★★★ ()

В общем, мужики, говно и параша этот ваш btrfs.

Об этом было вслух заявлено ещё в 2010 году. Нужно быть особо тугим кретином, чтобы отведать этого кактуса в 2016, и взвыть от боли.

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

к какому выводу пришли?

Хочешь фичи из btrfs - ставь zol.

ya-betmen ★★★★★ ()

Тут ещё Kubuntu может поднасрать. С её baloo, akonadi, mlocate и прочими индексируемыми бестиями, тратящими ресурс SSD впустую.

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

Ганса

Такому мужику амнистию надо срочно.

Предлагаю обменять его на савченко :D

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

С её baloo, akonadi, mlocate и прочими индексируемыми бестиями

+1 :( У меня ощущение что они не пользуются своим дистром. Хоть бы при установке спрашивало «вы точно хотите чтобы в полночь сервак колом вставал».

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

А нечего юзать херню всякую. Сам использую ext4, при куче ее недостатков. Более совершенными считаю jfs и reiserfs (отсутствие инодов), но они к сожалению не развиваются.

Гм... А что тебе ещё в reiserfs нужно? Я её тащем-то везде использую, и вроде ок.

kirk_johnson ★☆ ()

Год назад Крис Мейсон вещал со сцены, освящённой Самим, что btrfs для продакшена не готов, и вы сами дураки, если бэкапы не делаете.

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

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

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

Я писал про краши с последующим kernel panic`ом при активном использовании. Воспроизводилось на 3-4 разных железках. Было года 3 назад наверное, сейчас не знаю как.

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

Я писал про краши с последующим kernel panic`ом при активном использовании. Воспроизводилось на 3-4 разных железках. Было года 3 назад наверное, сейчас не знаю как.

У меня только порча данных была, когда обезьяны из нынешних мейнтейнеров fs/ налажали.

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

Ну вот дружище, обосновать не могём, а отматерить - всегда пожалуйста.

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

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

ext4 - тупиковая ветка

Вроде была новость что туда хотели шифрование прикрутить, так что небольшое развитие есть. Но в глобальном плане ты прав.

Еще надцать лет назад Шишкин (текущий разработчик reiser4) закидывал какашками btrfs, говорил про обезьяний копипаст из reiserfs, и что она defective by design.

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

ЕМНИП одна из причин почему рейзер не приняли в ядро была в том что они не пользовались стандартными механизмами ядра а реализовывали свои. Эта история мне напоминает историю одного опенсорс драйвера для сок графики(не могу вспомнить какой, mali??). В один момент появился чувак который сказал что разработчкики месы пидарасы и их галлиум3д говно, но он знает верный путь - путь истинного Д'артаньяна. И начал пилить свой драйвер истинно правильный и нисчем не совместимый, переписывающий половину месы который мог запускать только квейк со специально модифицированными шейдорами. В основную ветку месы он так и не попал в чем автор обвинял разработчиков месы.

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

Я использовал 3-й рейзер достаточное время (лет 6 наверное), и не было никаких проблем.

Я его использовал 12 лет и, наверное, под 30 машинолет. При чём иногда очень жёстко (скажем, на одной машине были проблемы с БП и её приходилось практически ежедневно в течении пары месяцев перезагружать по reset). И это была единственная FS в моей практике, на которой я никогда не терял данные ни при каких условиях.

Последний раз использовал reisersf в виде loop-образа поверх ext4. Даже в таком виде она была несравнимо быстрее, чем ext4 на работе с мелочью.

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

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

Последний раз использовал reisersf в виде loop-образа поверх ext4. Даже в таком виде она была несравнимо быстрее, чем ext4 на работе с мелочью.

Вот прям мой юзкейс который я описал выше. На новом екст4 скорость сравнима с рейзер, но очень быстро умирает из-за увеличивающийся фрагментации. А ты в этом качестве другие фс не пользовался? Как я уже писал выше хочу попробовать бтрфс под /var, а тестировать лень:-(

Behem0th ★★★★★ ()

У меня на пека и на ноуте рут в btrfs.

На пека ни разу не было проблем. На ноуте были, решились сменой браузера на firefox.

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

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

Все верно, там были напедалены какие-то костыли в обход VFS. Пусть причесывают, присылаю патчи для VFS, и т.п. Возможно стоило бы подойти с другой стороны - вынести реализацию своих улучшений/реализации VFS в отдельную ветку, чтобы вот, мол кто хочет - включайте на свой страх и риск. Не включили потому, что в случае косяков, которые случались бы из-за функций, которые дублируют VFS (пусть они даже и лучше) разработчики просто бы тыкали на друг друга пальцами.

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

Я теперь кажется понял, почему при rm -rf /usr/portage/* && sync начинается конкретный зависон (с ext4 на ssd)

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

Пусть причесывают, присылаю патчи для VFS

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

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

На новом екст4 скорость сравнима с рейзер, но очень быстро умирает из-за увеличивающийся фрагментации

Для меня главная беда — если после разрастания каталога в нём грохнуть файлы, система всё равно считает его огромным. И там может быть десяток файлов (да хоть ноль), а время захода (хоть в mc, хоть при обходе rsync, хоть find) такое же, как для миллионнофайлового каталога. На нагруженной машине до 10-20 секунд бывает. Это просто песец.

Пишут, что каталоги «пересчитываются» при fsck -d в офлайне, но ни разу пока не было возможности проверить — боевую машину не так просто в офлайн перевести :) Часто проще создать новый подкаталог, перенести туда старый контент, старый грохнуть и новый переименовать в старое имя. Но тоже не всегда возможно — вот тут мне reiserfs в loop'е и помогал.

А ты в этом качестве другие фс не пользовался?

xfs активно использую много лет, но на медиа-архивах, где он всегда был силён. Когда-то пробовал работь с мелочью, в т.ч. /home ставил, но тормоза... Да и данные легко терял при сбоях памяти. Правда, последние потери по питанию были где-то в 2007..2009 гг, а мелочь, говорят, сейчас шустро работать стала, но не проверял, всё не случалось.

reiser4 использовал для системы около года, но она сильно деградирует через несколько месяцев активной работы. Тормозить начинает ужасно. Точнее, это тоже было много лет назад, году в 2009-м.

jfs ничем примечательным не показалась и глючила сильно на тестах.

btrfs тоже только на тестах щупал, ничем примечательным тогда не была, а общая карма пока сильно негативная :)

zfs не смотрел.

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

Вроде бы с одной стороны указанный вами объём свободного места позволял пользоваться без discard, но на будущее я бы на вашем месте перестраховывался. Что касается прошивки - ну, тут неизвестно, внесла ли они свою лепту в смерть раздела, или не внесла, но полностью исключать такой вариант не стоит - по крайней мере почитайте форум вендора SSD (если таковой имеется) или отзывы о том модельном ряде на сторонних железячных форумах. Может там была какая-то беда со старыми версиями прошивки (а может и нет, но лучше почитать и разобраться наверняка).

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

На новом екст4 ...

Для меня главная беда

это на какой ФС так?

ext4

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

Понятное дело, статус «экспериментальной ФС» никто не отменял

Ни чего не понимаю. Так отменяли или нет? Вроде как кричали что оно стабильно. Но на вики, написано, что ундер хай девелопмент, но со стабильным апи. Кому веровать?)

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

Вроде как кричали что оно стабильно.

Я так понимаю, что стабилизирован формат данных на диске.

Кроме того, у этой ФС есть ещё одно фундаментальное, стабильное качество: она defective by design.

Manhunt ★★★★★ ()

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

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

Было дело как, 2 года сидел на кубунте и вчера при попытке sudo apt-get upgrade система выдала, что де «места нет», хотя на ссд было ещё минимум 80гб.

Некоторые сценарии использования (миллионы мелких файлов создаются-убиваются) требуют ручного вызова перебалансировки. Одна команда.

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