Comment éviter le gel de sshfs?

20

Le problème est donc le suivant:

J'ai installé sshfs sur Ubuntu 12.04 et j'essaie de me connecter à quelques serveurs distants. Donc au début, le montage semble réussi. Parfois, Gnome le détecte même et affiche le champ "nouveau périphérique trouvé" en bas de l'écran. mais à partir de là, il n'y a pas grand-chose qui fonctionne. Ou du moins pas plus. Les deux premières fois où je me suis connecté, cela semblait fonctionner correctement et j'ai pu transférer des fichiers, puis je me suis déconnecté en utilisant fusermount -u <folder>et après avoir reconnecté un peu plus tard, le problème a commencé. Maintenant, après exécution sshfs -o ServerAliveInterval=15 -o reconnect -C -o workaround=all -o idmap=user root@<host>:/ <folder>, lorsque je change de répertoire dans le point de montage, le shell se bloque. Cela ls -al <folder>fonctionne étrangement lorsque vous ne listez que la racine du système distant, mais rien de plus. De plus, chaque explorateur de fichiers que j'ai essayé gèle exactement cd <folder>.

Pour moi, il me semblait qu'il y avait une sorte de fil de zombie ou quelque chose qui traînait autour de mon système, car cela fonctionnait la première fois. J'ai donc essayé de redémarrer mais pas de chance.

sshfs -V donne ceci:

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

Alors oui, des idées?

Andreas Hagen
la source

Réponses:

15

Si vous avez démarré sshfs avec -o reconnect, l' abandon du processus SSH bloqué le fera reconnecter.

Commencez par trouver le SSH correspondant, par exemple:

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

Vous pouvez le distinguer en fonction de l’ensemble distinctif d’options et de l’hôte auquel vous vous connectiez à sshfs. Alors tuez-le, SIGTERM normal devrait suffire:

kill 9644

Cela devrait obliger SSHFS à démarrer une nouvelle session SSH et le système de fichiers monté redeviendra réactif et tous les processus en attente continueront comme si rien ne s'était passé.

Beli
la source
FYI: Cette solution semble très utile pour améliorer la robustesse de nos connexions sshfs : askubuntu.com/a/716618/327339 . Voir également le numéro 11 dans la FAQ ici: github.com/libfuse/sshfs/blob/master/FAQ
Gabriel Staples
1

Combien de temps avez-vous attendu la résolution du gel? C’est peut-être simplement un problème de transmission entre vous et le serveur en question.

J'utilise sshfs entre mon système et un ami qui vit dans les boonies (terme officiel!), Il se trouve sur un réseau sans fil terrestre qui tombe occasionnellement (nous pensons que son récepteur claque du vent, perd le verrouillage du signal).

Si j'attends, il finit par se synchroniser et faire des choses, mais de temps en temps, il ne reste que quelques minutes.

Patience GrassHopper!

Lornix
la source
2
J'ai essayé d'attendre un peu, peut-être 10-20 minutes, mais pas de chance. Peut-être que cela prend juste quelques heures? ^^,
Andreas Hagen le
J'espère que non !! Vous pouvez essayer de vous connecter avec sshfs -d' or sshfs -o LogLevel = Debug` (ou 'Debug2') pour activer le mode commenté ... voyez si quelque chose d'illuminant est imprimé.
Lornix
0

Ceci est un vieux post et je ne donne pas une solution ultime à cela, mais je pense avoir le même problème (sur Ubuntu 14.04) et dans mon cas, des travaux de démontage et de remontage paresseux (bien que ce soit un peu gênant):

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

Je suppose que vous ne cherchiez que les résultats en cache avec ls -al <folder>.

Sheljohn
la source