Mantenha cópia local do nfs mount no computador

5

Montei todos os meus diretórios pessoais e o que mais estiver em meu laptop quando estiver em minha rede doméstica. Eu queria saber se existe uma maneira de manter uma cópia local da montagem nfs quando meu laptop está fora da rede.

Um bônus seria a capacidade de mesclar pastas e arquivos alterados, etc.

    
por user174084 22.07.2011 / 12:51

2 respostas

6

caches offline são uma coisa, mas o que você está pedindo é mais difícil. Se um arquivo é modificado no servidor e no cliente enquanto as duas máquinas não estão conectadas, alguém precisa decidir qual versão manter ou mesclar as duas versões. A exigência desse tipo de entrada do usuário quando as duas máquinas se reconectam não se encaixa bem no modelo do sistema de arquivos.

Existem vários recursos de armazenamento em cache do NFS , mas a maioria é projetada para armazenamento em cache on-line, para acelerar o acesso. Eles exigem uma comunicação entre o servidor e o cliente quando um arquivo é modificado em ambos os lados, portanto, não são adequados para cenários off-line. O mesmo vale para AFS .

Existem esforços para construir um sistema de arquivos distribuído utilizável que suporte operações desconectadas:

  • O Coda é um sistema de arquivos distribuído com vários recursos avançados, em particular suporte para operação desconectada. É um projeto relativamente antigo, razoavelmente maduro e integrado no kernel do Linux. Quando um cliente está offline, suas modificações são armazenadas em uma fila. Quando o cliente se reconecta, essas modificações são integradas, se possível, e o Coda vem com ferramentas para auxiliar as mesclagens quando ocorrem conflitos.
  • Tsumufs é um projeto relativamente novo. Adiciona operação desconectada sobre um sistema de arquivos distribuído existente, como o NFS. Eu não acho que esteja pronto para produção ainda.

Não estou convencido de que o sistema de arquivos seja o lugar certo para resolver esse problema. O tratamento de conflitos é difícil e requer entrada do usuário.

Para uma solução de baixa tecnologia, recomendo Unison , o sincronizador de arquivos bidirecional. Mantenha cópias locais de seus arquivos no servidor e no laptop. Imediatamente após conectar seu laptop e imediatamente antes de desconectar, execute o uníssono para sincronizar os dois lados. O uníssono dirá se há um conflito (e funcionará silenciosamente se não houver); desde que você sempre sincronize ao conectar e desconectar, não haverá conflito.

Uma solução que fornece mais serviços, mas requer algum aprendizado, é usar algum controle de versão distribuído . Mantenha um repositório em cada máquina, confirme sempre que tiver alterado um arquivo e não se esqueça de fazer push / pull de alterações sempre que possível.

    
por 22.07.2011 / 15:40
2

Se você quiser manter os arquivos e sincronizá-los, basta criar uma cópia local e sincronizar a montagem do NFS e sua cópia local usando o rsync.

    
por 22.07.2011 / 14:01