Jak mogę sprawdzić partycję, gdy urządzenie czyta komunikat jako zajęty (ale potwierdzono inaczej)?


11

Próbuję uruchomić, fsck -p /dev/sda5aby naprawić błędy na partycji ext4, jednak polecenie wydaje

fsck from util-linux-ng 2.17.2
fsck.ext4: Device or resource busy while trying to open /dev/sda5
Filesystem mounted or opened exclusively by another program?

Potwierdziłem użycie /etc/mtabi lsofże nic nie korzysta z partycji i nie jest ona zamontowana. Zwykłem również fuser -k /dev/sda5przymusowo zamykać wszystko za pomocą pliku i umountpróbować odmontować go bezskutecznie.

Jak mogę wymusić fsckprzynajmniej sprawdzenie i, mam nadzieję, naprawę partycji, mimo że jest ona zajęta? Zakładając, że jestem wystarczająco pewny, że nie jest zamontowany ani używany, a możliwość uszkodzenia danych nie stanowi problemu.

Wszystkie polecenia zostały wykonane jako root z 32-bitowego liveCD Ubuntu 10.04. Partycja jest częścią systemową (inną niż domowa) 32-bitowej instalacji Ubuntu 10.04.


Znalazłem metodę rozwiązania większego problemu związanego z tym pytaniem, ale wciąż szukam odpowiedzi, jak wymusić, fsckjeśli uważasz, że urządzenie jest zajęte (lub dlaczego nie można tego zrobić).
Keeblebrox

Mam ten sam problem w systemie RHEL5.8. / tmp został odmontowany, / etc / mtab i / proc / mounts nie wykazują śladu systemu plików. Zrestartowałem nawet komputer i upewniłem się, że jestem jedynym zalogowanym. lsof nie pokazuje używanego pliku na / tmp. Ta sama procedura działa dobrze na 4 podobnych serwerach zainstalowanych przy użyciu tego samego profilu kickstart. Różnica między tymi serwerami a tym polega na tym, że ten ma podłączoną pamięć SAN. Czy demon wielościeżkowy może to powodować?
Bram

W moim przypadku nie pomogło, ale Red Hat KB ( access.redhat.com/knowledge/solutions/54184 ) zaleca dodanie opcji jądra nodmraid jako obejścia tego problemu.
Bram

Odpowiedzi:


4

Są rzeczy (zwykle w jądrze, takie jak wątki NFS, pliki wymiany, podłączenia mount itp.), Które mogą utrzymywać zajęty system plików, w którym się nie pojawi fuser.

Jeśli spróbujesz fsckzainstalować system plików, zostanie on uszkodzony. Powinieneś znaleźć płytę CD na żywo, która nie instaluje automatycznie systemów plików, takich jak Knoppix lub Fedora.


Do tej pory wszystko było uruchamiane z dysku na żywo. Próbuję fsckużyć lokalnego systemu plików, więc mam nadzieję, że NFS nie zajmuje się nim - ale rozumiem, co mówisz o jądrze, które zajmuje go w sposób, który niekoniecznie się pojawi. Ponieważ jednak wciąż zdarza się to w środowisku dysku na żywo, czy znasz sposób, aby powstrzymać jądro przed dostępem do niego na tyle długo, żebym mógł go uruchomić fsck?
Keeblebrox

Yikes. W użyciu z dysku na żywo? Mogę myśleć tylko o dwóch rzeczach: 1) Wypróbuj inny dysk na żywo (na przykład Fedora zamiast Ubuntu). 2) Sprawdź / etc / fstab w prawdziwym systemie. Może jest plik wymiany lub podłączenie, które włącza się automatycznie? Niekoniecznie w tej kolejności, mógłbym dodać ...
Steven Pritchard

OK, jakoś całkowicie przegapiłem ostatnią linię pytania. Odpowiednio zaktualizowałem swoją odpowiedź.
Steven Pritchard

+1, ponieważ twoja wzmianka o automatycznym montażu zamiennym doprowadziła do niezwiązanego przełomu, a twoje odpowiedzi pomogły rozwiązać większy problem. Nadal chcę znaleźć sposób na wymuszenie, fsckgdy wiem, że urządzenie nie jest zajęte ani zamontowane, a gdy uszkodzenie danych nie stanowi problemu.
Keeblebrox

Może mdadm wykrył sygnatury nalotów na partycji i się z nią związał? Sprawdź / proc / mdstat.
psusi


2

Spróbuj uruchomić inny liveCD - Polecam SystemRescueCD, który został zaprojektowany specjalnie do rozwiązywania problemów z instalacjami Linuksa. Jest także mniejszy niż typowe płyty CD live OS. Aby być bezpiecznym, biegnij fsckz konsoli (bez X).

Jeśli standard fsck -pnie działa, możesz także spróbować e2fsck -y -f.


Według strony man , e2fsck -y -fzmusza czek na czystej partycji. Nie wspomina nic o zamontowanych partycjach. Czy wiesz też, czy to wymusi czek?
Keeblebrox

Prawdopodobnie nie, ale zdecydowanie powinieneś unikać fsck-owego montowanego systemu plików (patrz akapity u góry strony e2fsckpodręcznika). Inna myśl: jeśli /etc/mtabwydaje się wskazywać, że partycja nie jest zamontowana, ale nadal pojawia się błąd, należy również sprawdzić /proc/mounts, ponieważ mtabplik może być nieaktualny z jakiegoś dziwnego powodu.
rozcietrzewiacz

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.