Configuração de cluster de servidor usando UNISON para sincronizar arquivos em duas direções linha / estrela / totalmente conectado?

0

Compreendo que estou fazendo várias perguntas sobre o mesmo tópico, mas todas estão relacionadas ao mesmo objetivo.

Trabalhando em uma configuração de cluster de dimensionamento horizontal e tentando configurar uníssono para sincronizar "var / www / html" para HA.

Sincronizar entre 2 servidores é fácil e funciona como um encanto, no entanto, haverá mais de 10 servidores conectados via vLAN.

Após muita pesquisa, vejo a maioria das pessoas e até os documentos uníssonos recomendam a configuração "topologia em estrela":

insira a descrição da imagem aqui

No entanto, talvez eu tenha entendido mal a configuração ou minhas preocupações são verdadeiras (você me diz).

Topologia em estrela:

Na instalação "topologia em estrela", um servidor "hub" envia as alterações para o restante dos servidores.

Por exemplo, temos servidores: A (hub), B, C, D, E, F. Se adicionarmos / alterarmos algo no servidor A, ele será sincronizado com os servidores B, C, D, E, F.

No entanto, como hospedarei sites em "/ var / www / html", o que acontece no cenário em que:

  • Um balanceador de carga é usado na frente de todos os servidores
  • Um site wordpress está hospedado em servidores
  • Um autor adiciona uma postagem de blog com imagens, mas ele faz isso no servidor D, já que o balanceador de carga o "pousará" em qualquer um dos servidores

Gostaria de uma explicação para isso, é um caso de você precisar enviar de cada servidor para A?

Alguns scripts de configuração de exemplo seriam muito apreciados.

Topologia totalmente conectada:

  • Isso pode ser alcançado com uníssono?
  • É melhor e mais confiável que a topologia em estrela?
  • Como seria o script de instalação em cada servidor?

Muito obrigado a todos que darão feedback!

Norbert Boros
fonte

Respostas:

0

Como você pretende sincronizar um site entre esses servidores, o que você precisa é garantir que os servidores estejam sincronizados o tempo todo; que há pouco ou nenhum atraso entre os arquivos que estão sendo alterados em um servidor e a Unison para atualizar essas alterações em outro servidor. Isso pode ser feito facilmente com a opção Unison repeat=watche talvez usando inotifytools.

Tldr : a topologia em estrela evita dores de cabeça que surgem com a topologia totalmente conectada.

A configuração da topologia em estrela pode sincronizar as alterações instantaneamente, mas exige que o Unison seja executado algumas vezes. Suponha que o balanceador de carga coloque um usuário no servidor De o usuário faça upload de uma imagem. Então, se o Unison estiver executando com a repeat=watchopção, basicamente como um daemon observando os arquivos em busca de alterações, ele começará a sincronizar com o nó do hub Aassim que a imagem for carregada. Agora você precisa acionar o Unison para executar entre Ae os outros servidores spoke em sua configuração. Idealmente, você gostaria de dividir esse trabalho entre os nós spoke, em vez de executar várias instâncias do Unison Apara pressionar os raios. Então eu usaria inotifytoolsem Aprestar atenção para as mudanças, e sempre que ocorre uma alteração temAenvie um comando para cada spoke para executar o Unison para buscar as alterações A.

Por outro lado, há uma complicação que vem com uma configuração totalmente conectada, especialmente se você estiver usando apenas repeat=watchpara sincronizar instantaneamente. Suponha que um usuário carregue um arquivo no servidor D. Em sua configuração totalmente conectada, o Unison será executado um de cada vez, uma vez para o outro servidor sincronizar esse arquivo. Portanto, primeiro Dsincronize Ae Dcomece a sincronizar B, mas, como Amudou e agora está fora de sincronia B, ele também executará o Unison e tentará sincronizar B, e agora Bestá tentando se atualizar de duas fontes ao mesmo tempo ... e isso pode deixar a Unison irritada, pelo menos. Então, Deus proíbe que você receba alterações conflitantes em dois servidores, como, digamos, que um usuário faça upload do arquivoDmas antes que tudo seja sincronizado, outro usuário carrega um arquivo com o mesmo nome E, além dessa primeira dor de cabeça.

Mike Pierce
fonte
Muito obrigado pelo esclarecimento, irei adiante com "iniciar topologia". No entanto, preciso de um pouco mais de informações sobre a configuração ... Se entendi corretamente, B, C, D, E, F sincronizarão SOMENTE com A (só ida) e A sincronizará com B, C, D, E, F (unidirecional ou bidirecional ??), isso está correto? Você poderia compartilhar algum script de modelo pseudo / caldeira para uníssono? (.prf talvez?)
Norbert Boros