Kiedy SLES Btrfs przechodzi w tryb tylko do odczytu: diagnoza przed ponownym zamontowaniem

Jeśli system plików SUSE Linux Enterprise Btrfs zgłasza „System plików tylko do odczytu”, najpierw sprawdź, czy został on celowo zamontowany w trybie tylko do odczytu, czy też został przełączony w tryb tylko do odczytu po wystąpieniu błędu. Przed próbą ponownego zamontowania sprawdź opcje montowania, ilość wolnego miejsca i dziennik jądra. Użyj narzędzia Snapper Rollback, aby uzyskać zweryfikowaną migawkę systemu, która nadaje się do rozruchu. Jeśli system Btrfs zapisał błędy wejścia/wyjścia lub metadanych, zabezpiecz dane i zdiagnozuj ścieżkę pamięci masowej przed ponownym zapisem w systemie plików.

Polecenia terminala sprawdzające, czy system plików Btrfs /data jest zamontowany tylko do odczytu i wyświetlające listę jego urządzeń
Przykład sprawdza opcje montowania i identyfikuje urządzenie Btrfs, na którym znajduje się kopia zapasowa /data.

1. Odróżnij celowe montowanie w trybie tylko do odczytu od błędu systemu plików

Zastąp /dataodpowiednim punktem montowania lub /punktem root.

findmnt -T /data -o SOURCE,FSTYPE,OPTIONS
sudo btrfs filesystem show /data

W pierwszym poleceniu poszukaj w opcjach parametru rolub rw. Oczekuje się, że migawka Snappera tylko do odczytu odrzuci zapisy. Montowanie skonfigurowane za pomocą roparametru in /etc/fstabmoże być również celowe. System plików Btrfs może również przełączyć się w tryb tylko do odczytu po poważnych błędach transakcji, metadanych lub urządzenia. W takim przypadku wielokrotne uruchamianie mount -o remount,rwnie naprawi przyczyny i może natychmiast zakończyć się niepowodzeniem.

Jeżeli system plików został celowo zamontowany w trybie tylko do odczytu, jego urządzenie jest sprawne, a w dzienniku jądra nie ma błędów Btrfs ani błędów wejścia/wyjścia, normalne montowanie danych można ponownie zamontować w trybie tylko do odczytu i zapisu:

sudo mount -o remount,rw /data
findmnt -T /data -o TARGET,OPTIONS

Nie należy używać tego polecenia jako polecenia odzyskiwania dla uruchomionej migawki tylko do odczytu lub systemu plików tylko do odczytu wymuszonego błędem. Pomyślne ponowne zamontowanie potwierdza możliwość zapisu, a nie integralność systemu plików.

2. Sprawdź, czy problemem jest ciśnienie w pomieszczeniu

Przykład terminala porównujący zwykłą wolną przestrzeń z przydzieloną i nieprzydzieloną przestrzenią w systemie Btrfs
Porównaj wolną przestrzeń w systemie plików ze szczegółami alokacji w systemie Btrfs. Przykładowe wartości mają charakter poglądowy.

W systemie Btrfs może zabraknąć miejsca do alokacji, nawet gdy widok dysku podstawowego wygląda zaskakująco, ponieważ alokacja danych i metadanych jest śledzona oddzielnie. Sprawdź zarówno zwykłe wolne miejsce, jak i wykorzystanie Btrfs:

df -hT /data
sudo btrfs filesystem usage -T /data

Jeśli system zgłosi błąd No space left on device, a dziennik jądra nie wykaże awarii urządzeń ani błędów strukturalnych, przed usunięciem czegokolwiek sprawdź wykorzystanie Snappera:

sudo snapper list

Usuwaj tylko migawki, których utratę zezwala Ci polityka przechowywania, używając tej opcji sudo snapper delete SNAPSHOT_IDdla każdego wybranego identyfikatora. Zachowaj znaną, poprawną migawkę sprzed aktualizacji, jeśli potrzebujesz opcji wycofania; usunięcie migawek przywraca miejsce, ale usuwa punkty odzyskiwania. Czyszczenie może nie przywrócić miejsca od razu, a migawki nie naprawią błędów wejścia/wyjścia. Nie uruchamiaj równoważenia w celu wymuszenia zapisu w systemie plików tylko do odczytu; przenosi ono dane i jest przeznaczone do rozwiązania zdiagnozowanego problemu z alokacją w sprawnym, zapisywalnym systemie plików.

3. Przeczytaj dziennik jądra przed wyborem metody naprawy

Przykład terminala pokazujący komunikaty o błędach Btrfs i wejścia/wyjścia urządzeń blokowych w dzienniku jądra
Komunikaty jądra potrafią odróżnić błędy związane z brakiem miejsca od błędów odczytu, sumy kontrolnej lub urządzenia. Pokazane wiersze są przykładami.

Zwróć uwagę na pierwszy błąd Btrfs, błąd urządzenia blokowego, błąd kontrolera lub błąd transportu, a nie tylko na ostatni komunikat informujący, że system plików stał się tylko do odczytu:

sudo journalctl -k -b --no-pager | grep -Ei 'btrfs|I/O error|nvme|ata|scsi'

Komunikaty o nieudanych odczytach, niezgodnościach sum kontrolnych, brakujących urządzeniach lub błędach wejścia/wyjścia wskazują na inną ścieżkę niż prosta roopcja montowania. Sprawdź raportowany dysk, kontroler, RAID/HBA, SAN lub warstwę dysku wirtualnego oraz informacje o stanie dostawcy. Najpierw napraw niestabilny sprzęt lub łączność. Jeśli dane mają znaczenie, zminimalizuj liczbę zapisów i skontaktuj się z administratorem, aby utworzyć kopię zapasową lub obraz na poziomie bloku, zanim podejmiesz próbę naprawy systemu plików.

4. Wybierz najmniej ryzykowne leczenie zgodne z dowodami

Co znalazłeśNastępna czynnośćKompromis
rojest skonfigurowany lub miejsce zamontowania było celowo ustawione jako tylko do odczytu; brak istotnych błędów jądraPopraw konfigurację montowania, jeśli jest niezamierzona, lub ponownie zamontuj normalny, zapisywalny podwolumin po potwierdzeniu, że urządzenie jest sprawne.Szybko, ale ponowne zamontowanie nie może wyczyścić stanu „tylko do odczytu” wymuszonego błędem ani uczynić migawki „tylko do odczytu” zapisywalną.
Działa bootowalna migawka roota, a problem pojawił się po zmianie systemuUruchom i przetestuj migawkę, a następnie sudo snapper rollbackuruchom ponownie komputer, używając domyślnego wpisu.Przywraca podwolumin główny do stanu migawki. Dane w wykluczonych lub oddzielnych podwoluminach nie są wycofywane. System SLES 15 SP7 obsługuje to wycofywanie tylko w domyślnym układzie główny-podwolumin i systemie plików głównym z jednym urządzeniem.
Dziennik jądra zawiera błędy wejścia/wyjścia pamięci masowej lub błędy strukturalne BtrfsStabilizuj pamięć masową i zabezpieczaj dane; korzystaj ze środowiska ratunkowego i eskaluj w celu odzyskania danych specyficznych dla systemu plików.Wolniejszy, ale unika ukrywania nierozwiązanego problemu sprzętowego dzięki możliwości ponownego zamontowania z możliwością zapisu.
Zgłaszane są jedynie przypadki wyczerpania miejsca, błędy przechowywania nie występująSprawdź przechowywanie Snappera i dozwolone bezpłatne migawki lub dane, a następnie ponownie sprawdź użycie Btrfs.Zwalnia pojemność kosztem wybranych punktów odzyskiwania lub plików.
Przykład menu rozruchowego ze starszym wpisem wyróżnionym na liście migawek rozruchowych
Wybierz migawkę sprzed awarii, zweryfikuj rozruch testowy tylko do odczytu, a następnie, jeśli to rozwiąże problem, wykonaj wycofanie Snappera.

W systemie SLES, bootowalne migawki korzystają z domyślnej konfiguracji głównego katalogu Snapper. Katalog główny musi być w formacie Btrfs na jednym urządzeniu, bootloader musi go obsługiwać, a przywracany jest tylko podwolumin główny. Przed zatwierdzeniem należy zweryfikować kandydata; jeśli nie jest odpowiedni, należy uruchomić ponownie system lub środowisko ratunkowe. Zobacz procedurę przywracania katalogu Snapper w systemie SLES 15 SP7 .

Kiedy właściwe są kontrole offline lub czyszczenie

Jeżeli nie można zamontować systemu plików lub komunikaty jądra wskazują na uszkodzenie strukturalne, należy uruchomić system ratunkowy SLES lub inne odpowiednie środowisko odzyskiwania, zidentyfikować właściwe urządzenie i upewnić się, że jest ono odmontowane przed uruchomieniem domyślnego sprawdzenia w trybie tylko do odczytu:

sudo btrfs check /dev/DEVICE

Użyj rzeczywistego urządzenia blokowego Btrfs, a nie symbolu zastępczego punktu montowania. Sprawdzenie może zająć trochę czasu i pamięci oraz zgłosić błędy strukturalne; nie gwarantuje ono naprawy. Nie dodawaj go --repairjako rutynowego kolejnego kroku. Dokumentacja Btrfs ostrzega, że ​​naprawa może pogorszyć sytuację i powinna być stosowana wyłącznie pod nadzorem eksperta po zaakceptowaniu ryzyka związanego z danymi. Skontaktuj się ze wsparciem technicznym SUSE lub specjalistą Btrfs, gdy sprawdzenie zgłosi błędy lub urządzenie będzie miało błędy wejścia/wyjścia.

Po ustabilizowaniu pamięci masowej i zamontowaniu systemu plików do odczytu i zapisu, sudo btrfs scrub start -B /datamożliwe jest sprawdzenie sum kontrolnych. Scrub nie jest programem do sprawdzania struktury. Może naprawić uszkodzenia tylko w przypadku znanej, dobrej kopii zapasowej; w układzie z pojedynczą kopią wykrywa błędy, ale nie jest w stanie odtworzyć utraconych danych. Przeczytaj dokumentację Btrfs scrub . Zobacz również przewodnik po systemach plików SLES 15 SP7 firmy SUSE , artykuł SUSE o odzyskiwaniu danych z Btrfs oraz podręcznik sprawdzania Btrfs .

Sprawdź wynik

Po wybraniu opcji odzyskiwania sprawdź, czy miejsce zamontowania ma odpowiednie opcje i może wykonać bezpieczny zapis:

findmnt -T /data -o TARGET,SOURCE,FSTYPE,OPTIONS
sudo touch /data/.rw-check && sudo rm /data/.rw-check

Aby przywrócić migawkę roota, najpierw zrestartuj komputer i upewnij się, że system domyślny uruchamia się normalnie. Następnie sprawdź nowy dziennik jądra pod kątem powtarzających się błędów Btrfs lub urządzeń. Sama flaga odczytu i zapisu nie jest potwierdzeniem prawidłowego stanu: jeśli błędy się powtórzą, przerwij zapis i wróć do diagnostyki pamięci masowej.

Zostaw komentarz

Kiedy SLES Btrfs przechodzi w tryb tylko do odczytu: diagnoza przed ponownym zamontowaniem

Kiedy SLES Btrfs przechodzi w tryb tylko do odczytu: diagnoza przed ponownym zamontowaniem

Określ, czy system Btrfs jest celowo przeznaczony tylko do odczytu, ma mało miejsca lub chroni dane po błędach, a następnie wybierz ścieżkę odzyskiwania odpowiadającą danej przyczynie.

Rejestracja systemu SLES 15 za pomocą programu SUSE Manager w sieci offline

Rejestracja systemu SLES 15 za pomocą programu SUSE Manager w sieci offline

Przygotuj kanały lustrzane, utwórz klucz aktywacyjny i uruchom klienta SLES 15 bez bezpośredniego dostępu do Internetu, zachowując połączenie niezbędne do meldowania się menedżera.

Uruchomienie przekierowania X11 w YaST przez SSH

Uruchomienie przekierowania X11 w YaST przez SSH

Naprawiono błąd uruchamiania XIO w YaST przez SSH, zweryfikowano przekazywanie X11 i xauth oraz przełączono na interfejs ncurses, gdy zdalne okno nie jest potrzebne.

Bezpieczne przywracanie nieudanej aktualizacji SLES za pomocą Snappera

Bezpieczne przywracanie nieudanej aktualizacji SLES za pomocą Snappera

Znajdź migawkę Btrfs sprzed aktualizacji, przetestuj ją w trybie tylko do odczytu i wykonaj trwałe odzyskiwanie za pomocą Snapper, pamiętając o tym, które dane pozostają poza wycofaniem do katalogu głównego.

Bezpieczne przekazywanie dziennika systemowego SLES za pomocą rsyslog i wzajemnego protokołu TLS

Bezpieczne przekazywanie dziennika systemowego SLES za pomocą rsyslog i wzajemnego protokołu TLS

Wysyłaj logi systemu SLES do zdalnego kolektora rsyslog za pośrednictwem uwierzytelnionego protokołu TLS, z kontrolą certyfikatów, buforowaniem przerw i testami dostarczania.

Śledź błędy pamięci aktualizacji SLES przed ponowną próbą

Śledź błędy pamięci aktualizacji SLES przed ponowną próbą

Użyj pamięci RAM, wymiany, jądra i dzienników Zypper, aby zidentyfikować rzeczywiste obciążenie pamięci, chronić stan pakietu i wybrać bezpieczniejszą ponowną próbę aktualizacji SLES.

Utrzymywanie aktualizacji zabezpieczeń Debiana 12 na serwerze bez interfejsu graficznego

Utrzymywanie aktualizacji zabezpieczeń Debiana 12 na serwerze bez interfejsu graficznego

Włącz automatyczne aktualizacje zabezpieczeń Debiana przez SSH, zachowaj domyślne źródła pakietów i zweryfikuj zaplanowane uruchomienia za pomocą dzienników systemd i APT.

Otrzymuj ostrzeżenia dotyczące dysku SMART Ubuntu e-mailem za pomocą smartd

Otrzymuj ostrzeżenia dotyczące dysku SMART Ubuntu e-mailem za pomocą smartd

Porównaj opcje dostarczania poczty, skonfiguruj smartd w systemie Ubuntu i sprawdź, czy ostrzeżenia dotyczące stanu dysku docierają do Twojej skrzynki odbiorczej.

Niepowodzenia wyszukiwania DNS w systemie Debian 12: naprawa błędu systemd-resolved

Niepowodzenia wyszukiwania DNS w systemie Debian 12: naprawa błędu systemd-resolved

Przywróć wyszukiwania DNS w systemie Debian 12, sprawdzając systemd-resolved, naprawiając w razie potrzeby resolv.conf oraz weryfikując rozdzielczość DNS i aplikacji.

Ubuntu 24.04 nie wyświetla dźwięku HDMI? Przywróć wyjście

Ubuntu 24.04 nie wyświetla dźwięku HDMI? Przywróć wyjście

Spraw, aby Ubuntu wykrył monitor lub telewizor jako wyjście audio, wybierz je w ustawieniach dźwięku i sprawdź połączenie lub listę urządzeń PipeWire, jeśli brakuje złącza HDMI.