BTORFS BULL Błąd w jądrze 5.Top 10.X

BTORFS BULL Błąd w jądrze 5.Top 10.X
W jądrze 5 jest błąd.14.x, który powoduje, że system plików BTRFS przechodzi tylko do odczytu podczas konwersji profilu metadanych z pojedynczy Do dup. System plików trafia do stanu tylko do odczytu. Rozwiązanie tego problemu wymaga niekonwencjonalnej poprawki.

O profilach BTRFS

Jedną z wielkich cech BTRFS jest możliwość korzystania z różnych profili RAID. Ponieważ BTRFS przechowuje dane i metadane osobno, możesz przesłać dane w dyskach jako RAID0 i odzwierciedlać wszystkie metadane jako RAID1. Ta redundancja w metadanych wymaga niewiele dodatkowej przestrzeni. I jest to zalecane w konfiguracjach BTRFS RAID0.

Zawsze sugerowano, aby powielić metadane, nawet na jednym dysku, ponieważ utrata metadanych oznacza również utratę danych.

BTRFS jest w stanie zmienić profil RAID w systemie na żywo, konwertując dane i metadane w celu zapewnienia (lub usunięcia) redundancji. Dzieje się tak z balansować. Równowaga BTRFS ponownie napisuje wszystkie bloki systemu plików i dostosowuje się do dopasowania nowych profili.

Błąd

Próbowałem zmienić profil metadanych na moim pojedynczym dysku pojedynczy Do dup dla nadmiarowości.

$ sudo btrfs bilans start -mconvert = dup /mnt

System plików natychmiast trafił do stanu tylko do odczytu. System spadł. Po ponownym uruchomieniu nie mogłem ominąć ożywienia initamfs. Na dysku nie można zapisać żadnych danych.

Gdy operacja bilansu zostanie przerwana na systemie plików BTRFS, automatycznie wznawia się przy następnym systemie plików. Można to zwykle zatrzymać z:

$ sudo Mount -o skip_balance, rw /dev /sdx /mnt

Następnie anuluj w razie potrzeby za pomocą następującego polecenia:

$ sudo btrfs saldo anuluj /mnt

Jednak błąd nie tylko spowodował zablokowanie równowagi, ale opcje montażu, aby powstrzymać go przed kontynuowaniem. Za każdym razem, gdy system plików jest montowany, równowaga próbuje wznowić. Nie powiodło się, a system plików był tylko tylko odczytu. Jeśli to spotkasz, musisz uruchomić dowolne dystrybucję za pomocą starszego jądra. W moim przypadku był to łuk z 4.18.

Zamontuj system plików ze starszym Kenelem:

$ sudo Mount -o skip_balance, rw /dev /sdx /mnt

Anuluj saldo:

$ sudo btrfs saldo anuluj /mnt

Wykonaj równowagę ponownie:

$ sudo btrfs bilans start -mconvert = dup /mnt

Po zakończeniu równowagi możesz bezpiecznie uruchomić nowsze jądro, teraz z zduplikowanymi metadanami w systemie plików. Sprawdź profile używane przez system plików. Zobaczysz, że masz dwie kopie metadanych plików i tylko jedną kopię danych:

$ sudo btrfs fi użycie

Wniosek

BTRFS to niesamowity system plików zdolny do wielu zaawansowanych opcji. Jednak podczas korzystania z BTRFS powinieneś mieć działające kopie zapasowe, a także jądro rozruchowe z dystrybucji LTS w celu ratowania systemu. Mimo że równowaga można uruchomić na zamontowanym systemie plików root, nie zawsze zaleca się, aby to zrobić. Nadal jest wiele błędów w systemie plików. Powinieneś być przygotowany na ratowanie systemu plików, gdy moduł BTRFS nie został w pełni przetestowany na ziaren krwawienia.