PostgreSQL conteneurisé avec des données sur un système de fichiers distribué

8

Je suis curieux de savoir si quelqu'un exécute réellement PostgreSQL dans un conteneur en production sur une certaine forme de système de fichiers distribué - GlusterFS de préférence, ou quoi que ce soit.

Je cours actuellement Mesos / Marathon. En cas de défaillance du nœud PostgreSQL, Marathon lance simplement une autre instance de PostgreSQL sur d'autres nœuds et si cela est fait correctement (découverte du service et récupération de l'application après une perte de connexion à la base de données), la tolérance de panne ultime sera atteinte.

Je sais que PostgreSQL a ses propres solutions HA, comme l'envoi de journaux et la sauvegarde à chaud, mais il reste encore à résoudre le problème du moment de passer du maître à l'esclave, comment le faire correctement et ainsi de suite.

Alors, comment exécutez-vous PostgreSQL en production sur GlusterFS ou similaire? Si oui, est-il stable? Et la performance?

cochon
la source
2
Nous avons finalement fini par utiliser CEPH La seule chose que j'ai trouvée jusqu'à présent concernant ce sujet est youtube.com/watch?v=OqlC7S3cUKs
pigster
3
Il peut être utile d'utiliser repmgr ( repmgr.org ) pour gérer vos basculements HA postgres, au lieu de surcharger les choses avec des conteneurs et gluster.
JamesHannah
1
Je peux également mentionner PAF: clusterlabs.github.io/PAF en tant que gestionnaire de cluster pour PostgreSQL.
Pierre-Alain TORET

Réponses:

0

mais alors il faut encore résoudre le problème du moment de passer du maître à l'esclave, comment le faire correctement et ainsi de suite.

Chaque cluster a généralement une notion de quorum: les observateurs (moniteurs, peu importe) doivent décider quel nœud est le maître. Ensuite, vous pouvez utiliser leurs informations pour acheminer correctement les demandes. Il est assez courant d'exécuter haproxy avec non seulement des vérifications d'intégrité TCP / IP de base , mais aussi une logique de haut niveau implémentée avec des requêtes spécifiques au service.

Consultez pacificateur , par exemple.

poige
la source
0

Vous devez exécuter postgresql en mode service avec état. La mise à l'échelle est effectuée par mesos mais la réplication des données est effectuée par le postgresql lui-même. Jetez un œil à ce site avec un service avec état et des volumes persistants .

affan
la source