Jeśli próbujesz uruchomić xfs_repair , pojawia się komunikat o błędzie sugerujący zamontowanie systemu plików w celu odtworzenia dziennika, a po zamontowaniu nadal pojawia się ten sam komunikat o błędzie, może być konieczne wykonanie naprawy wymuszonej (użycie -L
flagi z xfs_repair
). Ta opcja powinna być ostatecznością.
Na przykład użyję przypadku, w którym miałem uszkodzoną partycję root w instalacji CentOS 7. Podczas próby zamontowania partycji ciągle pojawiał się następujący komunikat o błędzie:
mount: mount / dev / mapper / centos-root on / mnt / centos-root failed: Struktura wymaga czyszczenia
Niestety wymuszenie naprawy wymagałoby wyzerowania (zniszczenia) dziennika przed przystąpieniem do naprawy. Podczas korzystania z tej metody może dojść do większej liczby uszkodzonych danych, niż początkowo przewidywano; możemy jednak użyć odpowiednich narzędzi xfs, aby sprawdzić, jakie szkody mogą zostać spowodowane przed wprowadzeniem jakichkolwiek trwałych zmian.
Za pomocą xfs_metadump i xfs_mdrestore można utworzyć obraz metadanych dotkniętej partycji i wykonać wymuszoną naprawę obrazu, a nie samej partycji. Zaletą tego jest możliwość zobaczenia uszkodzeń, które pochodzą z wymuszonej naprawy przed wykonaniem jej na partycji.
Aby to zrobić, potrzebujesz porządnego rozmiaru USB lub zewnętrznego dysku twardego. Zacznij od zamontowania napędu USB - moje USB było zlokalizowane pod /dev/sdb1
, twoje może mieć inną nazwę.
mkdir -p /mnt/usb
mount /dev/sdb1 /mnt/usb
Po zamontowaniu uruchom, xfs_metadump
aby utworzyć kopię metadanych partycji na USB - ponownie, partycja, której dotyczy problem, może być inna. W tym przypadku miałem uszkodzoną partycję główną zlokalizowaną na /dev/mapper/centos-root
:
xfs_metadump /dev/mapper/centos-root /mnt/usb/centos-root.metadump
Następnie przywróć metadane do obrazu, abyśmy mogli wykonać naprawę i zmierzyć uszkodzenia.
xfs_mdrestore /mnt/usb/centos-root.metadump /mnt/usb/centos-root.img
Odkryłem, że w trybie ratunkowym xfs_mdrestore
nie jest dostępny, a zamiast tego musisz być w trybie ratunkowym na żywo z dysku CD CentOS.
Na koniec możemy wykonać naprawę obrazu:
xfs_repair -L /mnt/usb/centos-root.img
Po zakończeniu naprawy i dokonaniu oceny wydajności i potencjalnych uszkodzeń możesz ustalić, czy chcesz przeprowadzić naprawę partycji.
Aby uruchomić naprawę partycji, po prostu uruchom:
xfs_repair -L /dev/mapper/centos-root
Nie zapomnij również sprawdzić innych partycji pod kątem uszkodzeń. Po naprawach uruchom ponownie system i powinieneś być w stanie pomyślnie uruchomić system.
Pamiętaj, że -L
flaga powinna być używana w ostateczności, gdy nie ma innych możliwych opcji naprawy.
Odkryłem, że te artykuły online pomogły:
Miałem ten błąd, gdy centos 7 źle zatrzymał się na maszynie wirtualnej kvm:
wykryto uszkodzenie metadanych na XFS ...
kiedy używam loga z „dziennikactl -xe”, znalazłem błąd montowania:
/ dev / mapper / root / sysroot
Rozwiązuję to za pomocą:
xfs_repair / dev / mapper / root
Następnie system ukończy siedem faz, a następnie uruchom ponownie za pomocą
./zamknąć
A potem maszyna wirtualna centos 7 działa dobrze…
pozdrowienia
Uwaga: być może jesteś / dev / mapper / root masz inną nazwę, sprawdź dziennik błędów za pomocą dziennikactl -xe, aby znaleźć nazwę źle zamontowanego urządzenia
źródło