it-swarm-eu.dev

Wie erzwinge ich das Trennen einer CIFS-Verbindung?

Ich habe eine CIFS-Freigabe auf einem Linux-Computer bereitgestellt. Der CIFS-Server ist inaktiv oder die Internetverbindung ist inaktiv, und alles, was den CIFS-Mount berührt, dauert einige Minuten bis zum Timeout und kann nicht beendet werden, während Sie warten. Ich kann nicht einmal ls in meinem Home-Verzeichnis ausführen, da ein Symlink im CIFS-Mount angezeigt wird und ls versucht, ihm zu folgen, um zu entscheiden, welche Farbe es haben soll. Wenn ich versuche, es umzumounten (auch mit -fl), hängt der Umount-Prozess genau wie ls. Nicht einmal Sudo kill -9 kann es töten. Wie kann ich den Kernel zwingen, die Bereitstellung aufzuheben?

140
smoofra

Ich benutze Lazy Unmount: umount -l (das ist ein Kleinbuchstabe L)

Lazy aussteigen. Trennen Sie das Dateisystem jetzt von der Dateisystemhierarchie und bereinigen Sie alle Verweise auf das Dateisystem, sobald es nicht mehr ausgelastet ist. (Erfordert Kernel 2.4.11 oder neuer.)

170
Kemal

umount -a -t cifs -l

hat für mich auf CentOS 6.3 wie ein Zauber gewirkt. Es hat mir einen Neustart des Servers erspart.

64
ivanlan

Auf RHEL 6 funktionierte dies:

umount -f -a -t cifs -l 
13
Andy Fraley

Das funktioniert bei mir (Ubuntu 13.10 Desktop auf einem Ubuntu 14.04 Server): -

 Sudo umount -f /mnt/my_share

Montiert mit

 Sudo mount -t cifs -o username=me,password=mine //192.168.0.111/serv_share /mnt/my_share

dabei ist serv_share das, auf das in der Datei smb.conf verwiesen wird.

7
Phil Johnson

Ich hatte dieses Problem einen Tag lang, bis ich die richtige Lösung gefunden hatte. Anstatt zu versuchen, das Aufheben der Bereitstellung einer gehängten smb-Freigabe zu erzwingen, stellen Sie die Freigabe mit der Option "soft" bereit. Wenn ein Prozess versucht, eine Verbindung zu der nicht verfügbaren Freigabe herzustellen, wird der Versuch nach einer bestimmten Zeit abgebrochen.

weich Machen Sie die Halterung weich. Dateisystemaufrufe schlagen nach einigen Sekunden fehl.

mount -t smbfs -o soft //[email protected]/share /users/username/smb/share

stat /users/username/smb/share/file
stat: /users/username/smb/share/file: stat: Operation timed out

Vielleicht ist es keine echte Antwort auf Ihre Frage, aber es ist eine Lösung für das Problem

7
jnice

Versuchen Sie es mit umount -f/mnt/share. Funktioniert einwandfrei mit NFS, noch nie mit CIFS ausprobiert.

Schauen Sie sich auch autofs an, es wird die Freigabe nur beim Zugriff mounten und danach wieder mounten.

Es gibt ein gutes Tutorial unter www.howtoforge.net

2
Sunny Milenov

Ich hatte ein sehr ähnliches Problem mit Davfs. In der Manpage von umount.davfs Habe ich festgestellt, dass die Optionen -f -l -n -r -v Von umount.davfs Ignoriert werden. Um das Mounten meines Davfs zu erzwingen, musste ich umount -i -f -l /media/davmount Verwenden.

2
umount -f -t cifs -l /mnt &

Sei vorsichtig mit &, Lass umount im Hintergrund laufen. umount wird zuerst das Dateisystem trennen, so dass Sie nichts über /mnt finden. Wenn Sie den Befehl df ausführen, wird umount /mnt Erzwungen.

1
zhjb7

Es gibt eine -f-Option zum Umounten, die Sie ausprobieren können:

umount -f /mnt/fileshare

Geben Sie die Option '-t cifs' zum Mounten an? Stellen Sie außerdem sicher, dass Sie nicht die Option 'hard' angeben, die eingehängt werden soll.

Vielleicht möchten Sie auch fusesmb berücksichtigen, da das Dateisystem im Userspace ausgeführt wird, können Sie es wie jeden anderen Prozess beenden.

1
Chris AtLee