Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Informations générales

Problème

Journaux d'erreur

Solution

Introduction

Ce document décrit comment récupérer MGMTPOSTGRES_SLAVE lorsqu'il ne forme pas de cluster avec MGMTPOSTGRESS_MASTER.

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Interface Linux

- Environnement de machine virtuelle

- postgresql

- Système de configuration Pacemaker/Corosync (PCS)

Components Used

Les informations contenues dans ce document sont basées sur les versions de logiciel suivantes :

- CloudCenter version 4.8.1.1

- Composant MGMTPOSTGRES_SLAVE

- Composant MGMTPOSTGRES_MASTER

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Informations générales

En cas de défaillance des deux composants MGMTPOSTGRES, MGMTPOSTGRES_SLAVE ne forme plus un cluster avec MGMTPOSTGRES_MASTER.

Problème

Le MGMTPOSTGRES_SLAVE ne forme pas de cluster avec le MGMTPOSTGRES_MASTER. Pour que les deux MGMTPOSTGRES forment un cluster, la base de données MGMTPOSTGRES_SLAVE doit être supprimée. Ensuite, la base de données sera récupérée à partir de MGMTPOSTGRES_MASTER.

Journaux d'erreur

[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

Solution

Procédez à la récupération de la base de données MGMTPOSTGRES_SLAVE afin que MGMTPOSTGRES forme un cluster.

Étape 1. Dans MGMTPOSTGRES_MASTER, assurez-vous que le cluster est arrêté.

pcs cluster stop

pcs status

Étape 2. Dans MGMTPOSTGRES_SLAVE, supprimez la base de données existante.

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

Étape 3. Dans MGMTPOSTGRES_MASTER, redémarrez le cluster.

pcs cluster start

pcs status

Étape 4. Dans MGMTPOSTGRES_SLAVE, récupérez la base de données à partir de 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

Étape 5. Dans MGMTPOSTGRES_SLAVE, modifiez la propriété de la base de données récupérée.

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

Étape 6. Dans MGMTPOSTGRES_SLAVE, démarrez le cluster.

pcs cluster start

pcs cluster status

Étape 7. Dans MGMTPOSTGRES_MASTER, nettoyez les ressources et vérifiez l'état du cluster.

pcs resource cleanup

pcs cluster status

Étape 8. Dans MGMTPOSTGRES_MASTER, vérifiez qu'il existe une réplication (recherchez l'adresse IP dans l'adresse IP MGMTPOSTGRES_SLAVE).

ps –ef | grep postgr