Fragen zur Replikation

Hallo,

ich haben eine PGSQL Datenbank. Die Daten werden per barman gesichert. Aktuell ist WAL Archiving (kein WAL Streaming) auf den Barman Server aktiv.

Nun sollen wir eine Replikation auf einen cold standby Knoten einrichten. Manuelles Umschalten im Problemfall oder bei größeren Wartungsarbeiten vom primary auf den secondary - und natürlich später wieder zurück.

Ich habe mir dafür das OpenSource Produkt repmgr angeschaut, das hier unterstützt (https://www.repmgr.org/)

Meine Fragen:

Habt Ihr Erfahrungen mit repmgr und könnt Ihr das tool empfehlen?

Und unabhängig vom Tool:
Den Normalfall (streaming funktioniert - switch over / failover ) habe ich getestet und verstanden.

Wenn ich nun aber auf die archivierten WALs zurückgreifen muss, weil z.B. der secondary mal für einige Zeit abgeschaltet wurde habe ich noch einen Knoten im Hirn.

Ich habe ja auf dem primären Knoten WAL Archiving zum barman Server konfiguriert.

archive_command = 'barman-wal-archive <IP>  vm1 %p'
restore_command = 'barman-wal-restore <IP>  vm1 %f %p'

Was trage ich da auf dem secondary ein?
Das gleiche Ziel wie beim primary:

archive_command = 'barman-wal-archive <IP>  vm1 %p'
restore_command = 'barman-wal-restore <IP>  vm1 %f %p'

Gibt es dann nicht Probleme, weil beide die WALs ins gleiche Directory archivieren?

Oder lege ich ein eigenes Backup profil an und archiviere dann nach dort

archive_command = 'barman-wal-archive <IP>  vm2 %p'
restore_command = 'barman-wal-restore <IP>  vm2 %f %p'

Aber dann müsste ich ja die WALs von vm1 nach vm2 kopieren, damit der Knoten nach der Downtime die WALs ziehen kann

Oder überkreuz?
Also bei vm1:

archive_command = 'barman-wal-archive <IP>  vm1 %p'
restore_command = 'barman-wal-restore <IP>  vm2 %f %p'

und bei vm2:

archive_command = 'barman-wal-archive <IP>  vm2 %p'
restore_command = 'barman-wal-restore <IP>  vm1 %f %p'

Das Ganze sollte ja auch weiter funktionieren, wenn der secondary zum primary wird.
Dann muss er ja seine WALs so archivieren, dass ich recoverfähig bleibe.
In diesem Fall muss ich ja dann entweder den bisherigen primary zum secondary machen oder beim Rückweg auf den primary ein basebackup einsetzen (wobei wir hier von bis zu 2TB Daten sprechen).

Ich finde in den vielen Dokumenten zur Replikation nichts was wirklich passt.

Danke

LG
Dirk

wenn Barman 2 identische WALs bekommt erkennt er dies und nimmt nur 1. Das kann z.B. auch passieren, wenn Du sowohl wal_archiving als auch streaming nutzt.

D.h. ich schicke die WAL Archive ans gleiche Ziel und es sollte funktionieren.

Danke für die schnelle Antwort

LG
Dirk

Dieses Thema wurde automatisch 60 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.