Replicação Postgresql com pgpool ou pgbouncer

3

Estou procurando uma boa configuração para uma replicação de postgresql com uma estratégia de failover robusta (auto-hospedada).

Na verdade, configurei duas instâncias postgresql em master / slave com o repmgr. Agora, não sei o que colocar antes dessas duas instâncias para ter um bom failover.

Eu gostaria que quando o master fosse desativado, o escravo se auto-promova automaticamente para o novo master e sem tempo de inatividade para os clientes; Eu acho que eu deveria colocar pgbool (ou pgbouncer?) Antes do master / slave postgres, mas para evitar tê-lo como um único ponto de falha eu deveria ter 2 instâncias destes, certo? (este é um exemplo do que tenho em mente: link ).

Meu problema fundamental é como configurar um failover automático com duas instâncias diferentes de pgpool. Como posso ter certeza de que ambos alteram a configuração interna mestre / escravo? Deve ser pgpool para fazer o failover ou o repmgr (alterando a configuração de ambas as instâncias do pgpool)?

Tenho algumas dúvidas de que estou no caminho certo, basicamente porque não encontrei muita documentação sobre esse tipo de configuração, e o que pode acontecer se, por exemplo, o mestre voltar a ficar on-line talvez depois de alguns minutos de rede problemas (assim o postgres não está realmente errado, mas é inacessível para os clientes).

Para tornar as coisas mais complicadas, estou tentando configurar essa infraestrutura com o docker (mas talvez seja mais simples porque posso destruir uma instância pg e criar uma nova com o docker?).

    
por Luca Leen 10.06.2016 / 17:31

1 resposta

1

Eu nunca usei o docker, então não posso comentar sobre isso, mas eu recomendaria (e estou usando isso em produção para bancos de dados grandes e muito usados por um longo tempo), na minha opinião, o caminho para entre em configurações complexas de clusters: corosync e marcapasso . Use o agente de recursos pgsql e um IP flutuante virtual , ao qual você conecta os clientes.

Se você nunca trabalhou com esse tipo de pilha de configuração / software, dê uma olhada em este tutorial ou esse ; adicionalmente aqui são slides (tome cuidado, é um .pdf, caso isso seja importante para você) sobre este tópico do PGConf. Rússia realizada no ano passado. Se você seguir esse caminho e encontrar problemas específicos, abra uma nova pergunta e faça um ping me (por exemplo, por meio de um comentário usando @gf_), talvez eu possa ajudar.

Editar: Há também um novo projeto chamado PAF automático de failover do PostgreSQL , que "[. ..] é um novo agente de recursos OCF dedicado ao PostgreSQL. Seu desejo original é manter um claro limite entre a administração do Pacemaker e do PostgreSQL, para manter as coisas simples, documentadas e ainda poderosas. [...] "O primeiro commit foi feito em fevereiro de 2016, por isso ainda é muito jovem, mas talvez isso valesse a pena também. (No entanto, eu não posso comentar nem julgar sobre isso, porque eu nunca usei isso.)

    
por 10.06.2016 / 23:25