Inhalt

Einführung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

Problem

Fehlerprotokolle

Lösung

Einführung

In diesem Dokument wird beschrieben, wie Sie MGMTPOSTGRES_SLAVE wiederherstellen, wenn kein Cluster mit dem MGMTPOSTGRESS_MASTER gebildet wird.

Voraussetzungen

Anforderungen

Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:

- Linux-Schnittstelle

- Umgebung virtueller Systeme

- Postgresql

- PCS (Pacemaker/Corosync Configuration System)

Verwendete Komponenten

Die Informationen in diesem Dokument basieren auf den folgenden Softwareversionen:

- CloudCenter Version 4.8.1.1

- MGMTPOSTGRES_SLAVE-Komponente

- MGMTPOSTGRES_MASTER-Komponente

Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.

Hintergrundinformationen

Wenn bei beiden MGMTPOSTGRES-Komponenten ein Fehler auftritt, bildet MGMTPOSTGRES_SLAVE keinen Cluster mehr mit dem MGMTPOSTGRES_MASTER.

Problem

MGMTPOSTGRES_SLAVE bildet keinen Cluster mit dem MGMTPOSTGRES_MASTER. Um beide MGMTPOSTGRES zu einem Cluster zu machen, muss die Datenbank MGMTPOSTGRES_SLAVE gelöscht werden. Anschließend wird die Datenbank vom MGMTPOSTGRES_MASTER wiederhergestellt.

Fehlerprotokolle

[root@mgmtpostgres_master etc]# pcs status

Cluster name: cliqrdbcluster

Stack: corosync

Current DC: dbmaster (version 1.1.15-11.e174ec8) – partition with quorum

Last updated: Mon Nov 13 19:15:30 2017                 Last changed: Mon Nov 13 16:59:51 2017 by root via crm_attribute on db master

2 nodes and 3 resources configured

Online: [ dbmaster dbslave ]

Full list of resrouces:

Resrouce Group: VIPGroup

PGMasterVIP             (ocf::heartbeat:IPaddr2):                    Started dbmaster

Master/Slave Set: mspostgresql [pgsql]

Masters: [ dbmaster ]

Stopped: [ dbslave ]

Failed Actions:

* pgsql_start_0 on dbslave ‘unknown error’ (1): call=11, status=Timed Out, exitreason=’none’,

last-rc-change=’Mon Nov 13 18:15:25 2017’, queued-0ms, exec=60003ms

Daemon Status:

corosyn: active/disabled

pacemaker: active/enabled

pcsd: inactive/disabled

Lösung

Mit der Wiederherstellung der MGMTPOSTGRES_SLAVE-Datenbank fortfahren, damit die MGMTPOSTGRES einen Cluster bilden können.

Schritt 1: Stellen Sie im MGMTPOSTGRES_MASTER sicher, dass der Cluster angehalten wird.

pcs cluster stop

pcs status

Schritt 2: Löschen Sie in MGMTPOSTGRES_SLAVE die vorhandene Datenbank.

rm -rf /var/lib/pgsql/9.5/data/*

Schritt 3: Starten Sie den Cluster im MGMTPOSTGRES_MASTER erneut.

pcs cluster start

pcs status

Schritt 4: Wiederherstellen der Datenbank in MGMTPOSTGRES_SLAVE aus dem MGMTPOSTGRES_MASTER.

/usr/pgsql-9.5/bin/pg_basebackup -h <MGMTPOSTGRES_MASTER-IP> -D /var/lib/pgsql/9.5/data/ -U replication -v -P --xlog-method=stream

Schritt 5: Ändern Sie in MGMTPOSTGRES_SLAVE den Besitzer der wiederhergestellten Datenbank.

chown postgres:postgres -R /var/lib/pgsql/9.5/data/*

Schritt 6: Starten Sie in MGMTPOSTGRES_SLAVE den Cluster.

pcs cluster start

pcs cluster status

Schritt 7: Bereinigen Sie im MGMTPOSTGRES_MASTER die Ressourcen, und überprüfen Sie den Cluster-Status.

pcs resource cleanup

pcs cluster status

Schritt 8: Überprüfen Sie im MGMTPOSTGRES_MASTER, ob eine Replikation vorhanden ist (suchen Sie die IP in der IP MGMTPOSTGRES_SLAVE).

ps –ef | grep postgr