Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Soluzione

Termini

Passi eseguiti

Introduzione

In questo documento viene descritto come spostare il database PostgreSQL tra peer tra cluster in Messaggistica immediata (IM) e Presenza (IM&P).

Contributo di Joel Burleigh e curato da Joseph Koglin, Cisco TAC Engineers

Prerequisiti

Requisiti

Cisco consiglia di disporre di un ambiente che soddisfi queste condizioni.

- Sono presenti due cluster IM&P con versione/i 9.1.1

- Sono stati impostati peer tra cluster IM&P.

- Il database PostgreSQL è stato configurato in un cluster con una singola istanza di database associata al server di pubblicazione IM&P

Componenti usati

Le informazioni di questo documento si basano sulle seguenti versioni software e componenti:

- IM&P versione/i 9.1.1

- PostgreSQL

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.

Soluzione

Per evitare qualsiasi confusione, questi termini verranno utilizzati per fare riferimento ai cluster IM&P e al database PostgreSQL.

Termini

- Cluster1 - Cluster IM&P in cui è stato originariamente configurato il database esterno

- Cluster2 - Cluster IM&P in cui verrà spostata la configurazione del database esterno.

- PostgreSQL - per l'host del database esterno

Passi eseguiti

Avvertenza: questi passaggi devono essere utilizzati solo se non si dispone di altre opzioni. Prima di procedere, discutere internamente questa procedura per assicurarsi che questa sia la soluzione migliore.

Nota: Si noti che se la chat persistente è configurata correttamente per i peer tra cluster. Ogni nodo di ogni cluster deve disporre di una propria istanza di database in PostgreSQL. L'unica eccezione è se la versione è 11.5 e successiva.

Passaggio 1. Immettere prima il comando CLI dal server di pubblicazione IM&P in cui è attualmente ospitato il database (Cluster1).

run sql select * from tcaliases

Prendere nota dell'ID conferenza creato in modo dinamico e dell'alias creato manualmente associato al cluster locale.

Un esempio di ID conferenza dinamico è conference-2-StandAloneCluster2c2aa.jburling.local. È possibile stabilire se si tratta dell'ID conferenza primario, poiché l'ID primario è impostato su true e ha un valore nel campo fkprocessnode

Un esempio di alias del nodo di chat è pchat1.jburling.local. È possibile verificare questa condizione perché il nodo primario è impostato su false ma ha lo stesso valore pkid nella colonna fkprocessnode di quello dell'ID conferenza primario.

Output di esempio:

admin:run sql select * from tcaliases

pkid                                  tcalias                                             isprimary  fkprocessnode                        peerclusterid

====================================  ==================================================  =========  ==================================== ==============

50a4cf3b-0474-4723-ba50-4cd2cc1dd277  conference-2-StandAloneCluster2c2aa.jburleig.local      t      2c2aa1f6-cc7a-470a-a0ba-c8a892db68ca  NULL

9eca651d-5a67-3116-a57b-1eb2ab0911bd  pchat1.jburleig.local                                   f      2c2aa1f6-cc7a-470a-a0ba-c8a892db68ca  NULL

838e900a-0d2f-4843-be00-ac0a6c803ab5  conference-2-StandAloneClustercbea5.jburleig.local      f      NULL                                  2202

Passaggio 2. Creare una copia di backup del database corrente (PostgreSQL).

Nota: Questa operazione deve essere eseguita dall'amministratore del database in conformità con i requisiti dell'organizzazione.

Passaggio 3. Creare una nuova istanza di database (PostgreSQL)

- La tabella creata nel comando seguente è denominata cluster2 e l'utente utilizzato per crearla è tcuser.

Nota: Il metodo Encoded del database potrebbe essere diverso da UTF8.

CREATE DATABASE cluster2 WITH OWNER tcuser ENCODING 'UTF8'

Passaggio 4. È necessario aggiungere una nuova voce per consentire l'accesso al tcuser al nuovo database creato nel passaggio 2.

Se la nuova configurazione del database esterno sul cluster IM&P si trova su una nuova subnet IP, assicurarsi di aggiornare la subnet nella voce creata nel file pg.hba.conf (PostgreSQL).

- Aggiungere la voce alla directory install_dir/data/pg_hba.conf

host      DBName          DBUsere          Subnet             password

host      cluster2        tcuser           10.10.1.0/24       password

Passaggio 5. Sarà quindi necessario creare un nuovo database esterno nel cluster IM&P in cui verrà spostata la configurazione (Cluster2)

- Passare a Messaggistica > Impostazione server esterno > Database esterni

- Selezionare il pulsante Aggiungi nuovo, configurare il nuovo database esterno e utilizzare il nome del database e l'utente creati nel passaggio 3

Passaggio 6. Disabilitare la chat persistente nella messaggistica immediata corrente che ospita la configurazione della chat persistente e annullare l'assegnazione del database esterno associato alla configurazione della chat persistente (Cluster1)

- Passa a Messaggistica > Group Chat e Chat persistente

- Deselezionare la casella di controllo Abilita Chat persistente

- Imposta il database esterno su non assegnato

Passaggio 7. Eliminare quindi la configurazione del database esterno (Cluster1)

- Passare a Messaggistica > Impostazione server esterno > Database esterni

- Selezionare la casella di controllo accanto al database di Chat persistente PostgreSQL configurato e selezionare elimina.

Passaggio 8. Eliminare quindi l'alias personalizzato di Chat persistente configurato nel cluster corrente (Cluster1)

- Passare a Messaggistica > Mapping alias server chat di gruppo

- Selezionare la casella di controllo accanto all'alias configurato e scegliere Elimina.

Passaggio 9. Dopo aver rimosso completamente la configurazione della chat persistente e del database esterno (Cluster1) Riavviare il router Cisco XCP (Cluster1)

Passaggio 10. Abilitare la chat persistente in (Cluster2) e assegnare il database esterno creato nel passaggio 5.

- Passa a Messaggistica > Group Chat e Chat persistente

- Selezionare la casella di controllo Abilita Chat persistente

- Impostare il database esterno sul database esterno creato nel passaggio 5.

Passaggio 11. Verificare che il test di connettività del database esterno indichi ok su (Cluster2) dopo aver abilitato la chat persistente, continuare solo se presenta tutti i segni di spunta verdi.

- Passare a Messaggistica > Impostazione server esterno > Database esterni

- Verificare che in Risoluzione dei problemi relativi al database esterno siano visualizzati segni di spunta verdi.

- Selezionare il database esterno configurato impostato nel passaggio 5

Passaggio 12. Creare un alias personalizzato in (Cluster2) Assicurarsi di utilizzare il nome esatto di quello eliminato dal cluster precedente. Il nome dell'alias è disponibile nell'output del passaggio 1.

- Passare a Messaggistica > Mapping alias server chat di gruppo > Aggiungi nuovo

- Aggiungere lo stesso alias da configurare in Cluster1. Il nome alias è disponibile nell'output del comando di Step1.

Passaggio 13. Riavviare quindi il router XCP (Cluster2)

Passaggio 14. Dopo il riavvio del router Cisco XCP (Cluster2), procedere e arrestare Cisco Text Conferencing Manager (Cluster2)

Passaggio 15. Eseguire un ripristino del database con il backup PostgreSQL eseguito nel passaggio 2. Assicurarsi di ripristinare il backup nella nuova istanza di database creata nel passaggio 3 (PostgreSQL)

- Verificare che i dati importati si trovino nelle tabelle tc_room, tc_users, tc_messages e tc_msgarchive.

Passaggio 16. Riavviare il servizio PostgreSQL (PostgreSQL)

Passaggio 17. Avviare quindi Gestione conferenze di testo in cluster2.

- A questo punto, se un utente accede a Jabber, sarà in grado di vedere una qualsiasi delle chat room create con l'alias della chat persistente. Le chat room associate all'ID conferenza chat room assegnato in modo dinamico non verranno visualizzate perché sono attualmente associate al cluster precedente. Per risolvere il problema, eseguire i comandi di aggiornamento SQL nel server PostgreSQL.

Passaggio 18. Dalla riga di comando PostgreSQL eseguire questi comandi per aggiornare il vecchio ID conferenza al nuovo alias creato nel passaggio 12. (PostgreSQL)

Nota: È necessario adattare questi comandi per contenere l'ID conferenza Cluster1 e l'ID alias configurato.

Updates for tc_rooms

update tc_rooms set room_jid = replace(room_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

Updates for tc_users

update tc_users set room_jid = replace(room_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

update tc_users set nick_jid = replace(nick_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

update tc_users set initiator_jid = replace(initiator_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

Updates for tc_messages

update tc_messages set room_jid = replace(room_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

update tc_messages set msg = replace(msg, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

Updates for tc_msgarchive

update tc_msgarchive set to_jid = replace(to_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

update tc_ msgarchive set nick_jid = replace(nick_jid, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

update tc_ msgarchive set message_string = replace(message_string, ‘conference-2-StandAloneCluster2c2aa.jburleig.local’, ‘pchat1.jburleig.local’);

Passaggio 19. Riavviare il servizio PostgreSQL (PostgreSQL)

Passaggio 20. Riavviare quindi Gestione conferenze di testo (Cluster2)

Passaggio 21. A questo punto, i client Jabber devono essere in grado di accedere a IM&P e recuperare tutte le room nella scheda Tutte le room.