News zu PostgreSQL Datenbank

PostgreSQL Cluster verwalten

Intro

Im Jahre 1996 wurde ein DBMS-Projekt namens “Postgres95” auf den uns heute bekannten Namen “PostgreSQL” getauft. In den folgenden Jahren erhielt PostgreSQL mit jedem neuen Release neben Sicherheitsupdates auch neue Features.

Seit Version 9.0 beherrscht PostgreSQL Streaming Replication und mit dem Release der Version 9.1 diese Replikation auch synchron. Ab Version 9.2 konnten die Replikationsverbindungen zusätzlich auch kaska­diert werden, was den Aufbau von komple­xeren Cluster-Strukturen ermöglicht.

Verwaltung von PostgreSQL Clustern mit repmgr

Selbstverständlich hast du die Möglichkeit, die Verwaltung deiner PostgreSQL Cluster händisch zu erledigen. Aber eine wirklich gute Option ist hier der Einsatz des Tools repmgr. Der repmgr ist ein Werkzeug zum Erstellen und Orchestrieren von PostgreSQL Clustern und kann mit jeder aktuell unter­stützten PostgreSQL Version einge­setzt werden. 

Mit diesem prakti­schen Werkzeug können Cluster von belie­biger Größe angelegt und verwaltet werden, inklusive kaska­dierter Standby-Instanzen. Zusätzlich können Standby-Instanzen zum Master promoted und die Replikationsverbindungen zwischen einzelnen Instanzen geschwenkt werden. Dabei greift repmgr ausschließlich auf vorhandene Funktionen und Werkzeuge von PostgreSQL zurück.

repmgr unter­stützt auch bei der Re-Integration von ehema­ligen Master-Instanzen in einen Cluster und dies sogar nach Split-Brain Szenarien –  entspre­chende PostgreSQL-Konfiguration voraus­ge­setzt. Ebenso ist es natürlich auch möglich, einzelne Instanzen wieder aus dem Cluster heraus zu lösen.

Neben dem manuellen Switchover ist der automa­ti­schen Failover ein weiteres nettes Feature, welche den repmgr zu einem vielsei­tigen Werkzeug macht. Bei Bedarf und als Versicherung gegen Split-Brain Szenarien bei Störung der Netzwerkverbindung zwischen den Instanzen kann eine sogenannte “Witness-Instanz” einge­setzt werden. Diese kann die Failover-Entscheidung bestä­tigen oder ablehnen.

repmgr greift nur auf die systemd-Services für die PostgreSQL-Instanzen und die jeweilige Master- oder Standby-Konfiguration zu. Dadurch können innerhalb des Clusters die meisten Parameter weiter indivi­duell festgelegt werden. Beispielsweise können verschiedene Replikationsverbindungen innerhalb des selben Clusters synchron und asynchron betrieben werden. Damit behält man auch in diesen Dingen die erfor­der­liche Flexibilität. 

Trotz aller Möglichkeiten und der zahlreichen Funktionen die sonst nur große kommer­zielle Lösungen bieten, bleibt das Einrichten und Bedienen vergleichs­weise einfach. Das macht repmgr (für uns) zum bevor­zugten Werkzeug für Master-Standby-Cluster bei PostgreSQL Datenbanken.

Du inter­es­sierst dich für andere Artikel rund um dieses Thema? Dann findest du hier weitere Posts rund um PostgreSQL Datenbanken oder auch HA Technologien wie Cluster, Failsafe oder Failover.

icon-arrow_right_medium-violet-blue.svg

Share this article

Facebook 
Twitter 
LinkedIn 
XING 
WhatsApp 
Email