Introduction
Este documento descreve como recuperar o MGMTPOSTGRES_SLAVE quando ele não forma um cluster com o MGMTPOSTGRESS_MASTER.
Prerequisites
Requirements
A Cisco recomenda que você tenha conhecimento destes tópicos:
- Interface Linux
- Ambiente de Máquina Virtual
- postgresql
- Pacemaker/Sistema de Configuração Corosync (PCS)
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software:
- CloudCenter versão 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. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Informações de Apoio
Se houver uma falha em ambos os componentes do MGMTPOSTGRES, o MGMTPOSTGRES_SLAVE não forma mais um cluster com o MGMTPOSTGRES_MASTER.
Problema
O MGMTPOSTGRES_SLAVE não forma um cluster com o MGMTPOSTGRES_MASTER. Para que o MGMTPOSTGRES forme um cluster, o banco de dados MGMTPOSTGRES_SLAVE precisa ser excluído. Em seguida, o banco de dados será recuperado do MGMTPOSTGRES_MASTER.
Logs de erro
[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
Solução
Continue a recuperar o banco de dados MGMTPOSTGRES_SLAVE para que o MGMTPOSTGRES forme um cluster.
Etapa 1. No MGMTPOSTGRES_MASTER, verifique se o cluster foi interrompido.
pcs cluster stop
pcs status
Etapa 2. Em MGMTPOSTGRES_SLAVE, exclua o banco de dados existente.
rm -rf /var/lib/pgsql/9.5/data/*
Etapa 3. No MGMTPOSTGRES_MASTER, inicie o cluster novamente.
pcs cluster start
pcs status
Etapa 4. Em MGMTPOSTGRES_SLAVE, recupere o banco de dados 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
Etapa 5. Em MGMTPOSTGRES_SLAVE, altere a propriedade do banco de dados recuperado.
chown postgres:postgres -R /var/lib/pgsql/9.5/data/*
Etapa 6. Em MGMTPOSTGRES_SLAVE, inicie o cluster.
pcs cluster start
pcs cluster status
Passo 7. No MGMTPOSTGRES_MASTER, limpe os recursos e verifique o status do cluster.
pcs resource cleanup
pcs cluster status
Etapa 8. No MGMTPOSTGRES_MASTER, verifique se há replicação (procure o IP no IP MGMTPOSTGRES_SLAVE).
ps –ef | grep postgr