<div dir="ltr">> <span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px">configure MariaDB server to bind to all available ports (</span><a title="Ctrl+Click or tap to follow the link" href="http://docs.openstack.org/ha-guide/controller-ha-galera-config.html" target="_blank" style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px">http://docs.openstack.org/ha-guide/controller-ha-galera-config.html</a><span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif;font-size:16px">, scroll to "Database Configuration," note that bind-address is 0.0.0.0.). If MariaDB binds to the virtual IP address, then HAProxy can't bind to that address and therefore won't start. Right?<br><br>That is correct as far as my understanding goes. By binding to port 3306 on all IPs (0.0.0.0), you are effectively preventing HAProxy from being able to use port 3306 on its own IP and vice-versa.<br><br>Try setting specific bind addresses for your Galera nodes; I would be surprised and interested if it didn't work.<br></span><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 16, 2016 at 6:10 PM, Matthew Mucker <span dir="ltr"><<a href="mailto:nevo_n@hotmail.com" target="_blank">nevo_n@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div style="font-size:12pt;color:#000000;background-color:#ffffff;font-family:Calibri,Arial,Helvetica,sans-serif">
<p>Sorry, folks, for being a pest here, but I'm finding the learning curve on this clustering stuff to be pretty steep.</p>
<p><br>
</p>
<p>I'm following the docs to set up a three-node Openstack Controller cluster. I got Pacemaker running and I had two resources, the virtual IP and HAProxy, up and running and I could move these resources to any of the three nodes. Success!</p>
<p><br>
</p>
<p>I then moved on to installing Galera. <br>
</p>
<p><br>
</p>
<p>The MariaDB engine started fine on 2 of the 3 nodes but refused to start on the third. After some digging and poking (and swearing), I found that HAProxy was listening on the virtual IP on the mySQL port, which prevented MariaDB from listening on that port.
Makes sense. So I moved HAProxy to another node and started MariaDB on my third node and now I have a three-node Galera cluster.</p>
<p><br>
</p>
<p>But.</p>
<p><br>
</p>
<p>Now HAPRoxy won't start on any node. I imagine it's because MariaDB is already listening on the same IP:Port combination that Galera wants. (After all, HAProxy is supposed to proxy that IP:Port, right?) Unfortunately, I don't see anything useful in the HAProxy.log
file so I don't really know what's wrong.</p>
<p><br>
</p>
<p>So.... thinking this through logically, it seems to me that the Openstack docs were wrong in telling me to configure MariaDB server to bind to all available ports (<a title="Ctrl+Click or tap to follow the link" href="http://docs.openstack.org/ha-guide/controller-ha-galera-config.html" target="_blank">http://docs.openstack.org/ha-guide/controller-ha-galera-config.html</a>,
scroll to "Database Configuration," note that bind-address is 0.0.0.0.). If MariaDB binds to the virtual IP address, then HAProxy can't bind to that address and therefore won't start. Right?</p>
<p><br>
</p>
<p>Am I thinking correctly here, or is something else wrong with my setup? In general, I've found that the OpenStack documents tend to be right, but in this case my understanding of the concepts involved makes me wonder.</p>
<p><br>
</p>
<p>In any case, I'm having difficulty getting HAProxy and Galera running on the same nodes. My HAProxy config file is:</p>
<p><br>
</p>
<p>global<br>
chroot /var/lib/haproxy<br>
daemon<br>
group haproxy<br>
maxconn 4000<br>
pidfile /var/run/haproxy.pid<br>
user haproxy<br>
<br>
defaults<br>
log global<br>
maxconn 4000<br>
option redispatch<br>
retries 3<br>
timeout http-request 10s<br>
timeout queue 1m<br>
timeout connect 10s<br>
timeout client 1m<br>
timeout server 1m<br>
timeout check 10s<br>
<br>
listen galera_cluster<br>
bind <a href="http://10.0.0.10:3306" target="_blank">10.0.0.10:3306</a><br>
balance source<br>
option httpchk<br>
server controller1 <a href="http://10.0.0.11:3306" target="_blank">10.0.0.11:3306</a> check port 9200 inter 2000 rise 2 fall 5<br>
server controller2 <a href="http://10.0.0.12:3306" target="_blank">10.0.0.12:3306</a> backup check port 9200 inter 2000 rise 2 fall 5<br>
server controller3 <a href="http://10.0.0.13:3306" target="_blank">10.0.0.13:3306</a> backup check port 9200 inter 2000 rise 2 fall 5<br>
</p>
<p><br>
</p>
<p><br>
</p>
<p>Does the server name under "listen galera_cluster" need to match the hostname of the node? What else could be causing these two daemons to not play nicely together?</p>
<p><br>
</p>
<p>Thanks!</p><span class="HOEnZb"><font color="#888888">
<p><br>
</p>
<p>-Matthew<br>
</p>
</font></span></div>
</div>
<br>_______________________________________________<br>
Users mailing list: <a href="mailto:Users@clusterlabs.org">Users@clusterlabs.org</a><br>
<a href="http://clusterlabs.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://clusterlabs.org/mailman/listinfo/users</a><br>
<br>
Project Home: <a href="http://www.clusterlabs.org" rel="noreferrer" target="_blank">http://www.clusterlabs.org</a><br>
Getting started: <a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf" rel="noreferrer" target="_blank">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><br>
Bugs: <a href="http://bugs.clusterlabs.org" rel="noreferrer" target="_blank">http://bugs.clusterlabs.org</a><br>
<br></blockquote></div><br></div>