<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Menlo;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.apple-tab-span
        {mso-style-name:apple-tab-span;}
span.E-MailFormatvorlage19
        {mso-style-type:personal-reply;
        font-family:"Verdana","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#1F497D">Dear list,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#1F497D">we have implemented a solution with following setup:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#1F497D">Two pgpool-II servers with Linux HA IP Failover using Heartbeat (<a href="http://www.linux-ha.org/wiki/Main_Page">http://www.linux-ha.org/wiki/Main_Page</a>)
 connecting to two Postgres Servers running in streaming replication.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#1F497D">We have successfully eliminated pgpool as a single point of failure and are quite happy with the solution.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#1F497D">If there is interest we can try to translate our German documentation on the setup.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#1F497D">Ludwig<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#1F497D">                                                            
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><b><span style="font-size:8.0pt;font-family:"Verdana","sans-serif";color:#1F497D">petaFuel GmbH</span></b><span style="font-size:8.0pt;font-family:"Verdana","sans-serif";color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt;font-family:"Verdana","sans-serif";color:#1F497D">Ludwig Adam<br>
Geschäftsführer<br>
<br>
Geschäftsführer: Ludwig Adam, Dr. Peter Schönweitz<br>
Amtsgericht München, HRB 133773<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:8.0pt;font-family:"Verdana","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size:8.0pt;font-family:"Verdana","sans-serif";color:#1F497D">Tel.: +49 (0) 8161 4060 - 202               Mobil: +49 (0) 179-22 911 02</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> pgpool-general-bounces@pgpool.net [mailto:pgpool-general-bounces@pgpool.net]
<b>Im Auftrag von </b>Steven Bambling<br>
<b>Gesendet:</b> Dienstag, 24. April 2012 14:46<br>
<b>An:</b> pgpool-general@pgpool.net<br>
<b>Betreff:</b> [pgpool-general: 379] Pacemaker CoroSync + PGPool-II<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">After doing some searching on setting up "PGPool-HA" to limit pgpool being a single point of failure it looks like development on the heartbeat project has reduced greatly and development has shifted to corosync  (backed by RedHat and Suse)
 that is recommend by pacemaker.  <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I've found an article here <a href="http://masteinhauser.github.com/blog/2011/09/24/pacemaker-pgpool2/">http://masteinhauser.github.com/blog/2011/09/24/pacemaker-pgpool2/</a> that explains using pacemaker with pgpool-II.  In the post a
 resource agent is provided.  There was a quick tweak I had to make with the PGPool-II path created by the installed RPMs obtained from <a href="http://yum.postgresql.org/9.1/redhat/rhel-$releasever-$basearch">http://yum.postgresql.org/9.1/redhat/rhel-$releasever-$basearch</a>.
  I modified the below marked in bold from <b>/var/run/pgpool/</b> to <b>/var/run/pgpool-II-91</b><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">pgpool2_status() {<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    if [ ! -r "/<b>var/run/pgpool-II-91/pgpool.pid</b>" ]; then<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        return $OCF_NOT_RUNNING<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    fi<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    ps_info=$(ps ax | grep "pgpool" | grep $(cat <b>/var/run/pgpool-II-91/pgpool.pid</b>))<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I used the following parameters to created the resource<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">crm configure primitive pgPool ocf:heartbeat:pgpool2
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#DC322F">\</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">params
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2">pcp_admin_username</span><b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">=</span></b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">postgres </span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#DC322F">\</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">params
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2">pcp_admin_password</span><b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">=</span></b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">password </span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#DC322F">\</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">params
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2">pcp_admin_port</span><b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">=</span></b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">9898
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#DC322F">\</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">params
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2">pcp_admin_host</span><b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">=</span></b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">localhost
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#DC322F">\</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">params
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2">pgpool_bin</span><b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">=</span></b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">/usr/bin/pgpool
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#DC322F">\</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">params
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2">pcp_attach_node_bin</span><b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">=</span></b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">/usr/bin/pcp_attach_node
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#DC322F">\</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">params
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2">pcp_detach_node_bin</span><b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">=</span></b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">/usr/bin/pcp_detach_node
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#DC322F">\</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">params
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2">pcp_node_count_bin</span><b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">=</span></b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">/usr/bin/pcp_node_count
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#DC322F">\</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">params
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2">pcp_node_info_bin</span><b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">=</span></b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">/usr/bin/pcp_node_info
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#DC322F">\</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">params
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2">stop_mode</span><b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">=</span></b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">f
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#DC322F">\</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">params
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2">auto_reconnect</span><b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">=</span></b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">t
</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#DC322F">\</span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:13.5pt;font-family:"Helvetica","sans-serif";color:#93A1A1">params </span><span style="font-size:13.5pt;font-family:"Helvetica","sans-serif";color:#268BD2">fail_on_detached</span><b><span style="font-size:13.5pt;font-family:"Helvetica","sans-serif";color:#93A1A1">=</span></b><span style="font-size:13.5pt;font-family:"Helvetica","sans-serif";color:#93A1A1">true </span><span style="font-size:13.5pt;font-family:"Helvetica","sans-serif";color:#DC322F">\</span><span style="font-size:13.5pt;font-family:"Helvetica","sans-serif";color:#268BD2"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span class="apple-style-span"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">op monitor
</span></span><span class="apple-style-span"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2">interval</span></span><span class="apple-style-span"><b><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">=</span></b></span><span class="apple-style-span"><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#93A1A1">1min</span></span><span style="font-size:9.0pt;font-family:"Menlo","serif";color:#268BD2"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Menlo","serif""><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal">The resource is looks to be created correctly but when I (re)start the corosync service and look at crm_mon I see some failed actions<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">============<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Last updated: Tue Apr 24 08:31:08 2012<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Last change: Tue Apr 24 08:02:31 2012 via cibadmin on <a href="http://pg1.stage.arin.net">
pg1.stage.arin.net</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Stack: openais<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Current DC: <a href="http://pg2.stage.arin.net">pg2.stage.arin.net</a> - partition with quorum<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Version: 1.1.6-3.el6-a02c0f19a00c1eb2527ad38f146ebc0834814558<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2 Nodes configured, 2 expected votes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">2 Resources configured.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">============<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Online: [ <a href="http://pg1.stage.net">pg1.stage.net</a> <a href="http://pg2.stage.net">
pg2.stage.net</a> ]<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">ClusterIP<span class="apple-tab-span"> </span>(ocf::heartbeat:IPaddr2):<span class="apple-tab-span"><o:p></o:p></span></p>
<p class="MsoNormal">Started <a href="http://pg2.stage.net">pg2.stage.net</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Failed actions:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    pgPool_monitor_0 (node=pg1.stage.net, call=3, rc=2, status=complete): invalid parameter<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    pgPool_monitor_0 (node=pg2.stage.net, call=3, rc=2, status=complete): invalid parameter<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">When I look in the /var/log/cluster/corosync.log I see this error <b>Apr 24 08:23:48
<a href="http://pg1.stage.net">pg1.stage.net</a> lrmd: [28471]: WARN: Managed pgPool:monitor process 28484 exited with return code 2</b><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Has anyone ran into a similar experience or have suggestions for a cluster solution with pgpool-II.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I know this is not 100% related to PGPool so I've also posted it to the pacemaker mailing list.  <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">v/r<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">STEVE<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</body>
</html>