Представлен выпуск пакета Btrfs-Progs 6.13, включающего утилиты и библиотеки для работы с файловой системой Btrfs из пространства пользователя. В состав входит сводная утилита для администритования btrfs, утилита для создания разделов mkfs.btrfs, программа для проверки разделов fsck.btrfs, интерфейс для изменения параметров btrfstune, утилита для создания образов ФС btrfs-image и библиотека libbtrfsutil. Код написан на языке Си и распространяется под лицензией GPLv2...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=62732
подскажите пожалуйста, вопрос по Btrfsна Lubuntu 24.04 (LTS) хомяк смонтирован как отдельный раздел на Btrfs
в один прекрасный момент побилась мягкая ссылка на один скрытый каталог (ошибка ввода-вывода) в корне пользователя, начал копать, прочитал про набор утилит btrfs, сделал с Live-образа:
[c]sudo btrfs check --repair /dev/sda3[/c]
после этого у меня куча файлов и директорий тупо стали скрытыми, невидимымит.е. я могу переходить в такой каталог, но в ls я его не увижу, я могу открывать последние картинки в Krita, но в проводнике они не отображаются
к слову, та мягкая ссылка тоже стала скрытой, но ошибка ввода-вывода никуда не делась (:никто не сталкивался с подобным?
repair выполнял несколько раз, так же делал scrub и ещё тучу всего по советам с разных форумов
Вроде сначала нужно было сделать 'btrfs scrub start -Bd /home'
Вы меня извините, но сколько раз уже говорилось о том, что btrfs - плохая файловай система с целым букетом проблем? Держитесь от нее как от огня!
Это не более, чем Ваше заблуждение, уважаемый старовер.
>btrfs check --repairПомянем ФС. Ключ repair очень часто всё ломает. Неудачно название, которое вводит в заблуждение.
Прально а зачем чинить фс.
>могу открывать последние картинки в Krita90% что это кэш самой Krita.Вот то чем я не доволен этой фс- нет инструмента ремонта.Официально запрещено пользоваться fsck, т.к можно окончательно попрощаться со своими данными.Бесит уже из за мелкого файла или ссылки полфс разваливается. Мелкие файлы упоковываються и могут быть записаны в методатту, очевидно что дублирование методатты не помогло в вашем случае :-(
man 8 btrfs-restore
>man 8 btrfs-restoreВыучен наизусть:-( В 90% у меня -проблема в метаданных, хоть есть дублирование - утилиты падали в дамп,не ремонтировали.
Каждый раз вспоминаю своего коллегу, который радостно поставил убунту на btrfs (потому что btrfs это круто) и пару лет благополучно пользовался. В один прекрасный момент — убунта не грузится. Что такое? Грузимся с live CD, смотрим на раздел — нет места на диске. Свободного места — ровно 0. Но как же нет места, ведь места занятого файлами всего треть раздела, где остальное место? А вот нету.) Ну, давайте что-нибудь удалим! А btrfs: фиг вам, ничего удалить не могу, нет места на диске! И переименовать ничего не могу и вообще ничего не могу, нет места на диске!
Но хоть читалось, так что сделали копию, форматнули раздел и т.д.Но это уже несколько лет назад было, может с тех пор что-то улучшилось, хз.
PS: самое смешное что незадолго до этого случая я читал тут интервью Шишкина, который как раз говорил и про эту проблему с исчезанием свободного места.
> Но это уже несколько лет назад было, может с тех пор что-то
> улучшилось, хз.Ессно улучшилось. Сделали global reserve на совсем пиковые оказии, сделали GC блочных почти пустых групп и проч. И теперь выюзать все место когда не получится записать cow выносок совсем - даже хз что надо сделать.
> PS: самое смешное что незадолго до этого случая я читал тут интервью
> Шишкина, который как раз говорил и про эту проблему с исчезанием
> свободного места.Ну так где шишкин и его ФСы? А, рассказал всем в ядре про "все мудачи" - отвалил в туман - слился с майнтенансом - помахал vaporware в виде Reiser5 да почил в бозе, профачив все проекты рейзеров?
>Но хоть читалось, так что сделали копию, форматнули раздел и т.д.Вот в этом и проблема, что все вопросы лечатся переустановкой. В случае btrfs можно создать fs на отдельном устройстве, хоть рамдиск, объеденить с существующей, удалить из неё несколько файлов, после чего убрать этот рамдиск.
> В случае btrfsА разве кто-то ещё таким страдал?
> можно создать fs на отдельном устройстве, ***хоть рамдиск***, объеденить с существующей, удалить из неё несколько файлов, после чего...
...вдруг выключается компьютер. Свет мигнул, заряд аккумулятора кончился, kernel panic случайный, ты по срочным делам уехал а жене спать мешает, блок питания крякнулся.
Сколько вариаций из Вашей полной сюрпризов жизни. А где вариант - была нужда, места не было, испрожнился в устройство?
> была нужда, места не было, испрожнился в устройствоА потом устройство (RAMdisk) пропадает и вместе с ним вся btrfs, о чём я и говорю.
Совершенно точно rm можно сделать даже при переполненном диске. Просто это нужно делать в консоли, а не из ГУИ, который неизвестно-что делает вместо удаления. Например, перемещает их в Корзину и, соответственно, получает ошибку.
И сразу после удаления нужно по чуть-чуть балансировать диск (-m{0..10}/-d{0..10}).Все проблемы ваших коллег от компьютерной неграмотности, они не понимают, что делают, и даже проблему толком описать не могут. И, конечно, не читают инструкций по эксплуатации, а потому никогда не балансируют интенсивно используемый диск. А вы говорите: "Btrfs - плохая."
> это нужно делать в консоли, а не из ГУИЕстественно, мы это делали из консоли. Не такие уж мы тупые.
Так не бывает. Удаление должно было сработать. А вот перемещение/копирование на той же ФС - нет, из-за операций с метаданными.
Вот в том и дело, что удаление не работало, мы были весьма удивлены.)
И fsck отказывался работать: "нет места!" и rm тоже.
rm/unlink не приводит к аллокациям ни данных, ни метаданных. man 2 unlink: там нет кода возврата с "нехваткой места" (ENOSPC 28 No space left on device).
Это что-то другое. Возможно, файл был открыт каким-то процессом, и подсистема ФС попыталась сделать Copy-On-Write. Сомнительно, если загрузка была с Live-образа и не было chroot-а на диск. Возможно, такое случается из-за жёстких ссылок на удаляемые файлы, провоцирующих CoW..
Шишкин - он такой. Ко всему желает привесить шильдик "гауно". А его "конфетку" так никто и не увидел.
> в один прекрасный момент побилась мягкая ссылка на один скрытый каталог (ошибка
> ввода-вывода) в корне пользователя,Во первых что есть "скрытый каталог"? Просто дира вида .dirname?
Во вторых, нормальная диагностика с точными сообщениям и описанием конфиги - не того? "У меня в подвале что-то стучит" - не очень много сведений о проблеме.
В третьих, без избыточности именно IO error - внеплановый косяк. А просто стереть эту штуку и пересоздать - не катило? Это несколько костыль, но cow не будет его так сразу переписывать насилуя BAD. Ввместо этого - запишет в новое место, без IO error'ов. GC подгребет место потом - а новая запись просто перезапишет однажды тот BAD, вызвав ремап фирмварь накопителя - да и дело в шляпе.
В четвертых на сыпучем железе можно схему DUP юзать, но это идет с некими нюансами в комплекте.
> сделал с Live-образа:
> [c]sudo btrfs check --repair /dev/sda3[/c]До того как вводить команды - нехило бы понять свою проблему и прочитать что утил пишет. Там прямым текстом сказано: до того как это вводить, проконсультируйтесь с разработчиками. Вы это сделали? И они сказали вам - сделать такое? Или...?
> после этого у меня куча файлов и директорий тупо стали скрытыми, невидимыми
Если что-то сильно нужное пропало, можно загрузиться с live - и "btrfs restore" вычитать нужное "оффлайново". Это недеструтивная операция, парсит ФС без монтирования, читает файло и пишет в другую локацию, ничего не записывая в проблемную ФС вообще.
> к слову, та мягкая ссылка тоже стала скрытой, но ошибка ввода-вывода никуда
> не делась (:Если это реально BAD SECTOR - чего ему пропадать от вон того?
> repair выполнял несколько раз, так же делал scrub и ещё тучу всего
> по советам с разных форумовБез хотя-бы выхлопа dmesg и утилит - это все "у меня в подвале чот-то стучит". А кто его знает - что там? Диагностики ж никакой.
вопрос перечитайте из крайнего абзаца и всё поймёте, что мне интересно было бы от вас узнать
> Во первых что есть "скрытый каталог"? Просто дира вида .dirname?в том-то и дело, что никакая не дыра, а по сути тот же каталог, что и был, с файлами в нём
>> Во первых что есть "скрытый каталог"? Просто дира вида .dirname?
> в том-то и дело, что никакая не дыра, а по сути тот
> же каталог, что и был, с файлами в нёмОх, блин. Дира (dir, directory) это и есть - каталог, но печатать меньше. Пока по вашему описанию - нифига не понятно, что там реально было.
Шизофазия какая-то.
Смонтирован может быть раздела диска, подраздел ФС и отдельная директория. Как отдельная точка монтирования.
Скрытыми директориями в Линуксе называют те, имена которых начинаются с точки. Никаких специальных атрибутов и свойств у них нет. Это просто общепринятое соглашение. Но их могут по-разному обрабатывать программы.
Например, ls не показывает скрытые каталоги по-умолчанию (без ключа -a). В файловом менеджере нужно нажать CTRL+H, чтобы видеть такие файлы. И т.д.
Документация она для всех пишется, даже для самых умных, которые очень круто говорят по-компьютерному, но у них ничего не работает, потому что программы вокруг плохие.> никто не сталкивался с подобным?
С ламерами? К сожалению, регулярно.
>т.е. я могу переходить в такой каталог, но в ls я его не увижуПрава доступа проверь. Попробуй chmod +x "полный путь к директории"
Я бы не рисковал и в первую очередь, пока файлы хоть как-то читаются, вылил бы их на другой диск/флешку.
И, пожалуй, пересоздал бы диск и залил на него всё назад. Сдаётся мне, так будет гораздо быстрее и надёжнее, кто его знает - где и что там покривело.
Когда файлы залиты в резервное хранилище, можно и рискнуть. Что бы следом обоснованно пересоздать диск, в другой ФС. ;)
А мне рассказывали что баттерфейс держит снапшоты, на которые можно вернуться в любое время и вообще резервные копии это для люддитов.
А пусть они ещё тебе расскажут, что снапшоты и, например, гит - это вообще не бэкапы и бэкапы на отдельный девайс нужны всё равно
> А мне рассказывали что баттерфейс держит снапшоты, на которые можно вернуться в
> любое время и вообще резервные копии это для люддитов.Ваши рассказчики были некомпетентны - насыпьте им в панамку за вредные советы.
Снапшоты - не замена бэкапов, а дополнение к ним. То-есть да, если все прокатило - вы получаете откат на более старое (или просто другое) состояние со скоростью света. Ибо никакой кантовки гигазов данных, просто "перевес указателей" грубо говоря. Это круто, быстро и эффективно.
Но что если было 5 снапшотов, но они референсились на 1 группу блоков, и там - вылез бэд, а избыточности на ваше горе не было? В какой ни откати - а бэд то под нужными блоками - остается! И оно не читается ни в этом виде, ни в вон том - и в пятом по счету - тоже. И вот тут вы таки - пойдете за бэкапом. Ну а какие еще варианты остаются, если ну вот не читается оно? Так что снапшоты это хорошо и правильно - но от некоторых классов проблем могут и не спасти, в отличие от.
Зато если вы сделали rm -rf / или что-то такое же неудачное по смыслу, откатить такое при наличии снапшота вообще не особая трабла. Но если вы сделаете dd if=/dev/zero of=/dev/vda (или что там у вас) - вот тут вам снапшот ФС не поможет. За отсутствием ФС, напрмиер :)
> А мне рассказывали что баттерфейс держит снапшотыДержит. Если вы это настроили. Если нет - увы и ах.
>> А мне рассказывали что баттерфейс держит снапшоты
> Держит. Если вы это настроили. Если нет - увы и ах.Можно и мануально их вфигачивать. Это бувальноо 1-2 тривиальные команды. Но есть и например расширения для пакетника, снапшотить до апгрейда.
Хотя эффективнее что-то типа:
- btrfs sub snap @sys @sys-preupgrade
- возмжно аналогично и для home - его лучше в отдельном subvol держать и снапшотить независимо - дабы откат системы не требовал терять также и изменения в /home в обязаловку.
- eatmydata apt uprade/dist-upgrade/etc <100500 packages>
- Если не прокатило, старая версия ОС в @sys-preupgrade будет, зацепить ее и попробовать еще раз, или чего там, тем же методом.Такой немного мануальный вариант замены кучи мелких транзакций на одну большую атомарную операцию. Разгоняет апгрейд системы В РАЗЫ с одной стороны. Дает возможность атомарного отката в заведомо рабочий вариант - с другой.
> позволяющей использовать сжатие при генерации файловой системыТ.е. типа клонирование на уровне файлов без предварительного mount?
>> позволяющей использовать сжатие при генерации файловой системы
> Т.е. типа клонирование на уровне файлов без предварительного mount?При создании ФСа можно его сразу и заполнить - из воооооон той диры. Особенно удобно для создания образов ФС, но можно и не образов, mkfs'у похрен файл это или блочный девайс.
А сие - позволяет еще и сразу сжать эти данные при их вкатывании в создаваемую ФС. Базовую версию этого трюка умеют и некоторые иные mkfs, а для squashfs какого - это вообще единственный вариант как его создать.
у меня на прошлой неделе опять бтрфс разрушилась. очень надежная фс. больше никогда ее не буду использовать. вообще никогда. ехт4 лучше всех.
> у меня на прошлой неделе опять бтрфс разрушилась. очень надежная фс. больше
> никогда ее не буду использовать. вообще никогда. ехт4 лучше всех.С таким ником - могу посоветовать переход на FAT сразу. Желательнося FAT12, он эвон какой протестированый. Я его еще на флопиках гонял и чертовски уверен что багов - нет.
Оставлю здесь, может многим пригодиться.
Самая полезная утилита btrfs. (Без сарказма, в zfs такой не наблюдаю. Хотя, казалось бы…)# btrfs restore --snapshots --xattr --metadata --symlinks --overwrite /dev/mapper/defunct_btrfs /mnt/1
Распаковывает в указанный каталог всё что может достать из не монтируемого тома BTRFS. Если крах был не по аппаратной (битая память и т.п.) причине — вытащит почти-совсем всё. Понятно, без логических структур a-la снапшоты. Так что, готовьте место.
* А вот перед попыткой что-нибудь "поремонтировать", категорически показано сделать бинарную копию отвалившегося.