Espelhando dois diretórios

3

Nos sistemas Ubuntu 14.04 eu gostaria de armazenar o mesmo conteúdo de um diretório em dois hosts diferentes (1). Isso permite que a mesma pessoa trabalhe em diferentes estações de trabalho na mesma LAN, tendo os mesmos arquivos disponíveis a qualquer momento, independentemente da estação de trabalho com a qual ele decidiu trabalhar: eles podem ser arquivos de texto, arquivos de configuração , mas também pdf e assim por diante. (2)

Ambas as estações de trabalho podem usar sshfs , mas não NFS. Eu preciso em tempo real (então não rsync ), bidirecional (então não lsyncd ) sincronização entre os dois diretórios.

Existe uma ferramenta ou sistema de arquivos capaz de realizar isso?

(1) Isto também é para fazer um backup: se uma estação de trabalho estiver inoperante, a outra já possui todos os arquivos. Não preciso de links simbólicos nem de mount --bind , porque o conteúdo deve ser armazenado em dispositivos diferentes.

(2) Este é o cenário principal. Uma chave USB exclusiva pode ser usada, mas muitas vezes o número de arquivos e suas dimensões totais são enormes, então eles precisariam de um disco rígido.

    
por BowPark 22.02.2017 / 18:34

2 respostas

3

A replicação em tempo real entre as máquinas é possível, mas é difícil fazer isso com bom desempenho. Cada máquina participante precisa sincronizar com as outras máquinas para acessar um arquivo, para evitar um conflito (duas máquinas modificando o mesmo arquivo ao mesmo tempo de maneiras incompatíveis).

Existem alguns sistemas de arquivos que fazem isso. O ChironFS é um (código aberto); Tanto quanto sei, é razoavelmente maduro, mas não é mantido. O FlexRAID também tem esse sistema de arquivos; ele é mantido, mas não é gratuito (não é muito caro).

Você realmente precisa de sincronização bidirecional em tempo real? Um sistema mais simples, com políticas para evitar conflitos ou resolução manual de conflitos, como os oferecidos por sistemas de controle de versão, provavelmente terá melhor desempenho e estabilidade.

    
por 23.02.2017 / 00:28
0

Sem saber por que você quer espelhar um diretório em tempo real, não tenho certeza do que sugerir.

É para backups ou recuperação? Em caso afirmativo, talvez configurar um espelho nos dispositivos?

É para ter o diretório em outro local? Talvez tente usar uma montagem de loopback? Ou use um automount? Você poderia até mesmo compartilhar um diretório via NFS e montá-lo em um local diferente?

    
por 22.02.2017 / 19:55