Ich habe ein NFS-gemountetes Verzeichnis auf einem Linux-Computer, der hängen geblieben ist. Ich habe versucht, ein Abhängen 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 " mount
" eingebe, scheint das Verzeichnis nicht mehr gemountet zu sein, aber es hängt, wenn ich " ls /mnt/data
" mache , und wenn ich versuche, den Mountpoint zu entfernen, erhalte ich:
$ rmdir /mnt/data
rmdir: /mnt/data: Device or resource busy
Kann ich etwas anderes tun, als den Computer neu zu starten?
--force
wird sich mehr bemühen, die Montage aufzuheben, und /-v
oder-vvv
sogar mehr enthüllen, was das Problem mit der Montage ist. Also versuchen Sie:umount -vvv --force /badmount
Antworten:
Sie könnten versuchen, faul abzusteigen:
quelle
lsof
). Ich habe das Problem verursacht, indem ich aus einem Sicherungsskript ausgebrochen bin, das ich schreibe. Das Skript mounten und unmounten das Verzeichnis, aber etwas über das Ausbrechen hatrsync
mein Mount durcheinander gebracht. Ich wusste nichts über das faule Absteigen. Möglicherweise hat das NAS-Gerät alle Probleme verursacht. Nach dem erfolgreichen Abmelden stellte sich heraus, dass ich das Gerät neu starten musste, bevor ich es erneut bereitstellen konnte.fusermount -uz /path/to/file
. Hat einen Zauber für mich gewirkt! :)Wenn der NFS-Server verschwunden ist und Sie ihn nicht wieder online schalten können, besteht ein Trick 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 ist ungefähr so:
Wobei 192.0.2.55 die IP des NFS-Servers ist, der verschwunden ist. Sie sollten dann in der Lage sein, die Adresse zu pingen, und Sie sollten auch in der Lage sein, die Bereitstellung des Dateisystems aufzuheben (verwenden Sie unmount -f). Sie sollten dann die Alias-Schnittstelle zerstören, damit Sie den Datenverkehr nicht mehr an sich selbst weiterleiten:
FreeBSD und ähnliche Betriebssysteme
Der Befehl wäre ungefähr so:
Und dann, um es zu entfernen:
Mann ifconfig (8) für mehr!
quelle
ifconfig eth0:fakenfs ...' and
umount -f -l / my / mount / dir 'löste das Problem für mich.ifconfig eth0:fakenfs delete
? Oder suche ich etwas anderes? Wieifconfig eth0 delete 192.0.2.55
?ifconfig eth0:fakenfs down
.Versuche zu rennen
Das sollte jeden Prozess auflisten, der auf / mnt / data zugreift, der verhindern würde, dass die Bereitstellung aufgehoben wird.
quelle
Ich hatte das gleiche Problem, und weder
umount /path -f
, wederumount.nfs /path -f
, wederfuser -km /path
, WerkeEndlich habe ich eine einfache Lösung gefunden>. <
sudo /etc/init.d/nfs-common restart
, dann lass uns das einfach machenumount
;-)quelle
umount -f -l ...
sudo service nfs-kernel-server restart
, aber Ihre Antwort hat mich definitiv auf den richtigen Weg gebracht, danke!Ihr NFS-Server ist verschwunden.
Idealerweise ist es am besten, wenn der NFS-Server zurückkommt.
Wenn nicht, hätte das "umount -f" den Trick machen sollen. Es funktioniert nicht IMMER, wird es aber oft.
Wenn Sie zufällig wissen, welche Prozesse das NFS-Dateisystem verwenden, können Sie versuchen, diese Prozesse zu beenden, und dann funktioniert möglicherweise ein Unmount.
Schließlich würde ich vermuten, dass Sie neu starten müssen.
Montieren Sie Ihre NFS-Laufwerke auch NICHT soft. Sie verwenden Hard-Mounts, um sicherzustellen, dass sie funktionieren. Das ist notwendig, wenn Sie schreiben.
quelle
Konnte hier keine funktionierende Antwort finden; Aber unter Linux können Sie "umount.nfs4 / volume -f" ausführen und die Bereitstellung wird definitiv aufgehoben.
quelle
umount -f /some/mountpoint
ist das gleiche wieumount.nfs4 /some/mountpoint -f
.umount
Anrufeumount.nfs
, bleibt für immer hängen (unabhängig von der Option).umount.nfs4 /mnt -f
dauert ziemlich lange, ist aber abgeschlossen.umount.nfs4 /mnt -l
wird sofort abgeschlossen (möglicherweise, weil nicht auf Prozesse gewartet wird).