Wie vermeide ich das Einfrieren von sshfs?

23

Das Problem ist also folgendes:

Ich habe sshfs unter Ubuntu 12.04 installiert und versuche, eine Verbindung zu einigen Remote-Servern herzustellen. Der Mount scheint also zunächst erfolgreich zu sein. Manchmal greift Gnome sogar zu und zeigt das Feld "Neues Gerät gefunden" am unteren Bildschirmrand an. aber von hier an funktioniert nicht mehr viel. Oder zumindest nicht mehr. Das erste Mal, als ich eine Verbindung herstellte, schien es gut zu funktionieren, und ich konnte einige Dateien übertragen. Dann trennte ich die Verbindung mit fusermount -u <folder>und nachdem ich sie ein wenig später wieder hergestellt hatte, begannen die Probleme. sshfs -o ServerAliveInterval=15 -o reconnect -C -o workaround=all -o idmap=user root@<host>:/ <folder>Wenn ich jetzt nach der Ausführung das Verzeichnis in den Mount-Punkt ändere, friert die Shell einfach ein. Seltsamerweise ls -al <folder>funktioniert das Auflisten nur der Wurzel des Remote-Systems, mehr aber nicht. Auch jeder Datei-Explorer, den ich ausprobiert habe, friert genauso ein cd <folder>.

Mir kam es so vor, als gäbe es eine Art Zombiethread oder etwas, das um mein System herum hängt, weil es das erste Mal funktioniert hat. Ich habe also versucht, einen Neustart durchzuführen, aber kein Glück.

sshfs -V gibt dies:

SSHFS version 2.3
FUSE library version: 2.8.6
fusermount version: 2.8.6
using FUSE kernel interface version 7.12

Also ja, irgendwelche Ideen?

Andreas Hagen
quelle

Antworten:

17

Wenn Sie sshfs mit gestartet haben -o reconnectund der SSH-Prozess hängt, wird die Verbindung wiederhergestellt .

Finden Sie zuerst die passende SSH, zum Beispiel:

ps -ef
...
user 9644 1 0 11:15 ? 00:00:00 ssh -x -a -oClearAllForwardings=yes -2 <host> -s sftp
...

Sie unterscheiden sich durch die verschiedenen Optionen und den Host, mit dem Sie sshfs verbunden haben. Dann töte es, reguläres SIGTERM sollte reichen:

kill 9644

Dies sollte dazu führen, dass SSHFS eine neue SSH-Sitzung startet und das gemountete Dateisystem wieder reagiert und alle daran hängenden Prozesse fortgesetzt werden, als wäre nichts passiert.

Beli
quelle
Zu Ihrer Information: Diese Lösung ist sehr nützlich, um die Robustheit unserer sshfs-Verbindungen zu verbessern: askubuntu.com/a/716618/327339 . Siehe auch # 11 in den FAQ hier: github.com/libfuse/sshfs/blob/master/FAQ
Gabriel Staples
1

Wie lange haben Sie auf die Auflösung des Einfrierens gewartet? Möglicherweise handelte es sich nur um Übertragungsprobleme zwischen Ihnen und dem betreffenden Server.

Ich benutze sshfs zwischen meinem System und dem eines Freundes, der in den Boonies lebt (offizielle Bezeichnung!). Er ist auf einem Funknetz, das gelegentlich ausfällt (wir glauben, sein Empfänger wedelt im Wind und verliert die Signalsperre).

Wenn ich warte, wird es schließlich synchronisiert und erledigt, aber gelegentlich bleibt es nur ein paar Minuten lang hängen.

Geduld GrassHopper!

Lornix
quelle
2
Ich habe versucht, ein bisschen zu warten, vielleicht 10-20 Minuten, aber kein Glück. Vielleicht braucht es nur ein paar Stunden? ^^,
Andreas Hagen
Man würde nicht hoffen !! Sie könnten versuchen , die Protokollierung in mit sshfs -d' or sshfs -o LogLevel = Debug` (oder ‚debug2‘) ausführlichem Modus einzuschalten ... sehen , ob alles erleuchtende gedruckt wird.
Lornix
0

Dies ist ein alter Beitrag und ich gebe keine ultimative Lösung dafür, aber ich glaube, ich hatte das gleiche Problem (auf Ubuntu 14.04) und in meinem Fall funktioniert das langsame Abmelden und erneutes Mounten (obwohl es ein bisschen ärgerlich ist):

fusermount -u -z /local/folder
sshfs -C user@server:/remote/folder /local/folder

Ich vermute, Sie haben nur zwischengespeicherte Ergebnisse mit angesehen ls -al <folder>.

Sheljohn
quelle