Introduzione
Questo documento descrive come recuperare MGMTPOSTGRES_SLAVE quando non forma un cluster con MGMTPOSTGRESS_MASTER.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Interfaccia Linux
- Ambiente macchina virtuale
- postgresql
- Sistema di configurazione Pacemaker/Corosync (PCS)
Componenti usati
Le informazioni di questo documento si basano sulle seguenti versioni software:
- CloudCenter versione 4.8.1.1
- Componente MGMTPOSTGRES_SLAVE
- Componente MGMTPOSTGRES_MASTER
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Premesse
Se si verifica un errore in entrambi i componenti MGMTPOSTGRES, MGMTPOSTGRES_SLAVE non formerà più un cluster con MGMTPOSTGRES_MASTER.
Problema
MGMTPOSTGRES_SLAVE non forma un cluster con MGMTPOSTGRES_MASTER. Per consentire a MGMTPOSTGRES di formare un cluster, è necessario eliminare il database MGMTPOSTGRES_SLAVE. Quindi, il database verrà recuperato da MGMTPOSTGRES_MASTER.
Registri errori
[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
Soluzione
Procedere al recupero del database MGMTPOSTGRES_SLAVE per consentire a MGMTPOSTGRES di formare un cluster.
Passaggio 1. In MGMTPOSTGRES_MASTER verificare che il cluster sia arrestato.
pcs cluster stop
pcs status
Passaggio 2. In MGMTPOSTGRES_SLAVE eliminare il database esistente.
rm -rf /var/lib/pgsql/9.5/data/*
Passaggio 3. In MGMTPOSTGRES_MASTER avviare nuovamente il cluster.
pcs cluster start
pcs status
Passaggio 4. In MGMTPOSTGRES_SLAVE, recuperare il database da 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
Passaggio 5. In MGMTPOSTGRES_SLAVE modificare la proprietà del database recuperato.
chown postgres:postgres -R /var/lib/pgsql/9.5/data/*
Passaggio 6. In MGMTPOSTGRES_SLAVE avviare il cluster.
pcs cluster start
pcs cluster status
Passaggio 7. In MGMTPOSTGRES_MASTER, pulire le risorse e controllare lo stato del cluster.
pcs resource cleanup
pcs cluster status
Passaggio 8. In MGMTPOSTGRES_MASTER, verificare che esista una replica (cercare l'indirizzo IP nell'indirizzo IP MGMTPOSTGRES_SLAVE).
ps –ef | grep postgr