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

Ustaw publiczny adres URL NextCloud, aby mógł się do siebie dodzwonić

Napraw ostrzeżenie Nextcloud o brakującym adresie wychodzącym, ustawiając jego kanoniczny adres URL i sprawdzając routing DNS, HTTPS i odwrotnego serwera proxy na samym serwerze.

Konfigurowanie buforowania Nextcloud Redis w systemie Ubuntu 24.04

Konfigurowanie buforowania Nextcloud Redis w systemie Ubuntu 24.04

Skonfiguruj APCu i Redis przez lokalne gniazdo Unix na potrzeby buforowania i blokowania plików w usłudze Nextcloud, wraz z instrukcjami dla bieżących i starszych wersji usługi Nextcloud.

Uruchom automatycznie Nextcloud Cron za pomocą timera Systemd

Sprawdź tryb cron Nextcloud, napraw usługę systemd i timer oraz zweryfikuj, czy zadania w tle są uruchamiane po uruchomieniu i co pięć minut.

Usuń ostrzeżenie o blokowaniu plików w NextCloud za pomocą Redis

Włącz niezawodne blokowanie plików Nextcloud, wybierz odpowiedni serwer Redis lub Valkey i sprawdź, czy ostrzeżenie zostanie usunięte bez ryzyka równoczesnych zmian w plikach.

Co jest potrzebne, aby uzyskać ocenę bezpieczeństwa Nextcloud A+

Co jest potrzebne, aby uzyskać ocenę bezpieczeństwa Nextcloud A+

Napraw typowe błędy skanowania Nextcloud dzięki bieżącym aktualizacjom, protokołom HTTPS i HSTS, precyzyjnemu zaufaniu do odwrotnego serwera proxy i sprawdzeniu względem serwera publicznego.

Włącz szyfrowanie po stronie serwera Nextcloud z mierzalnym wpływem

Skonfiguruj Nextcloud SSE dla pamięci masowej, która tego wymaga, chroń klucze szyfrujące i zmierz wpływ transferu i procesora przed zaszyfrowaniem istniejących plików.

Dodaj wyszukiwanie pełnotekstowe Elasticsearch do NextCloud

Połącz wyszukiwarkę plików Nextcloud z Elasticsearch, zindeksuj zawartość dokumentów i wybierz konfigurację odpowiadającą Twoim potrzebom w zakresie serwera i bezpieczeństwa.

Ustaw niezawodną politykę wygasania dla usuniętych plików w usłudze NextCloud

Ustaw niezawodną politykę wygasania dla usuniętych plików w usłudze NextCloud

Skonfiguruj Nextcloud tak, aby usuwał usunięte pliki po upływie określonego czasu przechowywania, niezawodnie planował zadania w tle i unikał poleceń, które usuwają śmieci każdego użytkownika.

Ostrzeżenie o braku indeksów bazy danych NextCloud

Ostrzeżenie o braku indeksów bazy danych NextCloud

Wykonaj bezpieczną naprawę OCC w Nextcloud, przejrzyj zmiany w bazie danych i sprawdź, dlaczego ostrzeżenie może nadal się pojawiać.

Zwiększ limit przesyłania danych do sieci w NextCloud powyżej 2 GB

Zwiększ limit przesyłania danych do sieci w NextCloud powyżej 2 GB

Zezwól na przesyłanie większych plików przez przeglądarkę Nextcloud, dostosowując ustawienia PHP, Nginx lub Apache, tymczasowego miejsca przechowywania i limitu czasu — i sprawdź, który limit blokuje plik.