LINUX.ORG.RU

Глюки у диска с btrfs

 , ,


0

2

Сейчас пишу с live образа, на диске стоит раздел с btrfs, внезапно начали падать Кеды, сначала думал прилетел кривой апдейт, а потом увидел, что в терминале начали появляться I/O Errors, при попытке что-то запустить и терминал не мог открыть htop, и некоторые другие утилиты, говоря, что исполняемый файл отсутствует.

Загрузился с live флешки, примонтировал /dev/sda1 в /mnt, файлы нормально читаются, сделал бэкапы, перепроверил, важные данные целы и на месте.

Отмонтировал раздел и сделал проверку:

sudo btrfs check /dev/sda1
Opening filesystem to check...
Checking filesystem on /dev/sda1
UUID: 401b4f1e-325a-4c6a-97ce-b580690e3a2c
[1/7] checking root items
[2/7] checking extents
parent transid verify failed on 456654848 wanted 82864 found 82810
parent transid verify failed on 456785920 wanted 82864 found 82810
parent transid verify failed on 456785920 wanted 82864 found 82810
parent transid verify failed on 456785920 wanted 82864 found 82810
Ignoring transid failure
parent transid verify failed on 461619200 wanted 82864 found 82809
parent transid verify failed on 454688768 wanted 82864 found 82808
parent transid verify failed on 456638464 wanted 82864 found 82808
parent transid verify failed on 456687616 wanted 82864 found 82810
parent transid verify failed on 456687616 wanted 82864 found 82810
parent transid verify failed on 456687616 wanted 82864 found 82810
Ignoring transid failure
parent transid verify failed on 456704000 wanted 82864 found 82808
parent transid verify failed on 456704000 wanted 82864 found 82808
parent transid verify failed on 456704000 wanted 82864 found 82808
Ignoring transid failure
parent transid verify failed on 456720384 wanted 82864 found 82810
parent transid verify failed on 456720384 wanted 82864 found 82810
parent transid verify failed on 456720384 wanted 82864 found 82810
Ignoring transid failure
parent transid verify failed on 456753152 wanted 82864 found 82808
parent transid verify failed on 456753152 wanted 82864 found 82808
parent transid verify failed on 456753152 wanted 82864 found 82808
Ignoring transid failure
parent transid verify failed on 456769536 wanted 82864 found 82808
parent transid verify failed on 456769536 wanted 82864 found 82808
parent transid verify failed on 456769536 wanted 82864 found 82808
Ignoring transid failure
parent transid verify failed on 456818688 wanted 82864 found 82810
parent transid verify failed on 456818688 wanted 82864 found 82810
parent transid verify failed on 456818688 wanted 82864 found 82810
Ignoring transid failure
parent transid verify failed on 456835072 wanted 82864 found 82810
parent transid verify failed on 456835072 wanted 82864 found 82810
parent transid verify failed on 456835072 wanted 82864 found 82810
Ignoring transid failure
parent transid verify failed on 456851456 wanted 82864 found 82810
parent transid verify failed on 456851456 wanted 82864 found 82810
parent transid verify failed on 456851456 wanted 82864 found 82810
Ignoring transid failure
parent transid verify failed on 456867840 wanted 82864 found 82810
parent transid verify failed on 456867840 wanted 82864 found 82810
parent transid verify failed on 456867840 wanted 82864 found 82810
Ignoring transid failure
Segmentation fault

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

Перемещено hobbit из general

★★

Недавно тоже / c btrfs отвалился, просто упал гном, выкинув в tty со спамом io error. Решилось перезагрузкой, кого винить не знаю - может разгон памяти, может кривость самой фс.. но в любом случае, после перезагрузки всё запустилось как ни в чём не бывало.

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

Если не удастся починить, то поставлю старый добрый ext4, но могу сказать, что у меня есть ноут с btrfs, проработал на ней 4 года, не разу ещё не сталкивался с ошибками ФС в Линуксе.

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

это SSHD гибрид

Скорее всего в этом дело. Возможно ssdшная часть начала умирать. Диск определился как ssd? Trim настроен? Зачем покупать такие костыльные решения, если чистый ssd стал вполне доступным?

ox55ff ★★★★★
()

parent transid verify failed

parent transid verify failed — это «потерянные» диском записи. Это практически всегда фатально.

что дальше делать

btrfs restore на свободный диск (с лайва, при отмонтированном «пациенте», монтировать раненую ФС дальше даже не пытайся) и пересоздавать ФС.

диск не обычный, это SSHD гибрид

Не удивлён, это для них типично.

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

Диск определился как ssd?

Где это узнать?

Trim настроен?

А вот это я как раз походу и профукал, значит мой косяк.

костыльные решения, если чистый ssd стал вполне доступным?

Ну не такие уж и доступные с учётом объёма памяти, а на этот диск был приятный ценник, да и было интересно взять на попробовать, раньше ничем кроме hdd не пользовался.

Главное данные целы, старые бэекапы в запасе имеются и новые теперь тоже, переставлю всё на запасной диск.

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

Волшебным образом оживёт сыплющаяся NAND?

Я так понимаю - господин всё важное успел выдернуть. А больше в его ситуации и не надо ничего. А от этого ГАВНИЩА под гордым названием «btrfs» - лучше держаться подальше. Нервы дороже.

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

У btrfs есть ключ монтирования ssd. Я не уверен насчёт trim. Может быть этим сам контроллер диска занимается и ему ни ssd режим ни trim не нужен.

Короче, я лучше бы избавился от этого диска. Разработчики контроллеров обычных ssd периодически обсираются. А тут гибрид, логика работы ещё сложнее, но индусы на аутсорсе всё те же.

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

Samsung 970 evo plus, 980 pro или 990 pro.

p.s. как же меня расстраивают такие темы, вроде и очевидно, что дело в железе, но как-то так получается, что это всегда btrfs. Так и не дождемся продвинутой ФС в Линукс.

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

У btrfs есть ключ монтирования ssd

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

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

дело в железе, но как-то так получается, что это всегда NTFS. Так и не дождемся продвинутой ФС в Виндовс.

дело в железе, но как-то так получается, что это всегда APFS. Так и не дождемся продвинутой ФС в макОС.

Не иначе место проклятое!

anonymous
()

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

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

Сколько террабайт потеряли не btrfs файловые системы?

За последние 20 лет я в сумме «невозвратно потерял» порядка одного терабайта. Было довольно «больно» (должен признать).

Почему они жрут кактус?

Достаточно почитать LOR. И задать себе вопрос - «а не ищу ли я приключений на свою задницу на пустом месте».

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

За последние 20 лет

Я за 8 лет на btrfs не потерял ни одного терабайта. Что за хламом ты пользуешься? btrfs попробуй что ли.

Достаточно почитать LOR

Я думал ты основывал своё мнения на чём то существенном, чем ощущения от чтения форума.

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

но как-то так получается, что это всегда btrfs

btrfs конструктивно очень чувствительна к потерянным записям и неправильно работающим барьерам.

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

Нет, запись одного блока в файл может привести как к записи одного блока на диск (это в самом лучшем случае), так и к записи 10 блоков на диск, или даже больше, в зависимости от того какая фс. Это называется «write amplification» и по этому параметру в первую очередь определяют, насколько файловая система пригодна для ссд.

Точнее есть два таких параметра: один у файловой системы, второй у ссд-контроллера (присланный в ссд блок может опять превратиться в больше одного блока, записанного на физическую флешку). Хотя они несколько переплетаются, поскольку amplification внутри ссд зависит от того, как именно файловая система пишет свои блоки.

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

Что за хламом ты пользуешься?

Да я вообще «пописать вышел». Но одна из самых наших нагруженных машинок пишет порядка 1TB только tx-logs в день. И по надёжности ext4 пока вне конкуренции.

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

Если у тебя поверх ФС навёрнут сложный application layer, который «сам с усам», то естественно — чем проще прослойка, тем более «вне конкуренции». Тут btrfs бессмысленна, твоим tx logs с тем же успехом можно сырое блочное устройство подсунуть. Но это сравнение жопы с пальцем.

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

Это называется «write amplification» и по этому параметру в первую очередь определяют, насколько файловая система пригодна для ссд.

Маняфантазии. Наличие поддержки trim и то более валидный показатель.

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

Я уже напечатал, так что отвечу на удалённый.

У она таки есть. Кроме шуток. На уровне datacenters. Верить не обязательно. Пусть я буду местным «балаболом» :)

У фейсбука тоже есть датацентр с btrfs.

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

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

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

Если у тебя поверх ФС навёрнут сложный application layer

Вы реально не догоняете? Да нахрен никому не впился ваш btrfs. Ни сегодня, ни завтра, никому. Astalavista, baby.

bugfixer ★★★★
()
Последнее исправление: bugfixer (всего исправлений: 2)