Qual é a melhor maneira de lidar com desconexões de servidor de montagens sshfs?

55

Eu tenho vários diretórios montados através de sshfs . Eu às vezes fico desconectado do servidor (não configurável por mim). Eu costumo montar os diretórios como este

sshfs [email protected]:/home/user /mnt/example

Quando um servidor se desconecta, o subsistema sshfs não desmonta / libera o diretório, mas o bloqueia inacessível. A montagem ainda é visível ao digitar mount . Quando eu digito

ls /mnt/example

o processo fica bloqueado (também Ctrl + c não ajuda). Eu, portanto, faço

sudo umount -l /mnt/example
# find pid of corresponding process:
ps aux | grep example.com
kill -9 <pid of locked sshfs process>

Existe uma maneira melhor de lidar com isso? Obviamente, o sshfs deve fazer o umount e limpar ... O ideal seria se reconectar automaticamente.

    
por Sebastian 01.06.2011 / 12:00

5 respostas

44

Você pode executar o sshfs com a opção "reconectar". Usamos o sshfs com o PAM / automount para compartilhar arquivos do servidor para cada estação de trabalho em nossa rede. Usamos -o reconectamos como parâmetro para o sshfs, principalmente porque nossos usuários suspendiam seus computadores e, no wake, o sshfs não se reconectava (nem respondia, nem nada).

Por exemplo:

sshfs [email protected]:/home/mvaldez/REMOTE /home/mvaldez/RemoteDocs -o reconnect,idmap=user,password_stdin,dev,suid

Apenas uma nota, se o computador remoto estiver realmente inativo, o sshfs pode parar de responder por um longo tempo.

    
por 18.06.2012 / 11:30
10

Isso pode ser contornado diminuindo o tempo limite. Adicione o seguinte a $HOME/.ssh/config ou /etc/ssh/ssh_config :

ServerAliveInterval 15
ServerAliveCountMax 3

Isso resulta em um tempo limite de 45 segundos.

    
por 17.06.2012 / 02:59
3

Isso soa como um trabalho para o autofs. É bastante competente em lidar com montagens de rede de vários tipos (nfs, samba, sshfs, o nome dele) e perceber quando essas coisas precisam ser montadas novamente. Ele também pode cuidar de desmontá-los após períodos de desuso e montá-los quando uma solicitação do sistema de arquivos for feita.

    
por 01.06.2011 / 12:17
2

Eu tenho um servidor que eu uso para armazenamento e por alguma falta de espaço onde eu moro, eu o mantenho em outro local. Para trazer os arquivos para a minha rede eu uso um pi de framboesa que monta os arquivos do servidor usando o sshfs.

Recentemente eu tive que atualizar para o raspbian jessie devido a uma falha de energia e percebi que o sshfs se tornou seriamente instável. As pastas seriam montadas corretamente, mas depois de algum tempo eu não seria capaz de me conectar a elas e o pi de framboesa congelaria se eu quisesse listar o conteúdo das montagens.

O que eu tentei foi:

  1. usado reconectar no fstab
  2. usou o ServerAliveInterval e o ServerAliveCountMax no arquivo .ssh / config, mas sem sucesso.
  3. outras soluções que leio na maioria dos fóruns.

mas sem dados! Até que eu modifiquei o arquivo fstab da seguinte forma:

sshfs#user@server:/remote/folder /local/mount/dir fuse IdentityFile=sshkeyfile,Port=XXX,uid=1000,gid=1000,allow_other,_netdev,ServerAliveInterval=45,ServerAliveCountMax=2,reconnect,noatime,auto 0 0

E isso funciona! Não há mais desconexões! Parece que o sshfs não lê o arquivo de configuração ssh por algum motivo e os sinais keep alive nunca foram enviados.

    
por 23.05.2017 / 15:49
0

Se ainda houver pessoas encontrando esse problema, ainda não consegui corrigi-lo. Eu encontrei uma solução alternativa de trabalho.

O seguinte script de ruby fez o truque. Cria uma pasta chamada "keepalive" repetidamente. Continue correndo até o infinito.

$i =1 
$num =0
begin
    puts("Inside the loop i = #$i" )
    $i +=1
    puts 'creating obj'
    system 'mkdir  /{yourmountpoint}/keepalive'
    sleep 5
    puts 'we did it, it should be still alive'
end while $i > $num

Eu não sei porque isso funciona. Mas parece resolver o meu problema onde estou inativo por um minuto e tudo congela. Ele apenas tenta criar uma pasta no ponto de montagem e isso parece impedir que ela desconecte e congele tudo de alguma forma.

    
por 19.07.2015 / 18:23

Tags