Unmount des NFS-gemounteten Verzeichnisses erzwingen [geschlossen]
Frage
Ich habe ein NFS-gemountetes Verzeichnis auf einem Linux-Rechner, das hängengeblieben ist.Ich habe versucht, ein Unmounten zu erzwingen, aber es scheint nicht zu funktionieren:
$ umount -f /mnt/data
$ umount2: Device or resource busy
$ umount: /mnt/data: device is busy
Wenn ich „tippe“mount
", es scheint, dass das Verzeichnis nicht mehr gemountet ist, aber es bleibt hängen, wenn ich es tue "ls /mnt/data
", und wenn ich versuche, den Mountpoint zu entfernen, erhalte ich Folgendes:
$ rmdir /mnt/data
rmdir: /mnt/data: Device or resource busy
Kann ich etwas anderes tun, als die Maschine neu zu starten?
Lösung
Sie könnten es mit einem Lazy-Unmount versuchen:
umount -l
Andere Tipps
Wenn der NFS-Server verschwunden ist und Sie ihn nicht wieder online schalten können, besteht ein Trick, den ich verwende, darin, der Schnittstelle einen Alias mit der IP des NFS-Servers hinzuzufügen (in diesem Beispiel 192.0.2.55).
Linux
Der Befehl dafür lautet ungefähr so:
ifconfig eth0:fakenfs 192.0.2.55 netmask 255.255.255.255
Wobei 192.0.2.55 die IP des NFS-Servers ist, der verschwunden ist.Sie sollten dann in der Lage sein, die Adresse anzupingen und auch das Dateisystem auszuhängen (verwenden Sie unmount -f).Anschließend sollten Sie die Alias-Schnittstelle zerstören, damit Sie den Datenverkehr nicht mehr an den alten NFS-Server zu sich selbst weiterleiten, indem Sie Folgendes tun:
ifconfig eth0:fakenfs down
FreeBSD und ähnliche Betriebssysteme
Der Befehl würde etwa so lauten:
ifconfig em0 alias 192.0.2.55 netmask 255.255.255.255
Und dann, um es zu entfernen:
ifconfig em0 delete 192.0.2.55
man ifconfig(8) für mehr!
Versuchen Sie es mit Laufen
lsof | grep /mnt/data
Darin sollten alle Prozesse aufgelistet sein, die auf /mnt/data zugreifen und verhindern würden, dass die Bereitstellung aufgehoben wird.
Ich hatte das gleiche Problem, und
weder umount /path -f
,
weder umount.nfs /path -f
,
weder fuser -km /path
,
Werk
Endlich habe ich eine einfache Lösung gefunden >.<
sudo /etc/init.d/nfs-common restart
, dann machen wir das Einfache umount
;-)
Ihr NFS-Server ist verschwunden.
Im Idealfall ist es am besten, wenn der NFS-Server zurückkommt.
Wenn nicht, hätte „umount -f“ den Zweck erfüllen sollen.Es funktioniert nicht IMMER, aber oft schon.
Wenn Sie zufällig wissen, welche Prozesse das NFS-Dateisystem verwenden, Sie könnten versuchen, diese Prozesse zu beenden, und dann würde vielleicht ein Unmount funktionieren.
Schließlich würde ich vermuten, dass Sie einen Neustart durchführen müssen.
Mounten Sie Ihre NFS-Laufwerke außerdem NICHT per Softmount.Sie verwenden Hard-Mounts, um sicherzustellen, dass dass sie funktionierten.Das ist notwendig, wenn Sie schreiben.
Konnte hier keine funktionierende Antwort finden;aber unter Linux können Sie „umount.nfs4 /volume -f“ ausführen und es wird definitiv ausgehängt.