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. Просто предупреждение, наверное.

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

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

В чём же великая Аксиома Шишкина? Все ФС - говно (вывод из его интервью), все ОСи - говно, b-tree умерло? Какая же на этом построена теория? В чём практические результаты (силюсь узнать наконец-то, трудоустройство Шишкина в Хуавей за таковой не считается)?

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

В чём же великая Аксиома Шишкина?

А Шишкину не нужна аксиоматика, потому что под его совершенно справедливыми утверждениями лежит теория структур b-tree и понимание исходников btrfs. Вы можете сделать то же самое, если осилите )

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

Это сотрясение воздуха, не более того. Можно представить любое множество непротиворечивых утверждений, которые приведут также к множеству логически обоснованных теорий. Вопрос в другом, будут ли эти теории отражением законов реального мира? Так что полегче с логикой, а то можно попасть в неприятную ситуацию ;)

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

совершенно справедливыми утверждениями

Доказательство справедливости конечно же предоставлено? Где прочитать? Возвращаемся к началу: эксплойт где?

будут ли эти теории отражением законов реального мира

Отражение реального мира в том, что btrfs (и куча других ФС) используются в практике. Трудов Шишкина в живой природе не наблюдается (вы же отказываетесь ткнуть меня пальцем в что-то применяемой в живой природе за пределами локалхоста Эда и группы сочувствующих).

Заметь, я ни разу в треде не написал, что btrfs - офигенная ФС или что Эд не может написать что-то интересное. Я привожу тебе два тезиса:

  • доказательств утверждений Эд не предоставляет. Апелляция к авторитету доказательством не является. Мы должны воспринимать на веру?
  • практических результатов деятельности Эда в живой природе, за пределами немногочисленной группы сочувствующих, не замечено.
SkyMaverick ★★★★★
()
Ответ на: комментарий от Herabora

Прочитал это интервью и не вижу никаких доказательств, не вижу диплома господина Шишкина, не вижу вообще никаких доказательств, что он может сделать что-то сложнее 2+2.

Зато вижу просто безмерный пафос, поразительно, как человек с таким пафосом может вообще где-то работать. Судя по его словам, все должны целовать ему пятки, пока он сидит на троне просто за то, что он родился таким п-ым.

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

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

эксплойт где?

Вот вся btrfs и есть эксплойт, она не проходит нагрузочные тесты.

Отражение реального мира в том, что btrfs используются в практике.

Если btrfs не используется в продакшене на серверах и в ДЦ, то она не используется вовсе.

доказательств утверждений Эд не предоставляет.

Ладно, по десятому кругу одно и то же ) Шишкин не должен ничего никому доказывать, потому что доказательство открыто для всех в виде исходников btrfs )

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

не вижу никаких доказательств, не вижу диплома господина Шишкина, не вижу вообще никаких доказательств, что он может сделать что-то сложнее 2+2

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

https://marc.info/?l=reiserfs-devel&m=157780043509663&w=2

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

Вы с ним согласны, потому что осилили?

Я с ним согласен, потому что неоднократно тестировал btrfs в хайлоад нагрузках. Нет оснований не доверять специалисту, увидев подтверждения его выводам и не один раз )

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

Так там и пострадавший со странностями, видите ли, не желает озадачиваться проверкой наличия свободного места. Много же чудных открытий ждёт его, когда он столкнется с ssd.

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

Я еще попытался переполнить файловую систему, а потом начать ее чинить, и починка ее тоже не сломала:

/tmp
❯ fallocate -l 10G btr_container

/tmp
❯ mkfs.btrfs btr_container
btrfs-progs v6.3
See https://btrfs.readthedocs.io for more information.

NOTE: several default settings have changed in version 5.15, please make sure
      this does not affect your deployments:
      - DUP for metadata (-m dup)
      - enabled no-holes (-O no-holes)
      - enabled free-space-tree (-R free-space-tree)

Label:              (null)
UUID:               f5b76b4a-41d2-4d98-9146-98efb04fa9de
Node size:          16384
Sector size:        4096
Filesystem size:    10.00GiB
Block group profiles:
  Data:             single            8.00MiB
  Metadata:         DUP             256.00MiB
  System:           DUP               8.00MiB
SSD detected:       no
Zoned device:       no
Incompat features:  extref, skinny-metadata, no-holes, free-space-tree
Runtime features:   free-space-tree
Checksum:           crc32c
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1    10.00GiB  btr_container


/tmp
❯ sudo losetup -f --show btr_container
/dev/loop0

/tmp
❯ sudo mount /dev/loop0 /mnt         

/tmp
❯ cd /mnt

/mnt
❯ sudo mkdir -m 0777 test   

/mnt
❯ cd test                                                                       

/mnt/test
❯ for ((i=0;i<10*1024;i++)); do dd if=/dev/urandom of=$i.dat bs=1M count=1; done
1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00250879 s, 418 MB/s
...
dd: error writing '10239.dat': No space left on device
1+0 records in
0+0 records out
0 bytes copied, 0.00320071 s, 0.0 kB/s

/mnt/test 45s
❯ touch 1         

/mnt/test
❯ touch foo           

/mnt/test
❯ echo 'test' > 🍆                 
echo: write error: no space left on device

/mnt/test
❯ findmnt /mnt      
TARGET
     SOURCE     FSTYPE OPTIONS
/mnt /dev/loop0 btrfs  rw,relatime,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/

/mnt/test
❯ ..

/mnt
❯ sudo btrfsck --repair /mnt
enabling repair mode
WARNING:

        Do not use --repair unless you are advised to do so by a developer
        or an experienced user, and then only after having accepted that no
        fsck can successfully repair all types of filesystem corruption. E.g.
        some software or hardware bugs can fatally damage a volume.
        The operation will start in 10 seconds.
        Use Ctrl-C to stop it.
10 9 8 7 6 5 4 3 2 1
Starting repair.
Opening filesystem to check...
ERROR: not a regular file or block device: /mnt
ERROR: cannot open file system

❯ sudo btrfsck --repair --force /dev/loop0
enabling repair mode
Opening filesystem to check...
WARNING: filesystem mounted, continuing because of --force
Checking filesystem on /dev/loop0
UUID: f5b76b4a-41d2-4d98-9146-98efb04fa9de
[1/7] checking root items
Fixed 0 roots.
[2/7] checking extents
No device size related problem found
[3/7] checking free space tree
[4/7] checking fs roots
[5/7] checking only csums items (without verifying data)
[6/7] checking root refs
[7/7] checking quota groups skipped (not enabled on this FS)
found 10200875008 bytes used, no error found
total csum bytes: 9944064
total tree bytes: 18153472
total fs tree bytes: 5357568
total extent tree bytes: 868352
btree space waste bytes: 2766396
file data blocks allocated: 10182721536
 referenced 10182721536

/mnt
❯ sudo rm -rf test

/mnt
❯ sudo mkdir -m 0777 foo 

/mnt
❯ cd foo              

/mnt/foo
❯ echo 'test' > 🍆
/mnt/foo
❯ cat 🍆                    
test

Я подозреваю, что у ОПа диск при смерти либо память. Те если принудительно починить переполненную файловую систему, то ее этим не сломать.

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

Ее не нужно чинить! Он ее после переполнения решил починить, так как писало, что места нет, а он думал что есть, ведь он файлы удалил, но не подумал, что в снапшотах файлы эти место занимают, запустил починку и все «сломалось», НО Я СОМНЕВАЮСЬ что система уже не была сломанной, потому как я не смог убить файловую систему. Всякие версии про смэрть после заполнение на 100% оказались бредом как и то, что починка что-то ломает. Надо смотреть логи, smartctl и выяснять кто все-таки убил файловую систему. Еще это интересно space_cache=v2. Кеш первой версии мож как-то неправильно работает, его же непросто так заменили

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

Нет, обычно проблема не физическая. Если конечно, не процессор от АМД :)

Обычно срабатывает комбо шифрование+сжатие. И я бы попробовал писать большие файлы в несколько потоков, чтобы пока первые скопированные сжимались, последующие отъедали свободное место.

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

То что luks сломался я тоже не верю. Может он чинил не /dev/mapper/<dm_name>, а на самом разделе (/dev/sda1) запустил починку? И тогда понятно как все убил

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

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

потому что «удаленные» файлы в снапшотах

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

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

Вообще-то, я удалил и файлы, и снэпшоты. Место после этого не появилось, только после этого запустил починку.

проблема как воспроизвести это. дело в том, что я в разное время использовал LUKS + BTRFS, LVM + LUKS + BTRFS (чтобы раздел с btrfs и swap шифровались сразу). и я не столкнулся с такой проблемой. поэтому надо проверить память и сам ssd

uwuwuu
()