Registrierung
leer
leer
newposts
Users
search
FAQ
Login
Start

Hallo Gast, und Willkommen im Forum. Sie müssen sich einloggen oder registrieren, um alle Funktionen nutzen zu können.


PN's Forum \ Computer \ Software \ Betriebssysteme \ Linux \ Master-Master oder Master-Slave Replikation mit postgreSQL unter SLES?


zini *

#1 Verfasst am 23.05.2012, um 11:53:30



Hallo Zusammen,

ich bin in einem anderen Thread auf dieses Forum aufmerksam geworden. Es ging über eine Abhandlung zum Thema Master-Master-Replikation. Ich werde demnächst eine Replikation aufsetzen.

Folgende Fragen sind für mich noch nicht entgültig beantwortet:

Master-Master-Replikation oder Master-Slave-Replikation?
Hier wird ausführlich über Master-Master-Replikation diskutiert.

Frage:
Würde Poison die Entscheidung für Master-Master wieder so treffen? Der Thread ist ja schon etwas älter. Oder sind Erfahrungen gemacht worden, die in der Zwischenzeit eher für Master-Slave sprechen? Was ist mit der Zugriffsgeschwindigkeit? Angeblich soll die bei Master-Master langsamer sein als bei Master-Slave.

Meine Situation:
Definitiv gehe ich im Moment von nur 2 Rechnern aus. Ich möchte nicht nur eine Sicherheitskopie der Datenbank sondern auch eine Ausfallsicherung. Der 2.Master soll also automatisch einspringen können. Als Datenbanksystem verwende ich Postgres als Betriebssystem Linux SLES. Das ganze System wird aber in Zukunft möglicherweise in größeren Rechenzentren eingesetzt und ich möchte zukünftige Admins nicht dazu zwingen, Master-Master weiterzuverwenden. Manche Admins stehen auf dem Standpunkt
Zitat:
ich bin root - ich darf das

Also möchte ich bzgl. der anstehenden Replikation auch andere Wege für die Zukunft nicht verbauen.

Weil ich root-Rechte habe, aber Entwickler bin, frag ich mal lieber und bin gespannt auf Eure Antworten :-)

Zini




 Poison Nuke 

#2 Verfasst am 23.05.2012, um 12:34:37



hi,


die Frage ist gerade, für was dient die Datenbank überhaupt? Bzw auf welche Weise wird auf die Datenbank zugegriffen. Das ist der immer entscheidende Punkt für diese Frage, weil da noch ziemlich viel drumherum ist was man für die jeweilige Situation entscheidend ist.

Ich habe bisher schon mehrere Master-Master Replikationen aufgesetzt, allerdings noch keine Master-Slave.
Denn im Bereich des Webhostings wäre eine Master-Slave Repli nichts weiter als eine Form des Live-Backups. Durch Speicherarrays ist das aber nicht nötig, die Speichersubsysteme übernehmen diese Aufgabe wesentlich besser und schneller.


Der Hintergrund warum ich eine Master-Master Repli nutze ist aber der, dass im Falle des Ausfalls von einer Datenbank das eigentliche System weiter online ist und man dann zu einer geplanten Zeit eine Wartungsarbeit durchführen kann um die Synchronisierung wiederherzustellen.
Statt einer ungeplanten Ausfallzeit kommt es also nur zu einer geplanten Ausfallzeit.



Und warum überhaupt SLES? Damit macht man sich in Rechenzentren auch nicht immer Freunde. Zur Not, wenn es unbedingt auf Support/Lizenzen ankommt ein RedHat, wobei das 6er auch ein Krampf ist, aber wer Suse nutzt kann IMHO gleich Windows Server einsetzen.
Meine bescheidene Meinung als jemand der täglich im Rechenzentrum arbeitet.


greetz
Poison Nuke

zini *

#3 Verfasst am 23.05.2012, um 14:11:41



Auf die Datenbank wird lesend und schreibend zugegriffen. Sie dient der Analyse von medizinischen Daten/Bildinformationen. Der größte Anteil der Daten ist vom Typ BINARY. Die Anzahl der Nutzer ist überschaubar. Die Server haben RAID-6 und damit mindestens 4 Festplatten.

Bezüglich der Datensicherheit denke ich, dass Master-Slave genügen sollte. Aber der Aspekt mit dem definierten Ausfallzeitpunkt wäre mir sehr recht. Gleichen sich Master-Master-Replikationen nach der Reparatur wieder an? Bzw. kann man es so einstellen, dass auf dem ursprünglich defekten Master erst wieder nach erfolgter Synchronisierung zugegriffen wird?

In einem anderen Thread habe ich gelesen, dass Du versucht hast, einen 3.Server als Slave zu integrieren. War das als Test gedacht?

Für postgres habe ich slony und postgres-R gefunden.
postgres-R ist experimentell und fällt damit weg.
http://www.postgres-r.org
slony ist ein System für Master-Slave-Replikation. Nun habe ich die Ausführungen bei MySQL so verstanden, dass die Master-Master-Replikation eigentlich 2 Master-Slave-Replikationen sind, oder?



SLES hab ich nicht entschieden... Würdest Du obwohl das 6er ein Krampf ist, zu RedHat greifen? Wer will schon Feinde im Rechenzentrum ;-) Ja richtig erraten, es kommt auf Support/Lizenzen an. Dank Dir für Deine Meinung :-)





 Poison Nuke 

#4 Verfasst am 23.05.2012, um 14:46:29



ich kenne PostgreSQL nicht und dessen Möglichkeiten. unter MySQL muss man die Replikation manuell synchronisieren, da die Server nicht wissen, welcher von beiden nun die aktuell gültigen Daten hat. Im schlimmsten Fall haben beide Teile der Daten, abhängig davon warum die Replikation abgebrochen ist.

im einfachsten Fall ist ein Server richtig ausgefallen und ist aus oder so... dann reicht oft einfaches einschalten und es geht von alleine weiter. Idealerweise hat man aber eine BBU am RAID Controller sonst könnte es durch defekte Daten nicht klappen.


Wenn es aber zu eine Splitbrain kommt, weil die Verbindung zwischen den Servern wegen was auch immer ausfällt, aber beide weiterhin erreichbar sind, dann laufen die Datenbestände auseinander.


Wobei hier die Frage ist, auf welche Weise wird auf den Server zugegriffen. Im Web-umfeld nutzt man DNS-Roundrobin. Es werden für einen DNS Eintrag zwei IPs hinterlegt und der Resolver nimmt bei jedem neuen Zugriff die jeweils andere (löse doch mal meine Domain auf, da siehst du es). Wenn eine IP nicht erreichbar ist schwenkt der Client automatisch auf die nächste.

Man kann allerdings auch mit einer hochverfügbaren IP arbeiten. Ist hier allerdings ein wenig an das Rechenzentrum gebunden in dem man ist, sowas geht nicht immer so einfach.

Hätte aber den Vorteil es geht immer nur auf einen Server und es lässt sich besser kontrollieren und im Falle eines Ausfalles der Replikation sollte die Wiederherstellung recht schnell gehen. Insbesondere muss man keine Vorkehrungen treffen was im Falle eines Splitbrains zu machen ist.



Achja, idealerweise hat man für die Replikation eine eigene, direkte Netzwerkverbindung zwischen den Servern, idealerweise Cross-over Verbindung. Denn solche Replikationen sind teilweise _extrem_ anfällig für Probleme im Netzwerk. Und je nach Auslastung sollten es Intel-Server Netzwerkkarten sein oder vergleichbar. Auf keinen Fall Realtek. Die gehen die bei solchen Sachen binnen Minuten krachen, wenn wirklich viel Last auf den Servern liegt.


Zitat:
Würdest Du obwohl das 6er ein Krampf ist, zu RedHat greifen



ja, es macht immer noch weniger Probleme als ein SLES. Denn Suse hat bei uns den Spitznamen "Susi"... eine totale Zicke die nur Probleme macht. RH geht da noch einigermaßen, erfordert hier und da aber auch, das man es mit "sie" anredet.


greetz
Poison Nuke

bearbeitet von Poison Nuke, am 23.05.2012, um: 14:47:36

PN's Forum \ Computer \ Software \ Betriebssysteme \ Linux \ Master-Master oder Master-Slave Replikation mit postgreSQL unter SLES?


- Zurück zur Homepage - Eigene Beiträge - Neue Beiträge - Wer ist online? - Impressum - Datenschutz - Statistiken -



Board coded and provided by: Poison Nuke
Copyright 2007-2014, Robert Menger