Exemplarisch soll der Galera Loadbalancer (GLB) vorgestellt werden. Er lässt sich wie folgt installieren:
wget http://www.codership.com/files/glb/glb-0.7.4.tar.gz tar xf glb-0.7.4.tar.gz cd glb-0.7.4 ./configure make make install
Gestartet wird er so, wie in Listing 8 .
Listing 8
Start des Loadbalancers
Abgefragt wird der Loadbalancer so, wie es Listing 9 zeigt.
Listing 9
Abfrage des Loadbalancers
Angenommen, der Knoten 192.168.56.101 soll für Wartungsarbeiten aus dem Loadbalancer entnommen werden, dann wären die Schritte nötig, die Listing 10 zeigt.
Listing 10
Entfernen eines Knotens
Das Hinzufügen und Entfernen eines Knotens bewerkstelligen die beiden folgenden Befehle:
echo 192.168.56.103:3306:-1 | nc -q 1 127.0.0.1 4444 echo 192.168.56.103:3306:2 | nc -q 1 127.0.0.1 4444
Beim Ausprobieren des Galera Loadbalancers traten noch Ecken und Kanten zutage, die der Autor den Entwicklern meldete. Ihre Bereinigung soll in das nächste Release einfließen.
Aufgrund der beim GLB aufgetretenen Probleme sah sich der Autor auch noch den TCP-Loadbalancer PEN an. Seine Installation verläuft wie in Listing 11 gezeigt.
Listing 11
Installation und Start des PEN
Abfragen lässt sich der PEN Loadbalancer so, wie es Listing 12 zeigt. Pen kann seinen Status als HTML-Datei ablegen, die man mit einem Browser betrachten oder in seine Überwachungs-Infrastruktur einbinden kann.
Listing 12
Abfrage des PEN-Loadbalancers
./penctl localhost:4444 status > /tmp/pen.html
Neue Server kann man derzeit nicht im laufenden Betrieb hinzufügen. Der Entwickler von Pen empfiehlt in einem solchen Fall, einige Server auf Vorrat anzulegen und diese bei Gelegenheit zu aktivieren. Dazu muss Pen sauber gestoppt werden:
kill -TERM `cat pen.pid`
Fällt ein Backend-Server oder der Galera-Knoten ganz aus, stellt Pen dies fest und leitet den Traffic entsprechend um. Ist ein Galera-Knoten aber gerade dabei, einen SST durchzuführen und daher für die Applikation nicht nutzbar, oder sollen am entsprechenden Knoten Unterhaltsarbeiten durchgeführt werden, empfiehlt es sich, ihn in Pen zu deaktivieren, indem er für eine bestimmte Zeit auf eine Blacklist gesetzt wird:
./penctl localhost:4444 server 0 blacklist 7200