Containerisiertes PostgreSQL mit Daten in einem verteilten Dateisystem

8

Ich bin neugierig, ob jemand tatsächlich PostgreSQL in einem Container in der Produktion auf einem verteilten Dateisystem ausführt - vorzugsweise GlusterFS oder so.

Ich laufe derzeit Mesos / Marathon. Wenn der PostgreSQL-Knoten ausfällt, startet Marathon einfach eine weitere Instanz von PostgreSQL auf anderen Knoten. Bei ordnungsgemäßer Ausführung (Serviceerkennung und Wiederherstellung der Anwendung nach Verlust der Datenbankverbindung) wird die endgültige Fehlertoleranz erreicht.

Ich weiß, dass PostgreSQL seine eigenen HA-Lösungen hat, wie Protokollversand und Hot-Standby-Backup, aber dann muss man das Problem noch lösen, wann man vom Master zum Slave wechselt, wie man es richtig macht und so weiter.

Wie führt man PostgreSQL in der Produktion auf GlusterFS oder ähnlichem aus? Wenn ja, ist es stabil? Wie wäre es mit Leistung?

Schweinchen
quelle
2
Wir haben schließlich CEPH verwendet. Das einzige, was ich bisher zu diesem Thema gefunden habe, ist youtube.com/watch?v=OqlC7S3cUKs
pigster
3
Es kann sich lohnen, repmgr ( repmgr.org ) für die Verwaltung Ihrer HA-Postgres-Failover zu verwenden, anstatt die Dinge mit Containern und Glanz zu überkomplizieren.
JamesHannah
1
Ich kann auch PAF: clusterlabs.github.io/PAF als Cluster-Manager für PostgreSQL erwähnen .
Pierre-Alain TORET

Antworten:

0

Aber dann muss man das Problem noch lösen, wann man vom Master zum Slave wechselt, wie man es richtig macht und so weiter.

Jeder Cluster hat normalerweise den Begriff des Quorums: Beobachter (Monitore, was auch immer) müssen entscheiden, welcher Knoten der Master ist. Dann können Sie ihre Informationen verwenden, um Anfragen richtig weiterzuleiten. Es ist ziemlich typisch laufen haproxy mit nicht nur grundlegende TCP / IP - Gesundheitschecks , aber einige hohe Logik mit dienstspezifische Abfragen implementiert.

Schauen Sie sich den Friedensstifter an , z.

poige
quelle
0

Sie müssen postgresql im Stateful-Service-Modus ausführen. Die Skalierung erfolgt durch Mesos, die Datenreplikation erfolgt jedoch durch das Postgresql selbst. Werfen Sie einen Blick auf den Stateful Service und die persistenten Volumes dieser Site .

affan
quelle