Introducción
Este documento describe cómo recuperar el MGMTPOSTGRES_SLAVE cuando no forma un clúster con el MGMTPOSTGRESS_MASTER.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Interfaz Linux
- Entorno de máquina virtual
- postgresql
- Sistema de configuración de marcapasos/corosync (PCS)
Componentes Utilizados
La información que contiene este documento se basa en estas versiones de software:
- CloudCenter versión 4.8.1.1
- Componente MGMTPOSTGRES_SLAVE
- Componente 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 tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
Si hay una falla en ambos componentes MGMTPOSTGRES, el MGMTPOSTGRES_SLAVE ya no forma un clúster con el MGMTPOSTGRES_MASTER.
Problema
MGMTPOSTGRES_SLAVE no forma un clúster con MGMTPOSTGRES_MASTER. Para que ambos MGMTPOSTGRES formen un clúster, se debe eliminar la base de datos MGMTPOSTGRES_SLAVE. A continuación, la base de datos se recuperará de MGMTPOSTGRES_MASTER.
Registros de errores
[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
Solución
Proceda a recuperar la base de datos MGMTPOSTGRES_SLAVE para que MGMTPOSTGRES forme un clúster.
Paso 1. En MGMTPOSTGRES_MASTER, asegúrese de que el clúster se detiene.
pcs cluster stop
pcs status
Paso 2. En MGMTPOSTGRES_SLAVE, elimine la base de datos existente.
rm -rf /var/lib/pgsql/9.5/data/*
Paso 3. En MGMTPOSTGRES_MASTER, inicie el clúster de nuevo.
pcs cluster start
pcs status
Paso 4. En MGMTPOSTGRES_SLAVE, recupere la base de datos de MGTPOSTGRES_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
Paso 5. En MGMTPOSTGRES_SLAVE, cambie la propiedad de la base de datos recuperada.
chown postgres:postgres -R /var/lib/pgsql/9.5/data/*
Paso 6. En MGMTPOSTGRES_SLAVE, inicie el clúster.
pcs cluster start
pcs cluster status
Paso 7. En MGMTPOSTGRES_MASTER, limpie los recursos y verifique el estado del clúster.
pcs resource cleanup
pcs cluster status
Paso 8. En MGMTPOSTGRES_MASTER, verifique que haya replicación (busque la IP en la IP MGTPOSTGRES_SLAVE).
ps –ef | grep postgr