Introduction
Este documento descreve como mover o banco de dados PostgreSQL entre peers entre clusters em Mensagens Instantâneas (IM) e Presença (IM&P).
Contribuído por Joel Burleigh e editado por Joseph Koglin, engenheiro do TAC da Cisco
Prerequisites
Requirements
A Cisco recomenda que você tenha um ambiente que atenda a essas condições.
- Você tem dois clusters IM&P com a(s) versão(ões) 9.1.1
- Os correspondentes entre clusters foram configurados entre o cluster IM&P.
- O banco de dados PostgreSQL foi configurado em um cluster com uma única instância de banco de dados associada ao Editor de IM&P
Componentes Utilizados
As informações neste documento são baseadas nas seguintes versões de software e componentes:
- Versão(ões) do IM&P 9.1.1
- PostgreSQL
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.
Solução
Para eliminar qualquer confusão, esses termos serão usados para se referir aos Clusters IM&P e ao banco de dados PostgreSQL.
Termos
- Cluster1 - o cluster IM&P em que o banco de dados externo foi configurado originalmente
- Cluster2 - o cluster IM&P para o qual a configuração do banco de dados externo será movida.
- PostgreSQL - para o host de banco de dados externo
Etapas executadas
Aviso: essas etapas só devem ser utilizadas se você não tiver outras opções. Antes de prosseguir com estas etapas, discuta internamente para garantir que esta é a melhor solução.
Note: Deve-se observar que, se o chat persistente estiver configurado corretamente para peers entre clusters. Cada nó em cada cluster deve ter sua própria instância de banco de dados no PostgreSQL. A única exceção a isso é se a versão for 11.5 e superior.
Etapa 1. Primeiro insira o comando CLI do Editor de IM&P onde seu banco de dados está hospedado no momento (Cluster1).
run sql select * from tcaliases
Anote a ID da conferência criada dinamicamente e o alias criado manualmente associado ao cluster local.
Um exemplo de uma ID de conferência dinâmica é conference-2-StandAloneCluster2c2aa.jburleig.local. Você pode dizer que essa é a ID da conferência principal, pois a principal está definida como verdadeira e tem um valor no campo fkprocessnode
Um exemplo de um alias de nó de bate-papo é pchat1.jburleig.local, você pode dizer isso porque o principal está definido como falso, mas tem o mesmo valor de filho na coluna fkprocessnode que o ID de conferência principal.
Saída de exemplo:
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
Etapa 2. Crie um backup do banco de dados atual (PostgreSQL).
Note: Isso deve ser feito pelo administrador do banco de dados de acordo com os requisitos da sua empresa.
Etapa 3. Em seguida, crie uma nova instância de banco de dados (PostgreSQL)
- A tabela criada no comando abaixo é chamada de cluster2 e o usuário usado para criá-la é o cuser.
Note: O método Codificado do banco de dados pode ser diferente de UTF8.
CREATE DATABASE cluster2 WITH OWNER tcuser ENCODING 'UTF8'
Etapa 4. Você precisará adicionar uma nova entrada para permitir o acesso ao cliente ao novo banco de dados criado na etapa 2.
Se a nova configuração de banco de dados externo no cluster IM&P estiver em uma nova sub-rede IP, certifique-se de atualizar a sub-rede na entrada que você fizer no arquivo pg.hba.conf (PostgreSQL).
- Adicione a entrada ao install_dir/data/pg_hba.conf
host DBName DBUsere Subnet password
host cluster2 tcuser 10.10.1.0/24 password
Etapa 5. Em seguida, você precisará criar um novo banco de dados externo no cluster IM&P para o qual a configuração será movida (Cluster2)
- Navegue até Mensagens > Configuração do servidor externo > Bancos de dados externos
- Selecione o botão Adicionar novo e configure o novo banco de dados externo e use o nome do banco de dados e o usuário criado na etapa 3
Etapa 6. Agora, desative o bate-papo persistente no IM&P atual que hospeda a configuração de bate-papo persistente e cancele a atribuição do banco de dados externo associado à configuração de bate-papo persistente (Cluster1)
- Navegue até Mensagens > Bate-papo em grupo e Bate-papo persistente
- Desmarque a caixa de seleção Habilitar bate-papo persistente
- Definir o banco de dados externo como não atribuído
Passo 7. Em seguida, exclua a configuração do banco de dados externo (Cluster1)
- Navegue até Mensagens > Configuração do servidor externo > Bancos de dados externos
- Marque a caixa de seleção ao lado do banco de dados de bate-papo persistente PostgreSQL configurado e selecione excluir.
Etapa 8. Em seguida, exclua o alias personalizado do bate-papo persistente configurado no cluster atual (Cluster1)
- Navegue até Mensagens > Mapeamento de alias do servidor de bate-papo em grupo
- Marque a caixa de seleção ao lado do Alias configurado e selecione excluir.
Etapa 9. Depois que o chat persistente e a configuração do banco de dados externo tiverem sido completamente removidos (Cluster1) Reinicie o Cisco XCP Router (Cluster1)
Etapa 10. Em seguida, ative o chat persistente (Cluster2) e atribua o banco de dados externo criado na etapa 5.
- Navegue até Mensagens > Bate-papo em grupo e Bate-papo persistente
- Marque a caixa de seleção Ativar bate-papo persistente
- Defina o banco de dados externo para o banco de dados externo criado na etapa 5.
Etapa 11. Verifique se o teste de conectividade do banco de dados externo mostra ok on (Cluster2) depois de habilitar o bate-papo persistente, continue somente se ele tiver todas as marcas de seleção verdes.
- Navegue até Mensagens > Configuração do servidor externo > Bancos de dados externos
- Verifique se a solução de problemas de banco de dados externo mostra marcas de verificação verdes.
- Selecione o banco de dados externo configurado que foi configurado na etapa 5
Etapa 12. Crie um alias personalizado em (Cluster2) Certifique-se de usar o nome exato do que você excluiu do cluster antigo. Você pode encontrar o nome do alias na saída da etapa 1.
- Navegue até Mensagens > Mapeamento de alias do servidor de bate-papo em grupo > Adicionar novo
- Adicione exatamente o mesmo alias que usa para ser configurado no Cluster1. Você pode encontrar o nome do alias na saída do comando da Etapa 1.
Etapa 13. Em seguida, reinicie o roteador XCP (Cluster2)
Etapa 14. Depois que o Cisco XCP Router for reiniciado com êxito (Cluster2), continue e interrompa o Cisco Text Conferencing Manager (Cluster2)
Etapa 15. Execute uma restauração de banco de dados com o backup PostgreSQL feito na etapa 2. Certifique-se de restaurar o backup para a nova instância do banco de dados criada na etapa 3 (PostgreSQL)
- Verifique se os dados importados estão nas tabelas tc_rooms, tc_users, tc_messages e tc_msgarchive.
Etapa 16. Em seguida, reinicie o serviço PostgreSQL (PostgreSQL)
Etapa 17. Em seguida, inicie o gerenciador de conferência de texto no cluster2.
- Nesse ponto, se um usuário fizer login no Jabber, poderá ver qualquer sala de chat criada com o Alias de chat persistente. As salas de chat associadas à ID de conferência da sala de chat atribuída dinamicamente não serão exibidas, pois estão associadas ao cluster antigo. Você corrigirá isso executando os comandos de atualização do SQL no servidor PostgreSQL.
Etapa 18. Na linha de comando PostgreSQL, execute esses comandos para atualizar a ID da conferência antiga para o novo alias criado na etapa 12. (PostgreSQL)
Note: Você precisará adaptar esses comandos para conter sua ID de conferência do Cluster1 e a ID do alias configurada.
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’);
Etapa 19. Em seguida, reinicie o serviço PostgreSQL (PostgreSQL)
Etapa 20. Em seguida, reinicie o gerenciador de conferência de texto (Cluster2)
Etapa 21. Neste ponto, os clientes Jabber devem conseguir fazer login no IM&P e recuperar todas as salas na guia Todas as salas.