SSHFS mount que sobrevive desconectar

44

Estou usando o SSHFS do meu laptop para um servidor central.

Obviamente, a montagem do SSHFS é interrompida após uma desconexão mais longa (por exemplo, durante a suspensão), fazendo a conexão SSH subjacente expirar.

Existe uma maneira de obter montagens SSHFS sobrevivendo a desconexões de longa duração (> 5 min) ou até mesmo uma nova discagem com um IP diferente?

    
por bene 10.05.2009 / 00:27

5 respostas

46

Obrigado pelas dicas de autossh e autofs.

No entanto, para meu objetivo direto, encontrei uma solução muito mais simples que não foi documentada tão bem:

sshfs -o reconnect server:/path/to/mount
    
por 10.05.2009 / 23:04
43

Use -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

A combinação ServerAliveInterval=15,ServerAliveCountMax=3 faz com que os erros de E / S sejam exibidos após um minuto de interrupção da rede. Isso é importante, mas em grande parte não documentado. Se a opção ServerAliveInterval for deixada no padrão (portanto, sem a verificação ativa), os processos que experimentam parada de E / S parecem suspender indefinidamente, mesmo depois que o sshfs obtiver reconnect 'ed. Eu considero isso um comportamento inútil.

Em outras palavras, o que acontece em -o reconnect sem atribuir ServerAliveInterval é que qualquer E / S terá êxito ou trará o aplicativo indefinidamente se o ssh se reconectar por baixo. Um aplicativo típico fica totalmente suspenso como resultado. Se você quiser permitir que a E / S retorne um erro e retome o aplicativo, será necessário ServerAliveInterval=1 ou maior.

O ServerAliveCountMax=3 é o padrão, mas eu gostaria de especificá-lo para facilitar a leitura.

    
por 26.10.2014 / 15:11
11

Autossh reconecta automaticamente as sessões ssh quando percebe que o ssh morreu ou parou de passar o tráfego. Como é apenas o ssh automatizado, ele funciona a partir de IPs diferentes e da suspensão (mesmo que o laptop acorde em uma lan diferente).

    
por 10.05.2009 / 01:30
8

Uma coisa que você pode fazer é montar seus sistemas de arquivos via autofs . O autofs é uma ferramenta que monta um sistema de arquivos quando você usa algo no diretório para o qual o sistema de arquivos será montado. Quando detecta atividade, o sistema de arquivos é montado. Quando nada está acontecendo no sistema de arquivos, ele é desmontado.

Aqui está um howto que encontrei no google para realizar isso, lá onde vários outros.

    
por 10.05.2009 / 02:24
2

Suspeito que não exista, porque mesmo que você possa configurar seu cliente SSH para não deixar cair a conexão, o servidor pode estar configurado para fazer isso após um período especificado de inatividade, e você não poderá substituí-lo . Mesmo que você pudesse, se nunca retomasse a conexão, o servidor ficaria pendente e, com o tempo, isso poderia levar a um desperdício significativo de recursos do servidor.

Uma técnica melhor, eu acho, é desmontar o sistema de arquivos antes de suspender o seu computador e remontá-lo quando o computador voltar a funcionar. O mecanismo para fazer isso pode depender exatamente de como você suspende seu computador - eu uso o kernel do tuxonice e para fazer algo assim eu tenho uma diretiva como

Unmount /mnt/sshfs

em /etc/hibernate/common.conf .

    
por 10.05.2009 / 01:16