In den folgenden Abschnitten finden Sie eine Anleitung zum Konfigurieren des primären AlloyDB Omni-Servers für die Replikation, zum Konfigurieren des Replikatservers und zum Prüfen des Replikationsstatus auf dem primären Server.
Hinweis
Bevor Sie fortfahren, installieren und richten Sie AlloyDB Omni mit dem RPM-Paket ein. Weitere Informationen finden Sie unter AlloyDB Omni für Linux installieren.
Primären Server für die Replikation konfigurieren
Aktualisieren Sie die Netzwerk- oder Firewalleinstellungen des Hosts Ihres primären Servers, sodass eingehender Traffic vom Host des Replikatservers über den Postgres-Port des primären Servers zugelassen wird.
Replikationsnutzer erstellen:
psql -h localhost -U postgres -c "create user REPLICA_USER with replication password 'PASSWORD'; grant pg_read_all_settings to REPLICA_USER;"Fügen Sie die folgenden Zeilen in der Datei
/DATA_DIR/pg_hba.confdes primären Servers vorhost all all all scram-sha-256ein, die in der Datei vorhanden ist:host alloydbmetadata alloydbmetadata IP_RANGE trust host replication REPLICA_USER IP_RANGE scram-sha-256Ersetzen Sie Folgendes:
IP_RANGE: Der IP-Bereich des Subnetzes, in dem sich Ihr Replikatcomputer befindet, in CIDR-Notation. Beispiel:203.0.113.0/24DATA_DIR: Der Datenverzeichnispfad des primären Servers.
Starten Sie den primären Server neu:
sudo systemctl restart alloydbomniPG_VERSION
Replikatserver erstellen und konfigurieren
So erstellen und konfigurieren Sie einen AlloyDB Omni-Replikatserver:
Prüfen Sie, ob das Replikat eine Netzwerkverbindung zum primären Server hat:
ping SOURCE_IPErsetzen Sie
SOURCE_IPdurch die IP-Adresse der primären AlloyDB Omni-Instanz, von der repliziert werden soll.Prüfen Sie, ob das Replikat eine Verbindung zum primären Server herstellen kann:
psql "host=SOURCE_IP user=REPLICA_USER replication=1" -c "IDENTIFY_SYSTEM;"Die Ausgabe sollte in etwa so aussehen:
systemid | timeline | xlogpos | dbname ---------------------+----------+-----------+-------- 7376500460465963036 | 1 | 0/454B670 | (1 row)Das Replikat muss einen nichtflüchtigen Speicher auf dem Laufwerk haben:
pg_basebackup \ --pgdata=DATA_DIR \ --checkpoint=fast \ --host="SOURCE_IP" \ --port="SOURCE_PORT" \ --username=REPLICA_USER \ --create-slot \ --write-recovery-conf \ --slot="SLOT_NAME"Ersetzen Sie Folgendes:
SOURCE_PORT: Der TCP-Port der primären AlloyDB Omni-Instanz, von der repliziert werden soll. Wenn Sie diesen Wert nicht angeben, wendet AlloyDB Omni den Standardwert5432an.SLOT_NAME: Das Label für den Namen des Replikations-Slots.DATA_DIR: Der Datenverzeichnispfad für den Replikatserver.
Starten Sie die Replikatinstanz:
sudo systemctl start alloydbomniPG_VERSION
Replikationsstatus auf dem primären Server prüfen
Führen Sie den folgenden Befehl auf dem Host des primären Servers aus, um zu prüfen, ob die Replikation richtig konfiguriert ist:
psql -h localhost -U postgres -c "select * from pg_stat_replication"Die Ausgabetabelle enthält eine Zeile für jedes Replikat, das mit Ihrem primären Datenbankserver verbunden ist.
Nachdem Sie die Replikation eingerichtet haben, sind alle Einfügungen, Aktualisierungen und Löschungen von Zeilen auf Ihrem primären Datenbankserver innerhalb von Sekunden auf Ihrem Replikat lesbar.