Microsoft Failover Cluster mit PostgreSQL

Fragen und Probleme zur Installation von PostgreSQL (hauptsächlich Binary Packete).
Antworten
m151a1
Neuer Benutzer
Beiträge: 1
Registriert: Mi 6. Mär 2019, 23:56

Microsoft Failover Cluster mit PostgreSQL

Beitrag von m151a1 » Do 7. Mär 2019, 00:09

Hallo,

Ich versuche ein MS cluster mit PostgreSQL zu konfigurieren. Hat das mal jemand ausprobiert?

Das Ziel ist das ProgresSQL program wird auf dem system drive installiert und the Database soll auf dem D drive gespeichert werden.

Ich bin soweit gekommen das postgreSQL ist nun auf zwei server installiert aber wenn ich den failover teste, der postgresql service started nicht auf dem zweiten server instanz....

Kann mir jemand einen tip geben oder hat vielleicht informationen ueber Microsoft Failover Cluster mit PostgreSQL ?
Und kann ich das program auf dem C Drive haben und the DB auf dem D Drive?

Vielen dank

akretschmer
Erfahrener Benutzer
Beiträge: 7677
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Microsoft Failover Cluster mit PostgreSQL

Beitrag von akretschmer » Do 7. Mär 2019, 06:00

ich würde dir ganz klar dazu raten, statt Windows auf Linux zu setzen. Dann kannst Du unseren "repmgr" (steht für Replication Manager) verwenden, das ist unsere Cluster-Lösung. https://repmgr.org/

Von den hunderten Kunden mit tausenden Servern, die wir weltweit unter Support haben, ist mir kein System bekannt, was unter Windows mit einer HA-Lösung läuft. Es gibt max. vielleicht eine halbe handvoll Einzelsystem unter Windows.
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

castorp
Erfahrener Benutzer
Beiträge: 1174
Registriert: Sa 27. Jun 2009, 22:24
Wohnort: Bayern

Re: Microsoft Failover Cluster mit PostgreSQL

Beitrag von castorp » Do 7. Mär 2019, 07:30

m151a1 hat geschrieben:
Do 7. Mär 2019, 00:09
Und kann ich das program auf dem C Drive haben und the DB auf dem D Drive?
Das ist überhaupt kein Problem.
Zu dem "Microsoft Failover Cluster" kann ich nichts sagen, davon habe ich noch nie was gehört.
aber wenn ich den failover teste, der postgresql service started nicht auf dem zweiten server instanz....
Ohne mehr Details dazu wird Dir leider niemand helfen können. Ist der zweite Server als Hot Standby konfiguriert? Was ist die Fehlermeldung wenn Du die Instanz startest? Wenn man das über einen Windows Service macht, kriegt man im Regelfall kaum Fehlermeldungen zu sehen. Zur Fehleranalyse ist es oft hilfreich die Postgres Instanz "manuell" via pg_ctl zu starten, dann sieht man auf der Kommandozeile eher mal eine Fehlermeldung.

In sehr vielen Fällen liegt es aber an falschen Berechtigungen für das Data-Directory.


Letztendlich musst Du zwischen den beiden Servern eine Replikation aufsetzen - das kann man komplett ohne externe Tools machen (z.B. über streaming replication). Wesentlich leichter geht es aber mit z.B. dem repmgr oder anderen Lösungen - die gibt es aber alle nur für Linux. Anleitungen gibt es dafür wirklich ganz viele im Netz, die meisten natürlich für Linux. Wenn man sich auf die Anleitungen beschränkt, die nur die Tools verwenden die bei Postgres mit geliefert werden, kann man sowas auch mit Windows recht gut hinkriegen.

Sobald die Replikation läuft, musst Du dafür sorgen, dass für den Fall, dass der Master ausfällt, der Standby zum "neuen" Master gemacht wird, z.B. mit pg_ctl promote oder einem Trigger file.

Keine Ahnung ob die Cluster Software von MS sowas machen kann - letztendlich musst Du dort nach einer Möglichkeit suchen auf dem Standby ein Programm ausführen zu können (oder zumindest eine Datei anlegen) wenn der Failover Fall eintritt. Du musst aber auch sicherstellen, dass das Postgres auf dem "alten" Master auf jeden Fall gestoppt wird - auch da würde ich erwarten, dass eine Cluster Software sowas kann.

Letztendlich muss dann noch sicher gestellt werden, dass die IP Adresse gewechselt wird. Das wird normalerweise über sog. Virtual IPs gemacht. Ich würde jetzt erwarten, dass die Micrsoft Cluster Verwaltung das irgendwie zur Verfügung stellt.

Ich kann mich aber nur der Empfehlung von akretschmer anschließen: Du wirst wesentlich weniger Probleme haben wenn Du das mit Linux machst. Bzw. wenn Du Probleme hast, wirst Du viel mehr Leute finden, die das auch machen und helfen können.
A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

akretschmer
Erfahrener Benutzer
Beiträge: 7677
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Re: Microsoft Failover Cluster mit PostgreSQL

Beitrag von akretschmer » Do 7. Mär 2019, 07:43

die IP zu wechseln kann man sich evtl. sparen, wenn man das Autofailover-Feature der libpq oder des JDBC-Connectors nutzt.
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Antworten