<br><br><div class="gmail_quote">On Mon, Dec 12, 2011 at 5:32 AM, Takatoshi MATSUO <span dir="ltr">&lt;<a href="mailto:matsuo.tak@gmail.com">matsuo.tak@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Hello<br>
<br>
2011/12/12 Serge Dubrouski &lt;<a href="mailto:sergeyfd@gmail.com">sergeyfd@gmail.com</a>&gt;:<br>
<div><div class="h5">&gt;<br>
&gt;<br>
&gt; On Thu, Dec 8, 2011 at 10:34 PM, Takatoshi MATSUO &lt;<a href="mailto:matsuo.tak@gmail.com">matsuo.tak@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi Attila<br>
&gt;&gt;<br>
&gt;&gt; 2011/12/8 Attila Megyeri &lt;<a href="mailto:amegyeri@minerva-soft.com">amegyeri@minerva-soft.com</a>&gt;:<br>
&gt;&gt; &gt; Hi Takatoshi,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; One strange thing I noticed and could probably be improved.<br>
&gt;&gt; &gt; When there is data inconsistency, I have the following node properties:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; * Node psql2:<br>
&gt;&gt; &gt;    + default_ping_set                  : 100<br>
&gt;&gt; &gt;    + master-postgresql:1               : -INFINITY<br>
&gt;&gt; &gt;    + pgsql-data-status                 : DISCONNECT<br>
&gt;&gt; &gt;    + pgsql-status                      : HS:alone<br>
&gt;&gt; &gt; * Node psql1:<br>
&gt;&gt; &gt;    + default_ping_set                  : 100<br>
&gt;&gt; &gt;    + master-postgresql:0               : 1000<br>
&gt;&gt; &gt;    + master-postgresql:1               : -INFINITY<br>
&gt;&gt; &gt;    + pgsql-data-status                 : LATEST<br>
&gt;&gt; &gt;    + pgsql-master-baseline             : 58:000000004B000020<br>
&gt;&gt; &gt;    + pgsql-status                      : PRI<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; This is fine, and understandable - but I can see this only if I do a<br>
&gt;&gt; &gt; crm_mon -A.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; My problem is, that CRM shows the following:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Master/Slave Set: db-ms-psql [postgresql]<br>
&gt;&gt; &gt;     Masters: [ psql1 ]<br>
&gt;&gt; &gt;     Slaves: [ psql2 ]<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; So if I monitor the system from crm_mon, HAWK or ther tools - I have no<br>
&gt;&gt; &gt; indication at all that the slave is running in an inconsistent mode.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I would expect the RA to stop the psql2 node in such cases, because:<br>
&gt;&gt; &gt; - It is running, but has non-up-to-date data, therefore noone will use<br>
&gt;&gt; &gt; it (the slave IP points to the master as well, which is good)<br>
&gt;&gt; &gt; - In CRM status eveything looks perfect, even though it is NOT perfect<br>
&gt;&gt; &gt; and admin intervention is required.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Shouldn&#39;t the disconnected PSQL server be stopped instead?<br>
&gt;&gt;<br>
&gt;&gt; hmm..<br>
&gt;&gt; It&#39;s not better to stop PGSQL server.<br>
&gt;&gt; RA cannot know whether PGSQL is disconnected because of<br>
&gt;&gt; data-inconsistent or network-down or<br>
&gt;&gt; starting-up and so on.<br>
&gt;<br>
&gt;<br>
&gt; Why does it matter? If the state is degraded and inconsistent and there is<br>
&gt; no way to fix it from inside of the RA, RA should probably stop it.<br>
<br>
</div></div>In this case, HS&#39;s data may be cosistent but Primary dosen&#39;t have enough wals or<br>
HS dosen&#39;t have enough wal-archives to be replication-mode.<br>
Unfortunately this RA dosen&#39;t calculate the number of wals.<br></blockquote><div><br>Honestly I don&#39;t know how to better handle this. Pacemaker doesn&#39;t have a concept of degraded node state.<br><br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div class="im"><br>
<br>
&gt; Let&#39;s say that there is pgpool running in front of the cluster, keeping an<br>
&gt; inconsistent node up would lead to the routing SQL queries to it and<br>
&gt; possibly getting wrong results.<br>
&gt;<br>
<br>
</div>It dosen&#39;t happen in my sample configuration.<br>
vip-slave is up at master when slave is not &quot;HS:sync&quot;.<br></blockquote><div><br>So you have a VIP for each slave node?<br> <br></div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

<div class="im"><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; How about using dummy RA such as vip-slave?<br>
&gt;&gt; -------------------------------------------<br>
&gt;&gt; primitive runningSlaveOK ocf:heartbeat:Dummy<br>
&gt;&gt; .....(snip)<br>
&gt;&gt;<br>
&gt;&gt; location rsc_location-dummy runningSlaveOK \<br>
&gt;&gt;     rule  200: pgsql-status eq &quot;HS:sync&quot;<br>
&gt;&gt; -------------------------------------------<br>
<br>
&gt;<br>
&gt; That probably fixes visibility issue. What about notifications on DISCONNECT<br>
&gt; state? How administrator would know that cluster is inconsistent? May be the<br>
&gt; better option in this case would be collocating MailTo resource with<br>
&gt; &quot;HS:alone&quot;?<br>
<br>
</div>Yes, it&#39;s good idea if you want to receive notifications.<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
Regards,<br>
Takatoshi MATSUO<br>
<br>
_______________________________________________<br>
Pacemaker mailing list: <a href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a><br>
<a href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker" target="_blank">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a><br>
<br>
Project Home: <a href="http://www.clusterlabs.org" target="_blank">http://www.clusterlabs.org</a><br>
Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
Bugs: <a href="http://bugs.clusterlabs.org" target="_blank">http://bugs.clusterlabs.org</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Serge Dubrouski.<br>