Mam katalog zamontowany w systemie plików NFS na komputerze z systemem Linux, który zawiesił się. Próbowałem wymusić odmontowanie, ale to nie działa:
$ umount -f /mnt/data
$ umount2: Device or resource busy
$ umount: /mnt/data: device is busy
Jeśli wpiszę „ mount
”, wygląda na to, że katalog nie jest już zamontowany, ale zawiesza się, jeśli to zrobię „ ls /mnt/data
”, a jeśli spróbuję usunąć punkt montowania, otrzymuję:
$ rmdir /mnt/data
rmdir: /mnt/data: Device or resource busy
Czy jest coś, co mogę zrobić poza ponownym uruchomieniem komputera?
--force
będzie starać odmontować i-v
ani-vvv
nawet ujawni więcej na czym polega problem z montażu. Więc spróbuj:umount -vvv --force /badmount
Odpowiedzi:
Możesz spróbować leniwego odmontowania:
źródło
lsof
). Problem spowodowałem wyłamaniem się ze skryptu kopii zapasowej, który piszę. Skrypt montuje i odmontowuje katalog, ale coś o wyrwaniu się z niegorsync
pomieszanego montowania. Nie wiedziałem o leniwym odmontowaniu. Może to urządzenie NAS powodowało wszystkie problemy. Po pomyślnym odmontowaniu okazało się, że muszę zrestartować urządzenie zanim będę mógł je ponownie zamontować.fusermount -uz /path/to/file
. Zadziałało na mnie! :)Jeśli serwer NFS zniknął i nie można go przywrócić online, jedną sztuczką, której używam, jest dodanie aliasu do interfejsu z adresem IP serwera NFS (w tym przykładzie 192.0.2.55).
Linux
Polecenie to wygląda mniej więcej tak:
Gdzie 192.0.2.55 to adres IP serwera NFS, który zniknął. Powinieneś wtedy być w stanie pingować adres, a także powinieneś być w stanie odmontować system plików (użyj unmount -f). Następnie powinieneś zniszczyć aliasowany interfejs, aby nie kierować ruchu do starego serwera NFS do siebie za pomocą:
FreeBSD i podobne systemy operacyjne
Polecenie wyglądałoby mniej więcej tak:
A następnie, aby go usunąć:
man ifconfig (8) po więcej!
źródło
ifconfig eth0:fakenfs ...' and
umount -f -l / my / mount / dir 'rozwiązała problem za mnie.ifconfig eth0:fakenfs delete
? A może szukam czegoś innego? Lubiszifconfig eth0 delete 192.0.2.55
?ifconfig eth0:fakenfs down
powinno załatwić sprawę .Spróbuj biegać
Powinien zawierać listę wszystkich procesów uzyskujących dostęp do / mnt / data, które uniemożliwiłyby odmontowanie go.
źródło
Miałem ten sam problem, ale ani jedno
umount /path -f
, aniumount.nfs /path -f
drugiefuser -km /path
działaw końcu znalazłem proste rozwiązanie>. <
sudo /etc/init.d/nfs-common restart
, więc zróbmy prosteumount
;-)źródło
umount -f -l ...
sudo service nfs-kernel-server restart
, ale Twoja odpowiedź zdecydowanie zaprowadziła mnie na właściwą ścieżkę, dzięki!Twój serwer NFS zniknął.
Najlepiej byłoby, gdyby wrócił serwer NFS.
Jeśli nie, "umount -f" powinno załatwić sprawę. ZAWSZE nie działa, ale często tak.
Jeśli wiesz, jakie procesy KORZYSTUJĄ z systemu plików NFS, możesz spróbować je zabić, a wtedy może zadziała odmontowanie.
Wreszcie, myślę, że musisz ponownie uruchomić komputer.
NIE montuj też miękko dysków NFS. Używasz mocowań twardych, aby zagwarantować, że zadziałały. Jest to konieczne, jeśli piszesz.
źródło
Nie udało się znaleźć tutaj działającej odpowiedzi; ale na Linuksie możesz uruchomić "umount.nfs4 / volume -f" i zdecydowanie odmontuje to.
źródło
umount -f /some/mountpoint
to to samo, coumount.nfs4 /some/mountpoint -f
.umount
wywołaniaumount.nfs
, zawiesza się na zawsze (niezależnie od opcji).umount.nfs4 /mnt -f
trwa dość długo, ale kończy.umount.nfs4 /mnt -l
kończy się natychmiast (być może dlatego, że nie czeka na procesy).