Re: Postgresql and heartbeat

From: "Palaffre Michel" <mpalaffre(at)sopragroup(dot)com>
To: "Marc Cousin" <cousinmarc(at)gmail(dot)com>
Cc: <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: Postgresql and heartbeat
Date: 2011-01-31 12:12:39
Message-ID: 19337_1296475960_4D46A738_19337_1773769_1_BA1DD5E51F23EC429A4DEAD21F1AA76701D792B4@WBE11.ancy.fr.sopra
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Marc,

Pour ce qui est du code retour que surveille heartbeat je ne sais pas, mais je certifie que le changement de texte du statu de retour de postgres, c'est bon.
C'est exact concernant le reboot, j'en ai fais l'expérience à la mise au point d'un contournement.
Je vais poster le tout à hearbeat.

@+

-----Message d'origine-----
De : Marc Cousin [mailto:cousinmarc(at)gmail(dot)com]
Envoyé : lundi 31 janvier 2011 12:57
À : Palaffre Michel
Cc : pgsql-fr-generale(at)postgresql(dot)org
Objet : Re: [pgsql-fr-generale] Postgresql and heartbeat

C'est très étrange, heartbeat s'appuie sur les codes retour des scripts, pas sur le texte qu'ils renvoient, normalement.

Et ils doivent être bons. Sans quoi on a des risques d'erreurs :heartbeat qui croit qu'un service est éteint au lieu de démarré, et vice-versa, des risques d'avoir les services démarrés sur deux noeuds, en conséquence, ou bien pire encore, en cas de bascule, un script qui ne répond pas correctement peut dans certains cas amener heartbeat à déclencher un reboot du noeud.

Sinon, il y a aussi un script OCF qui marche très bien, pour PostgreSQL, avec Heartbeat. Avec l'intérêt de pouvoir passer le PGDATA en option au script, ainsi que d'autres options au besoin.

The Monday 31 January 2011 08:41:51, Palaffre Michel wrote :
> Bonjour Marc,
>
> J'ai trouvé la solution.
> Postgresql 8.4
> Hearbeat (package sqeeze)1:3.0.3-2
>
> Le problème vient du fait que hearbeat lance un status sur les
> services avant de lancer un start. Postgresql renvoie comme status :
> "Running
> clusters: "
> J'ai changé le message comme suit "Status clusters: " dans le fichier
> suivant: /usr/share/postgresql-common/init.d-functions Cette solution
> n'est pas viable car la prochaine mise à jour risque d'écraser ma modif.
> Les logs de hearbeat ne sont pas assez explicite pour aller
> directement au problème. J'opte donc pour le contournement que Pierre
> Locquet a mit en œuvre. La solution finale.
> Faire un script pour contourner le problème.
> /etc/ha.d/resource.d/hapostgresql
>
> #!/bin/sh
> #
> # the script works around the problem by launching the heartbeat of
> the status control, before launching postgresql. # # debug # echo
> "STARTING THE POSTGRESQL $*" >> /var/log/mylog #
> /etc/init.d/postgresql $1 >> /dev/null
>
> Et bien sur demander à hearbeat de lancer ce script.
>
> Merci de ton retour
>
> -----Message d'origine-----
> De : Marc Cousin [mailto:cousinmarc(at)gmail(dot)com] Envoyé : mercredi 26
> janvier 2011 17:27 À : pgsql-fr-generale(at)postgresql(dot)org Cc : Palaffre
> Michel Objet : Re: [pgsql-fr-generale] Postgresql and heartbeat
>
> The Wednesday 26 January 2011 14:08:27, Palaffre Michel wrote :
> > Bonjour,
> >
> > Je suis sous Debian.
> > Le script suivant doit être joué par heartbeat selon que l'on
> > démarre ou arrête heartbeat /etc/init.d/postgresql start stop ....
> > Ma conf de hearbeat
> > slnxtmaesoa1 IPaddr2::172.30.249.145/24/eth0:0/172.30.252.255
> > drbddisk::r0
> > Filesystem::/dev/drbd0::/DRBD::ext3 apache2 postgresql
> > MailTo::mpalaffre(at)sopragroup(dot)com::Changement_de_serveur_primaire
> > mysql Tous les autres services démarre et s'arrète bien. Il ma
> > manque le servcie postgres "/etc/init.d/postgresql start" Heart beat
> > lance le script /etc/init.d/postgresql stop mais ne lance pas le
> > script /etc/init.d/postgresql start. Il n'y a rien dans les log de
> > heartbeat qui m'indique une erreur.
> > Sauf erreur de ma part, le service postgres est lancé avec le user
> > postgres, même lorsque le script est lancé par le user root. Comment
> > puis je contourné le problème avec heartbeat?
> >
> > Cordialement
> > Michel PALAFFRE
>
> Vous avez un /etc/init.d/postgresql sous Debian ? Normalement ils ont
> des numéros de version (postgresql-8.3 par exemple). D'où vient ce script ?
> S'il est à vous, un script doit être compatible LSB pour pouvoir être
> utilisé correctement par Heartbeat.

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message damien clochard 2011-01-31 15:19:53 Co-voiturage FOSDEM
Previous Message Marc Cousin 2011-01-31 11:57:10 Re: Postgresql and heartbeat