Degradação normal do SSHFS em vez de congelar quando a conexão é perdida. É possível?

10

Um programa de terceiros gravará arquivos em um diretório montado por SSHFS. Se a conexão à Internet for perdida, o programa de terceiros provavelmente travará (muito), porque todos os programas que tentam acessar um diretório montado por SSHFS nesse estado (quando não há conexão com a Internet) são colocados no que alguns descrevem como "ininterrupta" dormir". O SSHFS tem uma opção para se reconectar automaticamente, mas isso não ajuda, pois o programa de terceiros ainda trava (e trava) se a conexão for perdida (mesmo quando a conexão for restaurada, o SSHFS remontará o diretório). Autofs não vai ajudar, basicamente é sobre o comportamento do SSHFS quando a conexão é perdida. Por que não pode se comportar como um diretório compartilhado da rede (Samba ou outros meios) e simplesmente retornar um erro mais cedo do que ... nunca?

Existem alternativas para o SSHFS se o SSHFS não funcionar como descrito?

Outras informações:

SO: Estou usando o Ubuntu Linux (12.04 LTS)

Andrei
fonte
Por favor, explique o que exatamente você está fazendo. Eu imagino que você esteja montando um sistema de arquivos remoto usando sshfs em uma máquina Linux local, é isso? Talvez inclua o seu /etc/fstab? Você já tentou autofs com a softopção?
terdon
@terdon Um programa de terceiros grava arquivos em um diretório montado por SSHFS. Se a conexão à Internet for perdida, o programa de terceiros provavelmente travará (muito). O SSHFS tem uma opção para se reconectar automaticamente, mas isso não ajuda, pois o programa de terceiros ainda trava (e trava) se a conexão for perdida (mesmo quando a conexão for restaurada, o SSHFS remontará o diretório). Autofs não vai ajudar, basicamente é sobre o comportamento do SSHFS quando a conexão é perdida. Por que não pode se comportar como um diretório compartilhado da rede (Samba ou outros meios) e simplesmente retornar um erro mais cedo do que ... nunca?
Andrei
Obrigado pela atualização, mas inclua-a na sua pergunta, pois nem todo mundo lê os comentários. Inclua também os arquivos de configuração que você está usando. Qual é o valor para o tempo limite do ssh, etc? Não estou dizendo que sei como a resposta, é que quanto mais informações você tiver na sua pergunta, mais provável é que você obtenha uma boa resposta. Tal como está, é difícil entender qual é exatamente a sua configuração.
terdon
@terdon Obrigado, eu basicamente agora quase substituí minha pergunta completamente.
11113 Andrei
Muito melhor :). Por favor, adicione também o sistema operacional que você está usando. Este é o Linux, OSX, outro Unix?
terdon

Respostas:

0

Resumindo: não - porque o congelamento é do aplicativo, a falha do sshfs é agradável - ele diz ao aplicativo para aguardar. - o fato de o aplicativo não respeitar isso não é culpa do SSHFS.

O aplicativo faria exatamente o mesmo, se estivesse acessando um arquivo em armazenamento removível, como uma unidade USB, e você o removeu. O aplicativo precisa capturar e manipular os eventos de tempo limite na E / S, em vez de ficar parado aguardando a resposta.

djsmiley2kStaysInside
fonte
0

Triste questão. Eu tentei sshfs várias vezes no passado.

Assim que a conexão é perdida, os aplicativos que acessam arquivos na pasta montada congelam e travam. Mesmo terminais. MAS os aplicativos nem sabem que estão esperando. É algo no nível do kernel que não pode lidar com sshfs dizendo para eles esperarem para sempre ... até desmontar não funciona e até congela às vezes porque a pasta montada está bloqueada de alguma forma no nível do sistema de arquivos.

Por que isso não acontece quando eu desconecto uma unidade USB?

Esse problema existe há anos ...

A reconexão automática não ajuda se você não puder restabelecer uma conexão a qualquer momento. (No meu caso, tenho kerberos Tickes acabando).

Desculpe, mas tenho que declarar: sshfs é inutilizável!
(exceto nos casos em que uma conexão nunca é perdida)

Eu sempre acabo usando o scp. Triste questão

bugpulver
fonte