Como construir um cluster pessoal?

9

Eu tenho um servidor debian executando alguns serviços (mail, web, git, mysql ...). Mas está sozinho, o que significa que, se quebrar, tenho que repará-lo para acessar meus serviços.

Eu gostaria de colocar um segundo servidor para que, se o primeiro morrer, o segundo esteja automaticamente pronto para funcionar. Não quero que nenhum desses servidores seja mestre e o outro escravo. A idéia é evitar falhas de hardware de qualquer um dos dois servidores.

Encontrei muitas informações sobre como criar alguns clusters grandes, mas não encontrei nada que implique apenas dois servidores.

Clement Roblot
fonte
Essa é uma pergunta interessante, mas você pode obter uma resposta melhor no site Server Fault SE.
N0pe
@MaxMackie A parte "pessoal" parece tornar esta questão fora de tópico no SF.
a CVn
1
para configurações eu recomendo que você usepuppet
ixtmixilix

Respostas:

7

Criar um ambiente ha tem muitas ressalvas e é complicado, e muitas vezes depende do software real (por exemplo, criar um ambiente master-slave para o mysql é diferente do postfix0

Se você deseja iniciar e deseja apenas dois sistemas e não tem tempo para configurar todos os seus daemons de acordo, consulte drbd , raid-1 pela rede. Com isso, todo o conteúdo do dispositivo de bloco será replicado para o outro sistema. Combine isso com algo como corosyncou heartbeate você poderá fazer com que o outro sistema assuma o controle automaticamente.

Em geral, tudo se resume a:

  1. Tenha algum tipo de armazenamento compartilhado, SAN, drbd etc. ou suporte do sistema do servidor
  2. Detecta automaticamente uma interrupção de um sistema e assume a responsabilidade (por exemplo, IP ou remova-a do cluster)

Se você não possui um sistema de armazenamento compartilhado, normalmente precisa ter suporte em seu aplicativo, tais sistemas são, por exemplo, cassandra, mongodb etc.

Ulrich Dangel
fonte
1
Há um bom conjunto de documentos no linuxvirtualserver.org sobre como fornecer um front end de alta disponibilidade para qualquer que seja o serviço replicado.
Matt
1
@mindthemonkey os exemplos parecem ser todos específicos para http / aplicativo. mas sim, o princípio subjacente, armazenamento compartilhado, sistema de monitoramento etc. também existe o linux-ha.org que fornece uma introdução aos diferentes componentes de software.
Ulrich Dangel 01/03
1

A pulsação está obsoleta.

Use Marcapasso + Corosync para clusters 1 + 1, N + 1, N + N

RAM
fonte