Tengo varios directorios montados a través de sshfs . A veces recibo desconexiones del servidor (no configurable por mí). Suelo montar los directorios así
sshfs [email protected]:/home/user /mnt/example
Cuando un servidor se desconecta, el subsistema sshfs no desmonta / libera el directorio, sino que lo bloquea inaccesible. La montura sigue siendo visible al escribir mount
. Cuando escribo
ls /mnt/example
el proceso se bloquea (también Ctrl+ cno ayuda). Por lo tanto hago
sudo umount -l /mnt/example
# find pid of corresponding process:
ps aux | grep example.com
kill -9 <pid of locked sshfs process>
¿Hay una mejor manera de lidiar con esto? Obviamente sshfs debería hacer el desmontaje y la limpieza ... Idealmente, se volvería a conectar automáticamente.
Respuestas:
Puede ejecutar sshfs con la opción "reconectar". Utilizamos sshfs con PAM / automount para compartir archivos de servidor para cada estación de trabajo en nuestra red. Usamos -o reconectar como parámetro para sshfs, principalmente porque nuestros usuarios suspendieron sus computadoras y al despertar sshfs no se reconectaron (ni respondieron, ni nada).
Por ejemplo:
Solo una nota, si la computadora remota está realmente inactiva, sshfs puede dejar de responder durante mucho tiempo.
fuente
Esto se puede solucionar disminuyendo el tiempo de espera. Agregue lo siguiente a
$HOME/.ssh/config
o/etc/ssh/ssh_config
:Esto da como resultado un tiempo de espera de 45 segundos.
fuente
sshfs
no trata conssh
gracia la muerte del proceso subyacente .Tengo un servidor que uso para el almacenamiento y, por falta de espacio donde vivo, lo guardo en otra ubicación. Para llevar los archivos a mi red, uso un raspberry pi que monta los archivos desde el servidor usando sshfs.
Recientemente tuve que actualizarme a raspbian jessie debido a una falla de energía y me di cuenta de que los sshfs se vuelven muy inestables. Las carpetas se montarían correctamente, pero después de un tiempo no podría conectarme a ellas y la frambuesa pi se congelaría si quisiera enumerar el contenido de las monturas.
Lo que probé fue:
pero no dados! Hasta que modifiqué el archivo fstab de la siguiente manera:
¡Y funciona! ¡No más desconexiones! Parece que sshfs no lee el archivo de configuración ssh por alguna razón y las señales de mantener vivo nunca se enviaron.
fuente
Esto suena como un trabajo para autofs. Es bastante hábil para manejar montajes de red de varios tipos (nfs, samba, sshfs, lo que sea) y darse cuenta de cuándo es necesario volver a montar esas cosas. También puede encargarse de desmontarlos después de períodos de desuso y montarlos cuando se realiza una solicitud del sistema de archivos.
fuente
Si todavía hay personas que se encuentran con este problema, todavía no podría solucionarlo. Encontré una solución alternativa.
El siguiente guión de rubí hizo el truco. Crea una carpeta llamada "keepalive" una y otra vez. Solo sigue ejecutando esto hasta el infinito.
No sé por qué funciona esto. Pero parece resolver mi problema cuando estoy inactivo por un minuto y todo se congela. Solo trata de crear una carpeta en el punto de montaje y eso parece evitar que se desconecte y congele todo de alguna manera.
fuente
while true; do mkdir -p /x/y; sleep 2; done