Master Master Server

bonkersdeluxe

New Member
Hi,
Ich bräuchte Mal eure Hilfe

Vom Verständnis bis hier her:

Ich habe 3 Server nur als Management Hosts

Server 1 Master
Server 2 Slave (ISPCONFIG Settings Mirror Server 1)
Server 3 Slave (ISPCONFIG Settings Mirror Server 2)

Alle Datenbanken werden per galera DB cluster synchronisiert.

Die interface/config.php ist von Server 1 auf alle Server kopiert.

Somit sollte von allen Servern Änderungen vorgenommen werden können? Oder nicht?

Wenn das läuft sollen DB Server Webserver DNS Server und mailsverer extra laufen, auch jeweils drei Stück. Das shared storage für Web und Email wird mittels ceph fs gelöst.

Wenn Server 1 ausfällt, können doch keine weitere Kunden angelegt werden weil, der Master nicht mehr verfügbar. Die Kunden werden zwar in die Datenbank geschrieben weil Mariadb Cluster. Aber Server 1 ist ja Master ohne den läuft ja nix. (Web,DNs und Mail laufen ja weiter, oder? ) Das Control Panel aber nicht.

Nun die Kern Frage. Wie bekomme ich einen redundanten Master Server hin, sprich wenn Server 1 ausfällt trotzdem alles weiter läuft. Wenn alle Server laufen habe ich so ne art Loadbalanced Management Server. Denn ich wollte dann vor die Server ein loadbalancer für Management und Web DNS und Mail packen. Somit hätte ich 3 Server für Management für die Kunden 3 Server Mail und 3 Server DNS und 3 Server Web. Später kann das ja nach ausgebaut werden mit der Anzahl.
Das war so mein Plan. Ich möchte totale Verfügbarkeit. Wenn was weg bricht, die Kunden bekommen es nicht mit und ich habe alles Zeit der Welt einen Server zu reparieren / recovern

Da bräuchte ich Hilfe.

Vielen Dank!

Liebe Grüße Bonkersdeluxe
 
Zuletzt bearbeitet:

Till

Administrator
Somit sollte von allen Servern Änderungen vorgenommen werden können? Oder nicht?

das hängt davon ab wie Du es konfiguriert hast. wenn alle Interfaces auf die erste (master) DB connecten, dann geht es. was nicht geht ist dass Du die Interfaces auf die slave DB's connecten löässt, denn das würde dazu führen dass lokal daten eingefügt werden die zu einem Konflikt mit dem Master führen.

Generell ist es so dass der Ausfall eines Servers, auch des Masters, in ispconfig nie die Funktionsfähigkeit der slaves einschränkt. Wenn Du keinen redundanten Master hast dann kann man ggf. nur vorübergehend keine neuen websites anlegen, bestehende sites sind nicht betroffen und laufen einfachw eiter wie gehabt.
 

bonkersdeluxe

New Member
Hi Till,
Danke für deine Antwort.
Also war der Ansatz schon richtig.
Per Mariadb Cluster die Datenbanken auf jedem Host Verfügbar machen. Jeden slave eine neue Datenbank geben und die interface lokal auf die master Datenbank linken. Alle slaves wie DB web Mail etc laufen weiter. Wenn Master ausfällt dann können keine Website Kunden etc angelegt werden. OK Danke für Info.

Wenn Ich das aber auch möchte. Wie bekomme ich einen redundanten Master hin. Denn in der Masterdb stehen doch bestimmt Sachen drin die den Master eindeutig identifizieren. Da kann ich doch nicht einfach ein zweiten als Master installieren oder? Denn bei mir sollten die 3 ersten Server 3 redundante Master sein.
Die haben bei mir den den hostnamen
man0001
man0002
man0003

Die sollten redundante Master mit Control Panel für die Benutzer / Kunden werden. Da dann ein loadbalancer davor für Lastverteilung

Dann kämen die anderen Server als wirkliche slavet Variante wie von ISPCONFIG vorgesehen

mail0001
mail0002 (Slave von mail0001)
mail0003 (Slave von mail0002)

Das Mailverzeichnis liegt dann auf einem ceph FS storage. Genauso wie bei web das nachher der Fall ist.

Genauso bei Email würde es wieder einen loadbalancer für Lastverteilung geben.
Bei web dann auch.

DNS Server brauchen keinen Shared Storage oder?
Sollten in Zukunft die Server überlastet werden.
Würde ich einfach jeweils einen dazu packen.

Nochmals lange Rede kurzer Sinn und danke für die Geduld zum lesen.
Wie bekomme ich einen redundanten Master hin.

Vielen Dank!

Liebe Grüße Bonkersdeluxe
 

Till

Administrator
Wenn Ich das aber auch möchte. Wie bekomme ich einen redundanten Master hin.

Wenn Du die DB des masters per MaariaDB cluster replizierst und alle interfacees darauf zeigen, dann hast Du ja einen redundanten master da aus sicht von ispconfig ja nur eine master DB vorhanden ist, denn im Hintergrund kümmert sich ja mariadb cluster darum dass sie auf allen nodes identisch ist. was Du vermutlich machen müsstest ist dass Du versuchst die 'dbmaster' login details in der ispconfig server config.ing.php auf die lokale kopie der master DB zeigen zu lassen, denn sonst würde ja der slave prozess von ispconfig versuchen sie die daten vom haupt master zu ziehen und wenn der down ist, wird nichts weiter verarbeitet.

ISPConfig multiserver funktioniert vereinfacht gesagt so:

Slave verbindet sich zu master db und fragt ob es updates in der tabelle sys_datalog für ihn gibt, dazu verwendet es die login details die unter dbmaster in der config stehen. Sind Updates da, dann spielt er diese in seine lokale mysql db ein und führt die config Transaktionen 'in order' aus.

Das ispconfig interface ist verienfacht gesagt nur eine website bzw. cms welches sich auf die master DB connected um dort Eingaben vornehmen zu können und die eingabven zu validieren. Für jede Änderung wird einen Transaktion in der sys_datalog Tabelle angelegt welche dann vom lokalen server Prozess und von den slaves ausgelesen wird.
 

bonkersdeluxe

New Member
Hi Till,
Danke für Antwort Ich glaube jetzt wird ein Schuh draus.

Also:
man0001 so lassen wie er ist.
man0002 mirror von man0001 entfernen
man0003 Mirror von man0002 entfernen
in der Server config.php die Datenbank von dbispconfig2 und dbispconfig3 auf die lokale dbispconfig ändern.

Oder muss ich ispconfig deinstallieren neu installieren als Single node nur ne anderen DB namen nehmen z.b ISPtemp, weil würde ich ja löschen und auf die wirkliche Master Datenbank legen. Erste Variante wäre einfacher brauch ich nix neuinstallieren. Und wenn ich einen neuen Host Hinzupacken möchte, single Node Installation oder trotzdem Multiserver Setup?

Ich Danke Dir.

Liebe Grüße Bonkersdeluxe
 

Till

Administrator
man0002 mirror von man0001 entfernen
man0003 Mirror von man0002 entfernen

Jein, das hängt davon ab was Du willst und ist nicht abhängig von der oben besprochenen master interface Sache. wenn Du möchtest dass alle websites, emails domains etc. auf allen Servern angelegt werden, dann brauchst Du mirror, ansonsten nicht.

in der Server config.php die Datenbank von dbispconfig2 und dbispconfig3 auf die lokale dbispconfig ändern.

ja, aber nur dbmaster, nicht die DB anbindung des lokalen servers. da stehen 2 mal db zugangsdaten drin, einmal auf die lokale db, das muss beliben, und einmal die verbindung zum master, die musst Du ändern.
 

bonkersdeluxe

New Member
Hi Till,

Supi hat geklappt.
Allerdings gibt es eine Tücke.
Mann muss per phpmyadmin dem Service Benutzer : Beispiel : 'ispcsrv11
den Login über localhost hinzufügen. Dazu einfach vorhandenen Benutzer kopieren.
Danach in der Datenbank dbispconfig der Tabelle server dem Benutzer 'ispcsrv11@lochalhost alle rechte unter select und unter update nur für die spalte updated geben.
bei mir war der Fehler das updated beim kopieren warum auch immer nicht angewählt war
und damit das updaten der spalte updated in der tabelle server nicht ging,
und somit das abarbeiten der Jobs nicht ging!!

Jeder joint Server hat ein service oder Server benutzer. Das muss für jeden Server der hinzugefügt wird, manuel durchgeführt werden.


So hab man0001 ausgeschalten und auf man0002 mal was geändert.
Die jobs werden abgerabeitet und funktionieren.

Nu kann ich meinen Loadbalancer basteln und habe somit immer eine Erreichbare Managment Console. (Man ist das Geil ;-) )Bei den anderen Servern wird auch localhost für die Master Datenbank gesetzt. Denn diese Info wird ja über alle Server repliziert, dank Galera Cluster. Damit sind die Server nicht auf einen master Server angewiesen sondern tragen diesen ja bei sich. Nur die anderen Server brauchen keine Weboberfläche mehr, denn dafür dienen ja die managment Server ;-)
Ich bin gespannt, wie das anbinden der eigentlichen Server Dienste funktioniert ;-)

Auf jeden Fall:
Vielen vielen Dank!
Liebe Grüße Bonkersdeluxe
 
Zuletzt bearbeitet:

Werbung

Top