¿Cómo evitar la congelación de sshfs?

¿Cómo evitar la congelación de sshfs?

Instalé sshfs en Ubuntu 12.04 y estoy intentando conectarme a un par de servidores remotos.

Inicialmente, el montaje parece exitoso. A veces, Gnome incluso lo recoge y muestra el cuadro "nuevo dispositivo encontrado" en la parte inferior de la pantalla. Pero de aquí en adelante no hay mucho que funcione. O al menos ya no. Las primeras veces que me conecté pareció funcionar bien y pude transferir algunos archivos. Luego desconecté el uso fusermount -u <folder>y después de volver a conectarme un poco más tarde comenzó el problema.

Ahora, después de ejecutar sshfs -o ServerAliveInterval=15 -o reconnect -C -o workaround=all -o idmap=user root@<host>:/ <folder>, cuando cambio de directorio al punto de montaje, el shell simplemente se congela. Curiosamente, ls -al <folder>funciona cuando se enumera solo la raíz del sistema remoto, pero nada más. Además, todos los exploradores de archivos que he probado se congelan como cd <folder>.

Para mí, parecía como si hubiera algún tipo de hilo zombie o algo rondando por mi sistema, debido al hecho de que funcionó la primera vez, así que intenté reiniciar pero no tuve suerte.

sshfs -Vda esto:

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

Respuesta1

Si inició sshfs con -o reconnect, eliminar el proceso SSH bloqueado hará que se vuelva a conectar.

Primero busque el SSH correspondiente, por ejemplo:

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

Puede distinguirlo por el conjunto distintivo de opciones y el host al que estaba conectando sshfs. Luego elimínelo, SIGTERM normal debería ser suficiente:

kill 9644

Esto debería hacer que SSHFS inicie una nueva sesión SSH y el sistema de archivos montado volverá a responder y todos los procesos que se encuentran en él continuarán como si nada hubiera pasado.

Respuesta2

Úselo sshfs -o reconnect,ServerAliveInterval=1 your-remote-ssh: your-local-folderpara sshenviar mensajes al servidor cada segundo. Esto permitirá sshfsdetectar la desconexión rápidamente y volver a conectarse automáticamente para evitar posibles bloqueos y congelaciones.

Respuesta3

Esta es una publicación antigua y no estoy dando una solución definitiva, pero creo que estaba teniendo el mismo problema (en Ubuntu 14.04) y en mi caso el desmontaje y remontaje lento funciona (aunque es un poco molesto):

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

Sospecho que solo estabas mirando resultados almacenados en caché con ls -al <folder>.

Respuesta4

Tuve el mismo problema: cdme tomó un tiempo casi cercano al evento Big Boom.

El problema era muy simple: he estado usando extensiones de Git para el shell y se ejecutaba git statusbajo el capó. Significa que Git tuvo que descargar una gran cantidad de datos primero.

Cambiar al shell "sin extensiones" resolvió los problemas con cd.

información relacionada