SSHFS-ordnungsgemäße Verschlechterung statt Einfrieren, wenn die Verbindung unterbrochen wird. Ist es möglich?

10

Ein Programm eines Drittanbieters schreibt Dateien in ein von SSHFS bereitgestelltes Verzeichnis. Wenn die Internetverbindung unterbrochen wird, stürzt das Programm eines Drittanbieters wahrscheinlich (schlecht) ab, da alle Programme, die versuchen, in einem solchen Zustand (wenn keine Internetverbindung besteht) auf ein solches SSHFS-Verzeichnis zuzugreifen, in einen Zustand versetzt werden, den manche als "unterbrechungsfrei" bezeichnen Schlaf". SSHFS bietet eine Option zum automatischen erneuten Herstellen der Verbindung, dies hilft jedoch nicht, da das Programm eines Drittanbieters immer noch hängt (und abstürzt), wenn die Verbindung unterbrochen wird (obwohl SSHFS das Verzeichnis erneut bereitstellt, wenn die Verbindung wiederhergestellt wird). Autofs helfen nicht, im Grunde geht es um das Verhalten von SSHFS, wenn die Verbindung unterbrochen wird. Warum kann es sich nicht wie ein freigegebenes Netzwerkverzeichnis (Samba oder andere Mittel) verhalten und einfach eher früher als ... nie einen Fehler zurückgeben?

Gibt es Alternativen zu SSHFS, wenn SSHFS nicht wie beschrieben funktioniert?

Andere Information:

Betriebssystem: Ich verwende Ubuntu Linux (12.04 LTS)

Andrei
quelle
Bitte erklären Sie, was genau Sie tun. Ich stelle mir vor, Sie mounten ein Remote-Dateisystem mit sshfs auf einem lokalen Linux-Computer. Ist das so? Vielleicht auch Ihre /etc/fstab? Haben Sie Autofs mit dieser softOption ausprobiert ?
Terdon
@terdon Ein Programm eines Drittanbieters schreibt Dateien in ein SSHFS-Verzeichnis. Wenn die Internetverbindung unterbrochen wird, stürzt das Programm eines Drittanbieters wahrscheinlich (schlecht) ab. SSHFS bietet eine Option zum automatischen erneuten Herstellen der Verbindung, dies hilft jedoch nicht, da das Programm eines Drittanbieters immer noch hängt (und abstürzt), wenn die Verbindung unterbrochen wird (obwohl SSHFS das Verzeichnis erneut bereitstellt, wenn die Verbindung wiederhergestellt wird). Autofs helfen nicht, im Grunde geht es um das Verhalten von SSHFS, wenn die Verbindung unterbrochen wird. Warum kann es sich nicht wie ein freigegebenes Netzwerkverzeichnis (Samba oder andere Mittel) verhalten und einfach eher früher als ... nie einen Fehler zurückgeben?
Andrei
Vielen Dank für das Update, aber bitte nehmen Sie es in Ihre Frage auf, da nicht jeder die Kommentare liest. Fügen Sie auch die von Ihnen verwendeten Konfigurationsdateien hinzu. Was ist der Wert für SSH-Timeout usw.? Ich sage nicht, dass ich weiß, wie die Antwort lautet. Je mehr Informationen Sie in Ihrer Frage haben, desto wahrscheinlicher ist es, dass Sie eine gute Antwort erhalten. Derzeit ist es schwer zu verstehen, was genau Ihr Setup ist.
Terdon
@terdon Danke, ich habe meine Frage jetzt im Grunde fast komplett ersetzt.
Andrei
Viel besser :). Bitte fügen Sie auch das verwendete Betriebssystem hinzu. Ist das Linux, OSX, ein anderes Unix?
Terdon

Antworten:

0

Kurz gesagt: Nein - da das Einfrieren von der Anwendung stammt, ist der sshfs-Fehler ordnungsgemäß - er weist die Anwendung an, zu warten. - Die Tatsache, dass die Anwendung dies nicht respektiert, ist nicht die Schuld von SSHFS.

Die Anwendung würde genau das Gleiche tun, wenn sie auf eine Datei auf einem Wechselspeicher wie einem USB-Laufwerk zugreifen würde und Sie sie entfernen würden. Die Anwendung muss die Timeout-Ereignisse in E / A erfassen und verarbeiten, anstatt nur auf die Antwort zu warten.

djsmiley2kStaysInside
quelle
0

Trauriges Problem. Ich habe sshfs in der Vergangenheit mehrmals ausprobiert.

Sobald die Verbindung unterbrochen wird, frieren Anwendungen, die auf Dateien im bereitgestellten Ordner zugreifen, ein und stürzen ab. Sogar Terminals. ABER die Anwendungen wissen nicht einmal, dass sie warten. Es ist etwas auf Kernel-Ebene, das nicht mit sshfs umgehen kann, das ihnen sagt, sie sollen ewig warten ... selbst das Aufheben der Bereitstellung funktioniert nicht und friert manchmal sogar ein, weil der bereitgestellte Ordner auf der Kernel-Ebene des Dateisystems irgendwie gesperrt ist.

Warum passiert das nicht, wenn ich ein USB-Laufwerk ausstecke?

Dieses Problem besteht seit Jahren ...

Die automatische Wiederverbindung hilft nicht, wenn Sie zu keinem Zeitpunkt eine Verbindung wiederherstellen können. (In meinem Fall laufen Kerberos-Zecken aus).

Entschuldigung, aber ich muss sagen : sshfs ist unbrauchbar!
(außer in Fällen, in denen eine Verbindung niemals verloren geht)

Ich benutze stattdessen immer scp. Trauriges Problem

Bugpulver
quelle