software de sincronização de arquivos muito rápido

3

Estou procurando um software de sincronização de arquivos muito rápido para sincronizar dados em várias máquinas, em vários sites. Algo como Dropbox ou Spideroak.

O software deve atender aos dois critérios a seguir:

1) e mais importante. Deve ser muito rápido. Se eu alterar um arquivo, o upload para o servidor deve começar dentro de 10 segundos. As outras máquinas conectadas devem iniciar o download o mais rápido possível assim que o upload for concluído. Se o software suportasse o bloqueio do arquivo em questão, seria ótimo.

2) deve suportar criptografia do lado do cliente.

O Dropbox não é adequado devido ao segundo ponto, o Spideroak não é adequado por causa do primeiro (às vezes tenho resultados muito decepcionantes).

Quais ferramentas de sincronização de arquivos você está usando? O que você pode recomendar?

EDIT: Os computadores estão todos executando sistemas Linux.

EDIT2: Tenho 4-5 sites em mente. Infelizmente, eles não têm uploads muito grandes. O pior (meu escritório em casa ;-)) tem apenas uma conexão DSL com upload de 80 kb / s. Colocar algo em conjunto não é uma opção, já que estou procurando uma solução com custos moderados e confiabilidade ;-). Eu tenho acesso root em todos os clientes em questão.

    
por ftiaronsem 20.08.2011 / 16:47

5 respostas

3

Eu recomendaria GlusterFS . É um sistema de arquivos NAS que conecta vários servidores em um sistema de arquivos. Você pode então montá-lo via fusível. Você também pode conectar os servidores através de uma solução IPsec, por exemplo, Openswan . Para adicionar segurança.

De wikipedia sobre o GlusterFS:
O GlusterFS possui um componente cliente e servidor. Os servidores são normalmente implantados como blocos de armazenamento, com cada servidor executando um daemon glusterfsd para exportar um sistema de arquivos local como um volume. O processo do cliente glusterfs, que se conecta a servidores com um protocolo personalizado sobre TCP / IP, InfiniBand ou SDP, compõe volumes virtuais compostos de vários servidores remotos usando tradutores empilháveis. Por padrão, os arquivos são armazenados inteiros, mas a distribuição de arquivos em vários volumes remotos também é suportada. O volume final pode então ser montado pelo host do cliente através do mecanismo FUSE ou acessado via biblioteca cliente libglusterfs sem incorrer em sobrecarga do sistema de arquivos FUSE. A maior parte da funcionalidade do GlusterFS é implementada como tradutores, incluindo:

  • Espelhamento e replicação baseados em arquivos
  • Distribuição baseada em arquivos
  • Balanceamento de carga com base em arquivo
  • Failover de volume
  • agendamento e armazenamento em cache de disco
  • Cotas de armazenamento
por 20.08.2011 / 21:49
2

Quantos sites você está falando? Pessoalmente, eu olhava para configurar algo com meus próprios servidores usando algo como o sistema de arquivos DRBD ou DFS (o Windows usa o DFS como um sistema de sincronização na rede, o DRBD é uma solução Linux sobre RAID 1) e depois os clientes se conectam um compartilhamento nos servidores (ou uma unidade mapeada) e tudo seria sincronizado automaticamente.

Como segundo tópico de pesquisa, diretórios rsync entre servidores por SSH.

Caso contrário, você pode estar analisando sua própria aplicação e um conjunto de scripts para fazer o que procura, o que provavelmente não seria simples, barato ou fácil.

Sem conhecer detalhes específicos (número de sites, controle nos sites dos clientes, largura de banda, etc.), é difícil fazer outras sugestões.

EDIT - DRDB parece otimizado para 2 servidores; Não sei o que seria necessário para "encadear" dados. Além disso, você vai sincronizar dados de um servidor para os outliers? Você planejou a prioridade dos caminhos de sincronização (como em você tem um repo central que tudo está sincronizando de , ou você está descentralizado em onde e como os dados virão e irão? esses escritórios periféricos sincronizam as coisas com um servidor central?) Você pode estar vendo uma configuração bastante complicada ao fatorar essas coisas. Você teria que procurar uma maneira de executar um utilitário de sincronização conforme sugerido por link ou rsync em horários específicos ou encontrar um sistema de arquivos baseado em cluster que manipule vários pares" primários "ativos sem sobrecarga suficiente bate sua largura de banda.

Você não mencionou o tamanho dos dados sendo editados nem a confiabilidade da sua conexão; Se você está lidando com o documento médio, você terá diferentes possíveis problemas e corrupção do que se estivesse editando gráficos grandes.

Dada a complicação desse tipo de configuração que você está analisando, sugiro também considerar uma solução de acesso remoto como uma possível correção. Se você estiver executando o Linux, não é totalmente impossível ter um servidor central no escritório "principal" e fazer com que as pessoas efetuem login com terminais SSH remotos e executem sessões diretamente do servidor, como uma solução do Windows Terminal Services. Isso lhe dá mais controle sobre como os dados são copiados, acessados e auditados com segurança. Mas você deve ter uma conexão decente para fazer isso. Conexões muito rápidas permitiriam conexões SSH com X-forwarding, medíocres para conexões rápidas, você poderia configurar uma solução de terminal remoto mais parecida com VNC (túnel / VPN criptografado) para as conexões de servidor cliente.

Outra consideração é VPN para um site central e montar diretórios via NFS ou um módulo FUSE como o SSHFS. Mais uma vez, depende da sua largura de banda e estabilidade de conexão.

Se você quiser continuar sincronizando dados como uma solução, ainda terá possíveis problemas de bloqueio e dados sendo atualizados com as condições de corrida, então você precisará pesquisar os melhores sistemas de arquivos que podem lidar automaticamente com essa situação.

    
por 20.08.2011 / 17:00
1

Se você estiver usando o Windows para seus clientes e servidores, sugiro que você investigue o Sistema de arquivos distribuídos. Também dê uma olhada no cache offline com o EFS. Se você não estiver usando o Windows, informe-nos o que você está usando.

Editar: dê uma olhada em tsync (beta) para Linux.

    
por 20.08.2011 / 16:58
1

O ChironFS é um sistema de arquivos distribuído projetado para replicação. Ele não cuida da criptografia, mas você pode usá-lo embaixo de um sistema de arquivos criptografado como EncFS se quiser que cada cliente gerencie a criptografia ou SSHFS para proteger os dados através do fio. Não sei se será adequado ao desempenho.

    
por 20.08.2011 / 17:33
0

Você pode querer olhar para link do Unison, no entanto, uma solução de sistema de arquivos pode se adequar melhor às suas necessidades.

    
por 20.08.2011 / 17:55