LINUX.ORG.RU

Свершилось: поломалась btrfs на ноуте

 ,


4

7

Дано: ноут Thinkpad с Core i5 и SSD на 256 Гб. Arch, ядро последнее ванильное арчевское, что-то типа 6.2.3 Около полугода (как выдали ноут на работе) установлен Arch на btrfs, dm-crypt, два раздела btrfs (/ и /home) с subvolumes, сжатием, снапшотами (snapper).

Сегодня в какой-то момент получил сообщение, что нет места на файловой системе. du показывает 50 Гб свободного места. Файлы можно удалять, удалил на несколько гигов. Но создавать или модифицировать файлы невозможно, с той же ошибкой, что не хватает места.

Удалил все снэпшоты снэппер, безрезультатно.

Попытался загрузиться в rescue режим, запустил btrfsck на /home и /

На /home отработал без ошибок, на / - миллиард незаканчивающихся ошибок…

Т.к. у меня есть полная копия на десктопе, а также бэкапы, слил последние изменения из /home, буду переустанавливать.

Но осадочек остался, хотя Arch и btrfs пользуюсь уже лет 15. Правда, раньше не пользовался снэпшотами (за исключением того, что их использует докер).

Не знаю зачем пишу, знаю, что в меня полетят помидоры за Arch и btrfs. Просто предупреждение, наверное.

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

Нормальные люди ничего нигде не прописывают, у них дефолты нормально выставлены «из коробки» и всё работает нормально. Почему тогда вот это вот заклинание не в дефолте? Все кто про это не знают — ненормальные? Или почему то «должны страдать»?

«Нормальные пользователи не должны вручную править fstab, Мой компьютер должен автоматически показывать все разделы, всё должно работать из коробки. Почему я должен править из консоли какие-то текстовые файлы и запускать какие-то команды? Почему ваш линупс не умеет это делать сам? Я, что ненормальный? Почему я должен страдать?» (c)

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

Разрабы объясняют так - потому что фичи BTRFS с COW и прочие ништяки работают, если контролёр записывает блоки данных и метаданных в правильном порядке. Некоторые модели контролёров в целях оптимизации мухлюют с порядком, и при ребуте фс ломается (потому что фичи, и как следствие фс зависит от правильного порядка). Если в фс нет некоторых фич, то и проблемы нет. Получается, что либо фичи и риск фейла при некорректном контроллере, либо нет фич и нет проблемы. Кроме этой проблемы некоторые fs более подвержены проблеме bad ram, чем другие.

Я этому объяснению склонен верить, потому что в моей практике у меня возникали подобные поломки фс на двух моделях внешних жёстких дисков, и никогда не возникали на других. Если кого-то описанный риск не устраивает, то не выбирайте другую фс. Но не стоит писать бездумных комментариев, что фс «гавно, потому что я видел темы с проблемами, у меня сложилось такое впечатление» - такие комментарии не несут информационной ценности, а дельные комментарии опытных пользователей тонут в море флуда.

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

openzsf по скорости уступает чуть ли не двукратно

Смотря в каких паттернах. Например для виртуальных машин zfs на порядок (в 10 раз) быстрее btrfs. А если привинтить L2ARC и ZIL, то zfs всегда, в любых паттернах, быстрее чем btrfs.

а что ее нет в ядре

И что? Чем вас не устраивают модули ядра?

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

Ты в этой теме сам же подтвердил, что при несоблюдении ряда условий на btrfs возникают проблемы, подытоживая: при использовании btrfs нельзя просто взять и начать ей пользоваться, нужно: читать маны и форумы и проводить оптимизацию опций монтирования; обязательно снабдить комп ИБП, потому что после потери питания средств восстановления просто нет; выбирать диски с правильными контроллерами.

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

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от mxfm

Разрабы объясняют так - потому что фичи BTRFS с COW и прочие ништяки работают, если контролёр записывает блоки данных и метаданных в правильном порядке. Некоторые модели контролёров в целях оптимизации мухлюют с порядком, и при ребуте фс ломается (потому что фичи, и как следствие фс зависит от правильного порядка). Если в фс нет некоторых фич, то и проблемы нет.

Можно вот про «плохие мухлюющие с порядком контроллеры» ссылку на первоисточник? Потому что либо ты не понял их, либо я не понимаю тебя. Хочу увидеть оригинальный текст на английском. Потому что если речь идёт про NCQ — переупорядовачивание команд в очереди это фича, а не баг, ради этого NCQ и задумывалось. А у NVMe SSD этих очередей ещё и несколько, причём весьма ёмких. И если есть какие то «бажные» контроллеры, разве не должен в ядре вестись некий «черный» их список, запрещающий для них те или иные «фичи» ФС?

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

Не устраивает то, что ZFS работает в юзерспейсе и что у неё отдельный, а не системный дисковый кеш. Я использовал её в Ubuntu — и при копировании крупных файлов RAM знатно забивалась. В случае с ext4 и XFS дисковый кеш тоже активно забит, но это место доступно для записи ППО после того, как ФС закончит работу — а в ZFS нет.

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

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

не_правда. сколько раз у меня ноут неожиданно разряжался или я тупо с кнопки все вырубал не дожидаясь, сброса кеша на диск, btrfs давно не ломается от неожиданного отключения, а вот что ее сломать можно забив диск… ну тут правильно отметили, что он запустил команду btrfs check, которая все сломала, а нужно было balance сделать всего-то

uwuwuu
()
Последнее исправление: uwuwuu (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

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

ZFS под linux уже очень давно отлично выдавливается из памяти, никаких проблем с этим нет.

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

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

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

у меня на серваке btrfs в рейде джва года

Безумству храбрых поём мы песню! А аварийные тесты хоть раз проводили? Ну типа диск выдернуть на живую и после на горячую восстановить RAID с новым диском?

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

btrfs - альфа версия некой неплохой задумки, но прошло уже 10 или даже больше лет, а воз и ныне там. Если нужна cow-fs юзайте openZFS и да пребудет с вами сила.

Господин Шишкин (один из основных разработчиков ReiserFS, жену не убивал и даже не участвовал, ФС кстати тоже жену не убивала) в интервью весьма как мне кажется аргументированно объясняет почему.

Господа, если будете оспаривать его мнение — оспаривайте аргументы пожалуйста, а не личность их высказывающую. Шишкин жену Райзера не убивал и в убийстве не участвовал, это не аргумент. «Он просто завидует что его ФС в ядро не приняли» — тоже неконструктивный аргумент.

Jameson ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Ты в этой теме сам же подтвердил, что при несоблюдении ряда условий на btrfs возникают проблемы

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

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

Нет, это ты переврал моё сообщение, чтобы увеличить себе количество комментариев в профиле.

Вононокак, это оказывается важно, и это что то плохоэ. Не переживай, тебе его всё равно не догнать, тебя забанят раньше.

Ты кстати свой бред про «плохие для btrfs контроллеры» ссылкой так и не подтвердил.

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

Господин Шишкин

Сенкью вери мач, это интервью прошло мимо меня, читаю с удовольствием. Шишкин настоящий авторитет, не прислушиваться к нему как минимум глупо.

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

Его аргумент сводится к тому, что есть некий баг (возможность написать скрипт, который забивает раздел данными), и что на момент интервью он не устранён, и поэтому фс плоха. Аргумент выглядит несолидно, т.к. в любой фс можно найти подобную лазейку. Также он пишет, что поскольку Red Hat агитирует за btrfs, и поскольку клиентами компании являются банки, то они обязательно используют btrfs и могут попасть на бабки. Так себе логика.

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

Его аргумент сводится к тому, что есть некий баг

Его аргумент сводится к тому, что если вы не знаете матан и теорию алгоритмов, то нефиг лезть в такие чувствительные области как ФС.

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

Вононокак, это оказывается важно, и это что то плохоэ. Не переживай, тебе его всё равно не догнать, тебя забанят раньше.

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

Ты кстати свой бред про «плохие для btrfs контроллеры» ссылкой так и не подтвердил.

На старой вики информация была подана немного по-другому, сейчас так.

https://btrfs.readthedocs.io/en/latest/Hardware.html#when-things-go-wrong

Кстати, ты очень странный «эксперт» по btrfs - ты не знаешь о её основном уязвимом месте, но зато знаешь про какой-то случай с редким стечением условий.

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

я хоть и согласен с остальными сообщениями, но

чтобы увеличить себе количество комментариев в профиле

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

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

основном уязвимом месте

Цитирую Шишкина:

«Причину проблемы я уже давно объяснил: это полное извращение в Btrfs понятия B-дерева, что делает возможным его спонтанное или намеренное вырождение. В частности, при некоторых нагрузках ваша ФС в процессе эксплуатации будет непрерывно «разваливаться» и сама, без посторонней помощи.»

Разрабы за 10+ лет не смогли найти спеца по В-деревьям ) Это такой фейл и позор.

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

Rescue System и размечаешь как хочешь, что хочешь ставишь, но там вроде конфиг какой-то редактируешь

Зачем на хостере, который раздаёт виртуальки уже с массивов городить ещё один массив сверху?

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

Идём по ссылке и читаем. К btrfs относится первый вопрос «Как ты оцениваешь прогресс в разработке Btrfs». Ответ автора в нём сводится к тому, что на момент взятия интервью в btrfs есть лазейка - возможность забить диск. Это происходит, по мнению автора, из-за неправильного использования B-дерева. Автор считает, что для фс иметь такую лазейку неприемлемо. Ему ещё задали два вопроса про прекращение поддержки в RHEL, и почему используют в каких-то «enterprise» продуктах, несмотря на указанную проблему. Короче говоря, всё сводится к тому, что есть такой-то баг и поэтому фс плоха. Ну и в чём я не правильно изложил позицию автора?

Ты просто мало что понял, но это нормально, не всем дано. Не обязательно понимать то чем восторгаешься.

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

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

т.е. фс плоха, потому что она не проходит «критерий Шишкина» - разрабы btrfs используют b-деревья не так, как считает правильным господин Шишкин. А поскольку господин Шишкин - последняя инстанция в определении правильности применения b-деревьев, значит фс неправильная (и люди, которые её используют - как пчёлы, которые едят неправильный мёд). И главное, обсуждать биографию господина Шишкина и то, что его код в ядро не приняли нельзя, потому что нельзя - это никак не повлияло на субъективное мнение господина Шишкишна. Так себе логика и так себе аргумент.

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

разрабы btrfs используют b-деревья не так, как считает правильным господин Шишкин

Господин Шишкин, в отличии от разрабов btrfs, владеет предметом. B-trees можно использовать только одним способом, им же правильным. Все остальные варианты - это признание полной безграмотности и некомпетентности.

в определении правильности применения b-деревьев, значит фс неправильная

С тем же успехом можно утверждать, что значение синуса может достигать 5 и никакой Шишкин нам не указ, мы так понимаем функцию sin и вообще лгбт и трансов трогать нельзя )

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

то физический сервер с физическими дисками

А кто и как диски меняет в случае отказа? И по каким критериям? И ещё раз спрошу, вы аварийные тесты проводили? То есть как восстанавливать софт-рейд в случае отказа диска вы не знаете?

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

Господин Шишкин, в отличии от разрабов btrfs, владеет предметом. B-trees можно использовать только одним способом, им же правильным. Все остальные варианты - это признание полной безграмотности и некомпетентности.

С тем же успехом можно утверждать, что значение синуса может достигать 5 и никакой Шишкин нам не указ, мы так понимаем функцию sin и вообще лгбт и трансов трогать нельзя )

Вы не путайте математику и экспертное мнение. Есть большая разница между считать синус равными пяти, и между считать фс неправильной по экспертному мнению Шишкина. Я не помню в курсе матана и статистике теорему, что мнение Шишкина по b-деревьям всегда истинно) По крайней мере btrfs на практике используют большое количество человек и используют нормально, это указывает, что экспертное мнение - это экспертное мнение. Интересно послушать, но не запрещает использовать.

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

«Эксперт (один из основных разработчиков, жену не убивал …) аргументировано объясняет …. Господа, если будете оспаривать его мнение — оспаривайте аргументы пожалуйста, а не личность их высказывающую. Он жену не убивал … это не аргумент. «Он просто завидует что его код не приняли» — тоже неконструктивный аргумент.»

А в ветке про выбор инструмента в другой сфере, где его мнение с экспертом не совпадает, напишет, что он неудачник, идиот никому не нужен, код не приняли и всё.

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

Вы не путайте математику и экспертное мнение.

Я не путаю, в данном случае экспертное мнение полностью совпадает с теорией алгоритмов и структур данных. Разработчики btrfs некомпетентны.

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

не душни и всякую хрень не пиши

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

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

А он не душнит и не пишет хрень. Он совершенно справедливо говорит что имеет смысл устроить «софтварно\аппаратный сбой» одного из дисков в райде, например из консоли от рута выключить одному из дисков питание, чтобы проверить как отреагирует на это райд и чтобы убедиться что у вас есть рабочая стратегия по восстановлению в подобной ситуации.

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

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

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

Тренировки по восстановлению аварийных массивов, восстановлению бэкапов и поднятию инфраструктуры стандартная процедура и делать это нужно периодически и довольно часто, чтобы персонал по команде «по местам стоять» выполнил всё как по нотам.

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

Ага а в btrfs никто из сотен тысяч его пользователей ничего не тестировал… Или что я должен тренироваться в случае сбоя удалять диск из рейда, добавлять новый, а потом балансировку запускать? 🤡

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

Это голословное утверждение, Шишкин просто делает заявление на основании его опыта. Соответствует btrfs или нет - его мнение, а не доказательно теоремы. Если вы это пишите на полном серьёзе, то знайте - экспертиза проводится независимыми экспертами, а не в блоге одного из них - в таком случае это просто частное, авторское мнение.

Логика, что фс не работает, потому что Шишкин считает, что b-деревья не соответствуют чему-то там по его субъективному мнению - чистый абсурд. Масса людей использует btrfs нормально без всяких проблем, что невозможно, если мнение Шишкина было бы верным. Мнение, что что-то нельзя делать может опираться на два («авторитетных») основания - либо вас за это посадят, либо у вас по техническим причинам это не заработает. Вот у массы людей, в том числе у меня, btrfs работает и задачи свои выполняет. Логика, что это неправильно, что этого не должно быть, потому что так пишет эксперт X - полная хрень, логика уровня детсада.

mxfm ★★
()