PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 06/12/2011 17:02:53

m.santiago
Membre

Solutions de clustering pour Postgres9

Bonjour,

J'utilise Postgres 8.4 en production dans mon entreprise et il est prévu de migrer sur Postgres 9 dans les mois qui viennent. Je suis actuellement en train de me renseigner sur l'état de l'art en matière de clustering autour d'une base Postgres 9 car nous aimerions disposer d'un failover.
Pour le moment je me suis intéressé à repmgr (http://projects.2ndquadrant.com/repmgr) et j'aimerais savoir si vous aviez eu des retours d'expérience ou des avis sur des outils de clustering autour de Postgres 9.

Bien cordialement,
Miguel Santiago

Hors ligne

#2 06/12/2011 17:12:29

gleu
Administrateur

Re : Solutions de clustering pour Postgres9

repmgr est un outil intéressant. Cela étant dit, il n'est pas nécessaire pour mettre en place de la réplication et la maintenir.


Guillaume.

Hors ligne

#3 06/12/2011 17:14:08

gleu
Administrateur

Re : Solutions de clustering pour Postgres9

J'allais oublier que ce qu'apporte repmgr est en majorité ajouté à PostgreSQL 9.1. Certaines parties n'ont pas été reprises mais la majorité l'a été.


Guillaume.

Hors ligne

#4 06/12/2011 17:34:01

m.santiago
Membre

Re : Solutions de clustering pour Postgres9

Merci de votre réponse rapide!
Postgres 9 est suffisant pour maintenir la réplication, mais nous sommes également intéressés par une fonctionnalité de failover - si possible automatique - pour effectuer un switch en cas de problème sur le maitre.
Pensez-vous que cette fonctionnalité sera aussi proposée dans Postgres 9.1 ?

Hors ligne

#5 06/12/2011 18:10:00

gleu
Administrateur

Re : Solutions de clustering pour Postgres9

PostgreSQL 9.1 est déjà sortie. Le failover est implémenté depuis la version 9.0. Le failover automatique n'est pas proposé et ne le sera certainement jamais. Beaucoup s'opposent à ce genre d'ajout considéré comme dangereux. Cela étant dit, il est simple d'ajouter ça avec un Heartbeat.


Guillaume.

Hors ligne

#6 06/12/2011 19:11:41

m.santiago
Membre

Re : Solutions de clustering pour Postgres9

Merci beaucoup pour vos éclaircissements.
Bonne soirée à vous!

Miguel

Hors ligne

#7 11/12/2011 12:47:51

cedric
Membre

Re : Solutions de clustering pour Postgres9

m.santiago a écrit :

Merci beaucoup pour vos éclaircissements.
Bonne soirée à vous!

Miguel

notez que repmgr permet de trouver le meilleur node pour une bascule de failover (c'est à dire trouver le serveur qui a le moins de 'lag' avec le master) et que c'est grandement utile pour fiabiliser les bascules, d'autant plus en mode automatique.
http://repmgr.org/

Vous pouvez aussi voir les slides de repmgr lors du CHAR(11) (la conférence spécialisée dans le Clustering, Haute-Dispo, et Réplication)
http://www.2ndquadrant.com/static/2quad … char11.pdf

Depuis, pgbouncer a évolué et permet de mettre en place une architecture très simple à administrer à l'aide de serveurs DNS. (et rend obselete les serveurs type LVS)


Cédric Villemain +33 (0)6 20 30 22 52
http://2ndQuadrant.fr/
PostgreSQL: Support 24x7 - Développement, Expertise et Formation

Hors ligne

#8 12/12/2011 10:14:36

Marc Cousin
Membre

Re : Solutions de clustering pour Postgres9

Houla, doucement quand même pour enterrer LVS smile Il fait plein de choses qui sont impossibles avec un DNS… comme rediriger vers le serveur le moins chargé… le DNS se contente d'un round robin (enfin le DNS quand on se contente de le faire avec un DNS, et pgbouncer aussi se contente d'un round robin pour le moment).

Dans LVS, on peut détecter la charge d'un serveur (par sa charge CPU par exemple, ou simplement par le nombre de sessions connectées) et rediriger vers le serveur le moins chargé. On peut aussi faire de la réplication de sessions entre 2 serveurs LVS, afin que la bascule de l'un vers l'autre soit transparente (pas de perte de session TCP).

Et oui, tout ça marche, j'en ai eu en prod pendant des années (dans un contexte où la perte de session n'était pas envisageable) smile

Ça n'enlève rien au mérite de pgbouncer, qui sait multiplexer des sessions Postgres, ce qui n'est évidemment pas fait par LVS. Mais LVS fait des choses qui ne sont pas accessibles à pgbouncer (parce qu'au niveau kernel).

Par contre, tout à fait d'accord avec toi, l'archi pgbouncer + dns round robin, c'est très simple à mettre en place et à administrer.


Marc.

Hors ligne

Pied de page des forums