
Estou pensando em configurar o failover automático para Apache e MySQL. Estou planejando colocar um pequeno servidor proxy na frente de duas caixas Apache e duas caixas MySQL. O Apache sincronizará novamente os dados do mestre -> escravo de vez em quando, e o MySQL será configurado no Mestre/Escravo para replicação. Em caso de falha, a(s) caixa(s) de backup poderão assumir o controle até que o mestre seja reconstruído.
O servidor proxy na frente será executado apenas como um guarda de trânsito com algum tipo de software de pulsação (não estou procurando balanceamento de carga neste momento). Dessa forma não preciso me preocupar em trocar nosso firewall caso as caixas principais caiam. ÉLinux-HAa melhor opção ou há alguma sugestão?
Responder1
Linux HA é um ótimo conjunto de ferramentas. Se você quiser algo simples, escolha o batimento cardíaco 1; heartbeat 2 foi para clusters com mais de 2 nós e configuração XML. 1 é suficiente para a maioria dos casos simples de 2 nós.
Mas embora eu concorde que ter um proxy na frente do seu aplicativo é sempre uma boa ideia (executando vários servidores como provenientes de um servidor virtual etc.), sua configuração, conforme você descreve, parece a introdução de um novo SPF: o proxy.
O que provavelmente seria melhor fazer no seu caso seria executar ambos os servidores em uma configuração ativa-ativa, incluindo serviço web completo e serviço proxy completo em ambos (!).
Basta configurar o heartbeat para assumir três IPs: o do servidor MySQL ativo, o do servidor web ativo e o do proxy ativo (apenas o último precisa ser público).
Em seguida, configure o proxy para sempre ir para o IP interno do "servidor web ativo" e o servidor web para ir para o IP do "servidor de banco de dados ativo".
Quando estiver pronto para uma configuração de balanceamento de carga, basta descartar a alternância do IP do servidor web e, em vez disso, colocar os dois servidores web no grupo de servidores back-end do seu proxy.
A configuração inicial poderia ser assim:
Server A (Apache on Port 80) Server A (Apache Port 8080) Server A MySQL <-----------
| \ | \ | \
Web <-> Public Proxy IP >-> Shared Private Web IP >--> Shared Private MySQL IP | Mysql Synchronization Link
| / | / | /
Server B (Apache on Port 80) Server B (Apache Port 8080) Server B MySQL <-----------
Então você pode ir facilmente para o balanceamento de carga real (conforme mencionado para a web) e clustering MySQL quando estiver pronto e pronto, sem alterações visíveis ao usuário.
O melhor de tudo: colocar seu aplicativo atrás do proxy imediatamente (mesmo que os proxies sejam 'realmente' os mesmos servidores) exporá muitos bugs em seus aplicativos da web (suposições sobre nomes de host e caminhos na criação de links etc.) antecipadamente!
Responder2
http://studyhat.blogspot.com/2009/11/clustering-linux-ha.html
o link acima ajuda você a configurar o Linux HA