Como evitar o congelamento do sshfs?

Como evitar o congelamento do sshfs?

Instalei o sshfs no Ubuntu 12.04 e estou tentando me conectar a alguns servidores remotos.

Inicialmente a montagem parece bem-sucedida. Às vezes, o Gnome até o pega e exibe a caixa “novo dispositivo encontrado” na parte inferior da tela. Mas daqui em diante não há muito que funcione. Ou pelo menos não mais. Nas primeiras vezes que conectei, pareceu funcionar bem e consegui transferir alguns arquivos. Aí desconectei usando fusermount -u <folder>e depois de reconectar um pouco mais tarde o problema começou.

Agora, depois de executar sshfs -o ServerAliveInterval=15 -o reconnect -C -o workaround=all -o idmap=user root@<host>:/ <folder>, quando mudo o diretório para o ponto de montagem, o shell simplesmente congela. Estranhamente, ls -al <folder>funciona ao listar apenas a raiz do sistema remoto, mas nada mais. Além disso, todos os exploradores de arquivos que experimentei congelam como cd <folder>.

Para mim, parecia que havia algum tipo de tópico zumbi ou algo pendurado em meu sistema, devido ao fato de ter funcionado da primeira vez, então tentei reiniciar, mas sem sorte.

sshfs -Vdá isso:

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

Responder1

Se você iniciou o sshfs com -o reconnect, interromper o processo SSH suspenso fará com que ele se reconecte.

Primeiro encontre o SSH correspondente, por exemplo:

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

Você pode diferenciá-lo pelo conjunto distinto de opções e pelo host ao qual você estava conectando o sshfs. Então mate-o, o SIGTERM regular deve ser suficiente:

kill 9644

Isso deve fazer com que o SSHFS inicie uma nova sessão SSH e o sistema de arquivos montado responderá novamente e todos os processos pendentes continuarão como se nada tivesse acontecido.

Responder2

Use sshfs -o reconnect,ServerAliveInterval=1 your-remote-ssh: your-local-folderpara sshenviar mensagens ao servidor a cada segundo. Isso permitirá sshfsdetectar a desconexão rapidamente e reconectar automaticamente para evitar possíveis travamentos e congelamentos.

Responder3

Este é um post antigo e não estou dando uma solução definitiva para isso, mas acho que estava tendo o mesmo problema (no Ubuntu 14.04) e no meu caso a desmontagem e remontagem preguiçosas funcionam (embora seja um pouco chato):

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

Eu suspeito que você estava apenas olhando os resultados em cache com ls -al <folder>.

Responder4

Eu tive o mesmo problema - cddemorou quase perto do evento Big Boom.

O problema era muito simples - eu estava usando extensões Git para o shell e ele funcionava git statusnos bastidores. Isso significa que o Git teve que baixar muitos dados primeiro.

Mudar para o shell "sem extensão" resolveu os problemas com o cd.

informação relacionada