Ich habe mehrere Verzeichnisse über sshfs gemountet . Ich bekomme manchmal Verbindungsabbrüche vom Server (von mir nicht konfigurierbar). Normalerweise mounte ich die Verzeichnisse so
sshfs [email protected]:/home/user /mnt/example
Wenn ein Server die Verbindung trennt, wird das sshfs Subsystem nicht umount / befreien Sie das Verzeichnis , sondern sperrt sie unzugänglich. Die Halterung ist während der Eingabe weiterhin sichtbar mount
. Wenn ich tippe
ls /mnt/example
Der Prozess wird gesperrt (auch Ctrl+ chilft nicht). Ich mache deshalb
sudo umount -l /mnt/example
# find pid of corresponding process:
ps aux | grep example.com
kill -9 <pid of locked sshfs process>
Gibt es einen besseren Weg, damit umzugehen? Offensichtlich sollte sshfs das umount machen und aufräumen ... Idealerweise würde es sich automatisch wieder verbinden.
Antworten:
Sie können sshfs mit der Option "reconnect" ausführen. Wir verwenden sshfs mit PAM / automount, um Serverdateien für jede Workstation in unserem Netzwerk freizugeben. Wir verwenden -o reconnect als Parameter für sshfs, hauptsächlich, weil unsere Benutzer ihre Computer angehalten haben und sshfs beim Aufwachen keine Verbindung mehr herstellen (oder antworten oder so).
Zum Beispiel:
Nur eine Anmerkung: Wenn der Remote-Computer wirklich nicht verfügbar ist, reagiert sshfs möglicherweise für längere Zeit nicht mehr.
quelle
Dies kann durch Verringern des Timeouts umgangen werden. Ergänzen Sie
$HOME/.ssh/config
oder um/etc/ssh/ssh_config
:Dies führt zu einem Timeout von 45 Sekunden.
quelle
sshfs
das sich nicht mit dem Tod des zugrunde liegendenssh
Prozesses befasst.Ich habe einen Server, den ich für die Speicherung verwende, und aus Platzgründen bewahre ich ihn an einem anderen Ort auf. Um die Dateien in mein Netzwerk zu bringen, benutze ich einen Himbeer-Pi, der die Dateien vom Server mit sshfs mounten kann.
Vor kurzem musste ich wegen eines Stromausfalls auf Raspbian Jessie upgraden und stellte fest, dass sshfs ernsthaft instabil werden. Die Ordner wären ordnungsgemäß geladen, aber nach einiger Zeit könnte ich keine Verbindung zu ihnen herstellen, und der Himbeer-Pi würde einfrieren, wenn ich den Inhalt der Ladeflächen auflisten wollte.
Was ich versucht habe war:
aber keine Würfel! Bis ich die fstab-Datei wie folgt geändert habe:
Und es funktioniert! Keine Unterbrechungen mehr! Ich sehe so aus, als würde sshfs aus irgendeinem Grund die ssh-Konfigurationsdatei nicht lesen und die Keep-Alive-Signale wurden nie gesendet.
quelle
Das klingt nach einem Job für Autofs. Es ist ziemlich geschickt darin, Netzwerk-Mounts verschiedener Art (nfs, samba, sshfs, wie Sie es nennen) zu handhaben und zu bemerken, wann diese Dinge neu gemountet werden müssen. Es kann sich auch darum kümmern, sie nach Zeiträumen der Nichtbenutzung abzuhängen und sie anzuhängen, wenn eine Dateisystemanforderung gestellt wird.
quelle
Wenn immer noch Menschen auf dieses Problem stoßen, konnte ich es immer noch nicht beheben. Ich habe eine funktionierende Problemumgehung gefunden.
Das folgende Ruby-Skript hat es geschafft. Es erstellt immer wieder einen Ordner mit dem Namen "keepalive". Lass das einfach so lange laufen, bis es unendlich ist.
Ich weiß nicht warum das funktioniert. Aber es scheint mein Problem zu lösen, wenn ich für eine Minute inaktiv bin und alles einfriert. Es wird nur versucht, einen Ordner am Einhängepunkt zu erstellen, und das scheint zu verhindern, dass die Verbindung getrennt wird und alles irgendwie einfriert.
quelle
while true; do mkdir -p /x/y; sleep 2; done