LINUX.ORG.RU

как чинить btrfs?

 , , , ,


0

1

Приветствую.
После ребута перестала грузиться гента с корнем на btrfs. Подключил диск к другому компьютеру, не монтируется раздел с btrfs.
Логи — http://dpaste.com/925805/
Пробовал 3.7 ветку ядра, разные версии btrfs-progs — безрезультатно.
На ЛОРе есть истории успеха по починке btrfs? Что попробовать? Гугление ошибок из dmesg'a находит лишь разные мэйлисты с подобным описанием проблемы без решения.
P.S.: gentoo amd64, SSD Crucial M4 128Gb

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

я починить могу и из работающей системы, меня интересуют техники и утилиты починки, ибо нагугленные не помогли

dorsett_case ()

Попробуй:

btrfsck /dev/sdb3
mount /dev/sdb3 /mnt/gentoo
Если не поможет, то попробуй:
btrfs-zero-log /dev/sdb3
btrfsck /dev/sdb3
mount /dev/sdb3 /mnt/gentoo
Если не поможет, то низняю :)

Black_Roland ★★★★ ()

вот поэтому я и ушел с btrfs, в свое время она начала просто сыпаться при рабочем винте

чем был крах справоцирован?

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

и да, логично предположить что у этого поделия должен быть багтрекер, но где он?

https://btrfs.wiki.kernel.org/index.php/Main_Page

Btrfs is under heavy development, but every effort is being made to keep the filesystem stable and fast. Because of the speed of development, you should run the latest kernel you can (either the latest release kernel from kernel.org, or the latest -rc kernel. Please email the Btrfs mailing list if you have any problems or questions while using Btrfs.

И да https://bugzilla.kernel.org никто не отменял

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

ничем, просто ребутнул ноут

Отличная ФС

xorik ★★★★★ ()

как чинить btrfs?

man mke2fs

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

не ставить на корне и монтировать в rw только по праздникам, иначе никак

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

А зачем вам дефрагментация, если у вас SSD ?

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

У SSD же прямой доступ к данным, время доступа к любой ячейке памяти одинаковое.

Кроме того дополнительной дефрагментацией вы только быстрее износите память вашего SSD, ведь число циклов записи у ячеек памяти SSD накопителя ограничено.

В общем ССЗБ.

kostik87 ★★★★★ ()

Ничего не знаю про эту вашу btrfs, кроме новостей, тестов, слухов. Не понимаю, зачем она. Но интересуюсь. Недавно где-то ухватил, что под SSD её не надо специально опциями всякими набивать, она автоматом настраивается под него...
Всегда на ext4, ни разу проблем не ловил. И вот сильно задумался о «попробовать» btrfs. Я ССЗБ?

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

Я уже давно пользуюсь (больше полугода). Использовал на HDD и SSD. На буке батарейка дохлая — ребутов было немерено. fsck не пользуюсь.

За все время был только один глюк: обновлял VirtualBox, обновлялся модуль ядра, что-то глюкнуло и вывалилась паника. После перезагрузки диск не монтировался (примерно как у ТС). Помог сброс журнала (btrfs-zero-log).

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

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

ssd...autodefrag

/0
Расчехляй бекап, вряд ли ты оттуда что-то вытащишь. Если хранил там что-то ценное, что ж тебя предупреждали разрабы сабжа.

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

на ссд? ты себе дефрагментацией ссдшку убъёшь быстрее.

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

У меня с autodefrag все ок было, вместе с compress и ещё парой не-дефолт опций. Но у меня HDD, в нём был смысл.

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

для починки бтрфс там же не фск надо пользовать, а recovery tool

К.О. так очевиден. И да

Открыл Early Userspace Mounting внимательно изучил как чинят ext4 из initramfs далее fsck.ext4 заменил на нужный тебе fsck.btrfs или что там тебе нужнее исправил init на свой вкус.

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

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

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

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

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

define адекватных

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

//Я btrfs на корне использую больше полугода, жёстких ребутов было штук двадцать.

человек спрашивает, как починить, а не онанировать.

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

Недавно где-то ухватил, что под SSD её не надо специально опциями всякими набивать, она автоматом настраивается под него...

Нет. в опциях монтирования нужно прописывать «ssd»

И вот сильно задумался о «попробовать» btrfs.

А зачем?

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

btrfs-restore восстанавливает, но совсем мало, большинство файлов имея даже некоторый размер — пустые (например, текстовые конфиги)

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

Без регулярных бекапов, пожалуй, лучше не пробовать. Ext4 умеет TRIM, и только из-за SSD её наверно бессмысленно использовать. Мне захотелось снэпшотов, потому и выбрал её, но не достаточно позаботился о бэкапах, теперь кусаю как обманутый вкладчик.

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

тогда увы всё. на сегодняшний день это лучшая и ЕМНИП единственная ресторилка умеющая бтрфс. и есть мнение что виновато в большей степени использование сжатия.. больше так не делай(я про включение опций в необходимости которых не уверен на все 120%)

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

Ещё раз, дефрагментация происходит на уровне ФС. При желании записать файл на файловую систему запись файла происходит в кластеры файловой системы, которые помечены как свободные. Если нет области с подряд идущими кластерами, подходящей по размеру, что бы в неё поместился файл целиком, занимая один за другим идущие кластеры, тогда часть файла помещается в одну группу кластеров, а оставшиеся части файла в другие группы кластеров.

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

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

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

И так, что бы вам прочитать файл с жёсткого диска вам нужно последовательно прочитать все его части, которые могут располагаться в разных участках диска, (файловая система фрагментирована), что бы это сделать, нужно подвести магнитную головку к определённой дорожке, подождать пока она окажется над нужным сектором, считать сектор, далее если следующая часть файла находится не в секторе, который идёт за только что прочитанным, но часть находится на этой же дорожке, нужно подождать пока магнитная пластина провернётся и под магнитной головкой окажется нужный сектор, прочитать его, если сектор находится на другой дорожке, то нужно переместить магнитную головку на другую дорожку, подождать, пока магнитная пластина провернётся и под магнитной головкой окажется нужный сектор дорожки, прочитать его и так далее, пока не прочитается весь файл. Как видно тратится определённое время на передвижение магнитной головки к определённой дорожке, кроме этого её ёще нужно точно спозиционировать, далее тратится время на ожидание, пока повернётся пластина.

Это называется последовательнйы доступ к данным.

Если же у вас твертодельный накопитель (SSD), у вас на нём так же фрагментируется файловая система, но у него другой принцип работы. Примерно такой же, как и у оперативной памяти. У SSD накопителя нет секторов, есть ячейки памяти, но логически он предоставляет тот же интерфейс для операционной системы, т.е. говорит как бы, что у меня есть сектора. На самом же деле при запросе на чтение определённого севтора происходит пересчёт номера сектора в адрес ячейки памяти, которую нужно прочитать далее в специальные регистры выствляется смещение и номер ячейки (болка памяти), который нужно прочитать и всё, данные считываются, далее при чтении следующего сектора так же происходит пересчёт его номера в адрес ячейки памяти и данные считываются.

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

Это называется прямой доступ к данным.

Надеюсь, вам стало ясно, что дефрагментировать файловую систему на твердотельном накопителе не нужно а даже вредно. Т.к. число циклов перезаписи (смены состояния ячейки памяти) ограничено. Контроллер, конечно, «пытается», что бы все ячейки памяит «изнашивались» одинаково, но осложнять ему жизнь не стоит. Иначе со временем у вас начнут появляться сбойные и не читающиеся области.

kostik87 ★★★★★ ()
Последнее исправление: kostik87 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.