In Verbindung zu meinem Blog-Beitrag vom 6. September 2017 wurde eine Möglichkeit gesucht, Datenbankabfragen auf verschiedene Server zu verteilen.

Auch hier wurde ich auf das Produkt von Galera aufmerksam.

Meine Erfahrung zeigt, dass die Ansprüche, die an ein Monitoring-System gestellt werden, von Zeit zu Zeit drastisch steigen. Immer mehr Dienste müssen überwacht werden. Das hat zur Folge, dass viel mehr Datenbankabfragen abgearbeitet werden müssen und dadurch mehr Speicherplatz benötigt wird.

Vor diesem Hintergrund braucht es eine Möglichkeit jederzeit Ressourcen, in Form von bspw. neuen Servern, hinzufügen oder entfernen zu können.

Installation MySQL

Debian 9 (stretch)

Debian 8 (jessi)

Konfiguration MySQL

Üblicherweise lässt es MySQL nicht zu, dass von anderen Servern auf die Datenbank zugriffen wird.

Um von anderen Servern Zugriff auf die Datenbank zu erlangen muss die MySQL-Konfiguration angepasst werden.
Die Konfigurationsdatei liegt von System zu System an verschiedenen Orten. Üblicherweise liegt die Datei unterhalb /etc/mysql.

Ab Debian 9 stretch kann man die Datei unter /etc/mysql/mariadb.conf.d/50-server.cnf finden
Ältere Debian Versionen speichern die Datei unter /etc/mysql/my.cnf
Solltet ihr die Datei dennoch nicht finden können, könnt ihr folgenden Befehl verwenden:

Meine Datei befindet sich also in dem Ordner /etc/mysql/mariadb.conf.d/.

Wir öffnen also die Datei /etc/mysql/mariadb.conf.d/50-server.cnf und kommentieren den Konfigurationsparameter bind-address aus oder ändern den Wert auf 0.0.0.0 ab.

Diese Änderung muss auf allen Systemen geändert werden.

Anschließend mit folgendem Befehl den MySQL-Server neustarten:

Außerdem muss auf jedem MySQL-Server die Verbindung von externen Servern erlaubt werden.
Dazu muss der Datenbankeintrag des Benutzers mit dem man von einem anderen System aus zugreifen möchte angepasst werden.

In meinem Beispiel verwende ich den root User.
Mit dem folgenden Befehl kann man die Verbindung von einem anderen Client aus testen:

Einrichtung eines Galera Load Balancers

1. Es müssen folgende Pakete installiert werden

2. Clonen des Git-Repositories:

3. In das Verzeichnis glb/ wecheseln und die Software installieren

4. Anschließend das init-Skript sowie die Konfigurations-Datei kopieren

5. Danach muss die Konfiguration angepasst werden

6. Zuletzt muss der Daemon enabled und gestartet werden

Testen des Load Balancers

1. Status des LoadBalancers ermitteln

2. MySQL-Verbindung herstellen

3. MySQL-Session verlassen und erneut öffnen

Load Balancer Algorithmen

Algorithmus Definition
–random Knoten wird zufällig gewählt
–round Knoten werden abwechselnd gewählt
–single Alle Verbindungen werden dem Knoten mit der höheren Gewichtung übermittelt
–source Verbindungen werden weitergeleitet solange der Knoten zur Verfügung steht.
Christian Fuck

Christian Fuck

Help Desk

Wenn er nicht digitalen Träumen nachjagt oder das Internet durchwandert, kann man ihn im Fitnessstudio antreffen oder mit dem Zwergspitz eine Runde um den Block in Deep Down Völklingen drehen sehen. Christians Vorliebe für Drums und Snare geht unter die Haut. Auf Pulverschnee braucht er nur ein Brett unter den Füßen um King of the Hill zu sein. Für Braintower blogt Christian über das SMS Gateway und teilt sein breites Fachwissen über Lösungen mit technischen Problemen.

Gefällt dir der Artikel? Bitte teile ihn!
Share on Facebook5Share on Google+0Share on LinkedIn0Email this to someoneTweet about this on Twitter