Introducción
Este documento describe cómo mover la base de datos PostgreSQL entre pares entre clústeres en Mensajería instantánea (IM) y Presencia (IM&P).
Colaborado por Joel Burleigh y editado por Joseph Koglin, Ingenieros del TAC de Cisco
Prerequisites
Requirements
Cisco recomienda disponer de un entorno que cumpla estas condiciones.
- Tiene dos clústeres de IM&P con versiones 9.1.1
- Se configuraron pares entre clústeres entre clústeres de IM&P.
- La base de datos PostgreSQL se configuró en un clúster con una única instancia de base de datos asociada al Editor de IM&P
Componentes Utilizados
La información de este documento se basa en estas versiones y componentes de software:
- Versiones de 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. Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Solución
Para eliminar cualquier confusión, estos términos se utilizarán para hacer referencia a los clústeres de IM&P y a la base de datos PostgreSQL.
Términos
- Clúster1: el clúster de IM&P donde se configuró originalmente la base de datos externa
- Clúster 2: el clúster de IM&P al que se moverá la configuración de la base de datos externa.
- PostgreSQL: para el host de base de datos externo
Pasos realizados
Advertencia: Estos pasos sólo se deben utilizar si no dispone de otras opciones. Antes de continuar con estos pasos, hable internamente para asegurarse de que esta es la mejor solución.
Nota: Se debe tener en cuenta que si el chat perspicaz se configura correctamente para los pares entre clústeres. Cada nodo de cada clúster debe tener su propia instancia de base de datos en PostgreSQL. La única excepción a esto es si la versión es 11.5 y posterior.
Paso 1. Primero introduzca el comando CLI del editor de IM&P donde se encuentra actualmente su base de datos (Cluster1).
run sql select * from tcaliases
Anote el ID de conferencia creado dinámicamente y el alias creado manualmente asociado al clúster local.
Un ejemplo de ID de conferencia dinámica es conference-2-StandAloneCluster2c2aa.jburleig.local. Puede indicar que se trata del ID de conferencia principal, ya que el principal está establecido en true y tiene un valor en el campo fkprocessnode
Un ejemplo de un alias de nodo de chat es pchat1.jburleig.local que se puede indicar porque el primario está establecido en false pero tiene el mismo valor pkid en la columna fkprocessnode que el ID de conferencia principal.
Ejemplo de salida:
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
Paso 2. Cree una copia de seguridad de la base de datos actual (PostgreSQL).
Nota: El administrador de la base de datos debe hacerlo de acuerdo con los requisitos de su organización.
Paso 3. A continuación, cree una nueva instancia de base de datos (PostgreSQL)
- La tabla creada en el siguiente comando se denomina cluster2 y el usuario utilizado para crearla es tcuser.
Nota: El método Encoding de la base de datos podría ser diferente al UTF8.
CREATE DATABASE cluster2 WITH OWNER tcuser ENCODING 'UTF8'
Paso 4. Deberá agregar una nueva entrada para permitir el acceso al explorador a la nueva base de datos creada en el paso 2.
Si la nueva configuración de la base de datos externa en el clúster de IM&P estará en una nueva subred IP, asegúrese de actualizar la subred en la entrada que haga en el archivo pg.hba.conf (PostgreSQL).
- Agregue la entrada a install_dir /data/pg_hba.conf
host DBName DBUsere Subnet password
host cluster2 tcuser 10.10.1.0/24 password
Paso 5. A continuación, deberá crear una nueva base de datos externa en el clúster de IM&P al que se trasladará la configuración (Clúster 2)
- Vaya a Mensajería > Configuración de servidor externo > Bases de datos externas
- Seleccione el botón Add New y configure la nueva base de datos externa y utilice el nombre de la base de datos y el usuario creados en el paso 3
Paso 6. Desactive ahora el chat persistente en el IM&P actual que aloja la configuración de chat persistente y desasigne la base de datos externa asociada a la configuración de chat persistente (Cluster1)
- Vaya a Mensajería > Chat en grupo y Chat persistente
- Desmarque la casilla Enable Persistent Chat
- Establecer la base de datos externa como no asignada
Paso 7. A continuación, elimine la configuración de la base de datos externa (Cluster1)
- Vaya a Mensajería > Configuración de servidor externo > Bases de datos externas
- Active la casilla de verificación situada junto a la base de datos de chat persistente configurada de PostgreSQL y seleccione eliminar.
Paso 8. A continuación, elimine el alias personalizado de chat persistente configurado en el clúster actual (Cluster1)
- Vaya a Mensajería > Asignación de Alias de Servidor de Chat de Grupo
- Seleccione la casilla de verificación junto al Alias configurado y seleccione delete .
Paso 9. Una vez que se haya eliminado completamente el chat persistente y la configuración de la base de datos externa (Cluster1) Reinicie el router Cisco XCP (Cluster1)
Paso 10. A continuación, active el chat persistente en (Cluster2) y asigne una base de datos externa creada en el paso 5.
- Vaya a Mensajería > Chat en grupo y Chat persistente
- Marque la casilla de verificación Activar conversación persistente
- Establezca la base de datos externa en la base de datos externa que se creó en el paso 5.
Paso 11. Verifique que la prueba de conectividad de la base de datos externa muestre ok on (Cluster2) después de activar el chat persistente, continúe sólo si tiene todas las marcas de verificación verdes.
- Vaya a Mensajería > Configuración de servidor externo > Bases de datos externas
- Verifique que el solucionador de problemas de la base de datos externa muestre marcas de verificación verdes.
- Seleccione la base de datos externa configurada en el paso 5
Paso 12. Cree un alias personalizado en (Cluster2) Asegúrese de utilizar el nombre exacto del que ha eliminado del antiguo clúster. Puede encontrar el nombre del alias en el resultado del paso 1.
- Vaya a Mensajería > Asignación de Alias de Servidor de Chat de Grupo > Agregar Nuevo
- Agregue exactamente el mismo alias que se va a configurar en Cluster1. Puede encontrar el nombre de alias en el resultado del comando desde el Paso 1.
Paso 13. Siguiente Reiniciar el router XCP (Cluster2)
Paso 14. Una vez que el router Cisco XCP se haya reiniciado correctamente (Cluster2), continúe y detenga Cisco Text Conferencing Manager (Cluster2)
Paso 15. Realice una restauración de la base de datos con la copia de seguridad PostgreSQL que se realizó en el paso 2. Asegúrese de restaurar la copia de seguridad en la nueva instancia de base de datos creada en el paso 3 (PostgreSQL)
- Verifique que los datos importados estén en las tablas tc_rooms, tc_users, tc_messages y tc_msgarchive.
Paso 16. A continuación, reinicie el servicio PostgreSQL (PostgreSQL)
Paso 17. A continuación, inicie el administrador de conferencia de texto en cluster2.
- En este momento, si un usuario inicia sesión en Jabber, podrá ver cualquiera de las salas de chat creadas con el alias de chat persistente. Las salas de chat asociadas a la ID de conferencia de la sala de chat asignada dinámicamente no se mostrarán, ya que están asociadas al antiguo clúster. Para corregir esto, ejecute los comandos de actualización SQL en el servidor PostgreSQL.
Paso 18. Desde la línea de comandos PostgreSQL, ejecute estos comandos para actualizar el ID de conferencia antiguo al nuevo alias creado en el paso 12. (PostgreSQL)
Nota: Deberá adaptar estos comandos para que contengan el ID de conferencia de Cluster1 y el ID de alias que ha configurado.
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’);
Paso 19. A continuación, reinicie el servicio PostgreSQL (PostgreSQL)
Paso 20. A continuación, reinicie el administrador de conferencias de texto (Cluster2)
Paso 21. En este momento, los clientes Jabber deben poder iniciar sesión en IM&P y recuperar todas las habitaciones en la pestaña Todas las habitaciones.