PostgreSQL em contêiner com dados em um sistema de arquivos distribuído

8

Estou curioso para saber se alguém realmente está executando o PostgreSQL em um contêiner em produção em algum tipo de sistema de arquivos distribuído - o GlusterFS de preferência, ou algo assim.

Atualmente, estou executando o Mesos / Marathon. Caso o nó do PostgreSQL falhe, o Marathon simplesmente lança outra instância do PostgreSQL em outros nós e se for feito corretamente (descoberta de serviço e aplicativo recuperando-se da perda de conexão com o banco de dados), a tolerância final a falhas será alcançada.

Eu sei que o PostgreSQL tem suas próprias soluções de alta disponibilidade, como envio de logs e backup em espera, mas ainda é necessário resolver o problema de quando mudar de mestre para escravo, como fazê-lo corretamente e assim por diante.

Então, como você executa o PostgreSQL em produção no GlusterFS ou similar? Se sim, é estável? E quanto ao desempenho?

porco
fonte
2
Nós finalmente acabou usando CEPH única coisa que tenho encontrado até agora sobre este tema é youtube.com/watch?v=OqlC7S3cUKs
pigster
3
Pode valer a pena usar o repmgr ( repmgr.org ) para gerenciar os failovers de postgres de alta disponibilidade, em vez de complicar demais as coisas com contêineres e gluster.
JamesHannah
1
Também posso mencionar o PAF: clusterlabs.github.io/PAF como um gerenciador de cluster do PostgreSQL.
Pierre-Alain TORET

Respostas:

0

mas ainda é necessário resolver o problema quando mudar de mestre para escravo, como fazê-lo corretamente e assim por diante.

Cada cluster geralmente tem noção de quorum: os observadores (monitores, o que for) devem decidir qual nó é o principal. Então você pode usar as informações deles para encaminhar solicitações corretamente. É bastante comum executar haproxy não apenas com verificações básicas de integridade TCP / IP , mas com uma lógica de alto nível implementada com consultas específicas de serviço.

Confira pacificadores , por exemplo.

poige
fonte
0

Você precisa executar o postgresql no modo de serviço com estado. O dimensionamento é feito por mesos, mas a replicação de dados é feita pelo próprio postgresql. Dê uma olhada neste serviço estável do site e em volumes persistentes .

affan
fonte