J'ai plusieurs répertoires montés via sshfs . Je reçois parfois des déconnexions du serveur (non configurable par moi). Je monte habituellement les répertoires comme celui-ci
sshfs [email protected]:/home/user /mnt/example
Lorsqu'un serveur se déconnecte, le sous-système sshfs ne démonte pas / ne libère pas le répertoire mais le verrouille à la place. Le montage est toujours visible lors de la frappe mount
. Quand je tape
ls /mnt/example
le processus est verrouillé ( Ctrl+ cn'aide pas non plus). Je fais donc
sudo umount -l /mnt/example
# find pid of corresponding process:
ps aux | grep example.com
kill -9 <pid of locked sshfs process>
Y a-t-il une meilleure façon de gérer cela? Évidemment, sshfs devrait faire le démontage et le nettoyage ... Idéalement, il se reconnecterait automatiquement.
Réponses:
Vous pouvez exécuter sshfs avec l'option "reconnecter". Nous utilisons sshfs avec PAM / automount pour partager des fichiers de serveur pour chaque poste de travail de notre réseau. Nous utilisons -o reconnect en tant que paramètre pour sshfs, principalement parce que nos utilisateurs ont suspendu leurs ordinateurs et que sake ne pourrait pas se reconnecter (ou répondre, ou quoi que ce soit d'autre).
Par exemple:
Juste une note, si l'ordinateur distant est vraiment en panne, sshfs peut ne plus répondre pendant un long moment.
la source
Cela peut être contourné en réduisant le délai d'attente. Ajoutez les éléments suivants à
$HOME/.ssh/config
ou/etc/ssh/ssh_config
:Cela entraîne un délai d'attente de 45 secondes.
la source
sshfs
ne traite pas la mort dussh
processus sous-jacent avec élégance.J'ai un serveur que j'utilise pour le stockage et pour un manque d'espace là où je vis, je le conserve dans un autre endroit. Afin d'amener les fichiers sur mon réseau, j'utilise un Raspberry Pi qui monte les fichiers à partir du serveur à l'aide de sshfs.
Récemment, j'ai dû passer à Jessica Raspbian en raison d'une panne de courant et me suis rendu compte que sshfs devenait sérieusement instable. Les dossiers seraient correctement montés, mais après un certain temps, je ne serais plus en mesure de me connecter et le Raspberry Pi se figerait si je souhaitais répertorier le contenu des supports.
Ce que j'ai essayé était:
mais pas de dés! Jusqu'à ce que j'ai modifié le fichier fstab comme suit:
Et il fonctionne! Pas plus de déconnexions! J'ai l'impression que sshfs ne lit pas le fichier de configuration ssh pour une raison quelconque et que les signaux de maintien en vie n'ont jamais été envoyés.
la source
Cela ressemble à un travail d'autofs. Il est plutôt apte à gérer des montages réseau de différents types (nfs, samba, sshfs, etc.) et à remarquer le moment où ces éléments doivent être remontés. Il peut également s'occuper de les démonter après des périodes d'inutilisation et de les monter lorsqu'une demande de système de fichiers est faite.
la source
Si certaines personnes rencontrent encore ce problème, je ne peux toujours pas le résoudre. J'ai trouvé une solution de contournement.
Le script ruby suivant a fait l'affaire. Il crée un dossier appelé "keepalive" à plusieurs reprises. Continuez à courir jusqu'à l'infini.
Je ne sais pas pourquoi cela fonctionne. Mais cela semble résoudre mon problème de rester inactif pendant une minute et de tout geler. Il essaie simplement de créer un dossier au point de montage, ce qui semble l'empêcher de tout déconnecter et de tout geler.
la source
while true; do mkdir -p /x/y; sleep 2; done