Por favor, ajude a encontrar uma solução para sincronização bidirecional em tempo real no Centos 5.5 64Bit

4

Estou precisando de um software de sincronização bidirecional em tempo real para o Centos 5.5 / 64Bit.

Aqui está uma pequena explicação:

Ele precisa ser capaz de realizar:

  1. Sincronização bidirecional.

  2. Deve ser em tempo real. Por tempo real significa que pode ser quase em tempo real, ou seja, um atraso de 1 segundo, por exemplo, é bom.

  3. E as pastas estão no mesmo servidor.

Atualmente, estou usando o GlusterFS em dois servidores da web. No entanto, o desempenho de leitura de arquivos é extremamente baixo e está diminuindo a velocidade do meu site. Não há nada mais que possa ser feito para melhorar isso, eu já testei muitas configurações. Como solução, eu montaria uma unidade de RAM (tmpfs) que espelha os arquivos da web do GlusterFS, mas faria com que o servidor da Web usasse a unidade de RAM.

O problema é que preciso de replicação em tempo real em dois sentidos ou replicação entre o glusterfs e a unidade RAM. Eu preciso disso é como o Apache escreve arquivos como bem.

Como eu disse, sincronização bidirecional em tempo real em duas pastas. Quais são, na verdade, dois pontos de montagem diferentes. A montagem de RAM (tmpfs) poing e o ponto de montagem do GlusterFS.

Eu já conheço:

  • Rsync - Qual é o caminho
  • Unison - que não é em tempo real

Por favor, sugira-me qualquer solução gratuita ou paga.

Obrigado antecipadamente

    
por Vipul Limbachiya 30.06.2010 / 11:20

3 respostas

3

Embora o afs pareça ser uma solução óbvia, eu já havia analisado isso com certa profundidade por um tempo altamente personalizado aplicação web - e a solução mais rápida / eficiente / confiável foi implementar a replicação dentro do aplicativo - usando o rsync ao trazer os nós de volta online. Eu tinha um plano de longo prazo para implementar ressincronizações baseadas em demanda usando inotify como o gatilho (mas nunca encontrei o tempo).

As a solution, I was going to mount a RAM drive (tmpfs) that mirrors the GlusterFS web files but get the webserver to use the RAM drive

Sim, se o GlusterFS não suportar a sincronização de invalidações de cache, pode ser um pouco mais rápido (com o custo de não atualizar em tempo real), a menos que você tenha uma alta taxa de transferência de dados, você provavelmente o achará mais rápido usar um sistema de arquivos otimizado em um dispositivo convencional em vez de uma unidade RAM.

Você provavelmente verá problemas semelhantes em qualquer sistema de arquivos de disco compartilhado (mas isso é principalmente adivinhação da minha parte).

Uma solução melhor seria usar um banco de dados (cluster?) para armazenar quaisquer dados - o clustering é muito mais gerenciável (e mais fácil de implementar). Veja também a replicação do mysql e o Cassandra.

/ me pergunta se você poderia usar sistemas de arquivos de sobreposição (unionfs) - colocando a cópia local no topo e o sistema remoto abaixo e executando rsync periodicamente de cima para baixo - embora suspeite que possa ser difícil excluir arquivos.

HTH

C.

    
por 30.06.2010 / 14:19
0

drbd + ocfs ou GFS2:

Usando o GFS2 com o DRBD
Usando o OCFS2 com o DRBD

Enquanto eu tive mais sorte com o GFS2, qualquer um funciona e provavelmente faz exatamente o que você precisa. Você pode executar o dual primary com uma das soluções.

    
por 30.06.2010 / 15:17
0

Você pode fazer isso usando apenas o Gluster:
Quando você solicitar ao Gluster para replicar os arquivos usando gluster volume VolumeName replica 2 e acessar o glusterfsd local em cada site usando mount -t glusterfs localhost:VolumeName /mountpoint , obterá replicação instantânea e tempos de acesso comparáveis a outros sistemas de arquivos locais (sem trechos de rede nas leituras de arquivos).

Isso é verdade, pelo menos com as versões 3.4.7 e 3.6.9 do gluster que testei.
(Na época em que essa pergunta foi feita, pode ter havido versões mais antigas e mais lentas).

    
por 08.06.2017 / 20:10