Introduction
Ce document décrit comment déplacer la base de données PostgreSQL entre des homologues inter-clusters dans Messagerie instantanée (IM) et Présence (IM&P).
Contribué par Joel Burleigh et édité par Joseph Koglin, Ingénieurs TAC Cisco
Conditions préalables
Conditions requises
Cisco vous recommande de disposer d'un environnement répondant à ces conditions.
- Vous avez deux clusters IM&P avec la ou les versions 9.1.1
- Des homologues inter-clusters ont été configurés entre le cluster IM&P.
- La base de données PostgreSQL a été configurée sur un cluster avec une instance de base de données unique associée à IM&P Publisher
Components Used
Les informations de ce document sont basées sur les versions et composants logiciels suivants :
- IM&P version(s) 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 votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Solution
Pour éviter toute confusion, ces termes seront utilisés pour faire référence aux clusters IM&P et à la base de données PostgreSQL.
Termes
- Cluster1 : cluster IM&P dans lequel la base de données externe a été initialement configurée
- Cluster2 : cluster IM&P dans lequel la configuration de la base de données externe sera déplacée.
- PostgreSQL - pour l'hôte de base de données externe
Étapes effectuées
Avertissement : ces étapes ne doivent être utilisées que si vous n'avez pas d'autres options. Avant de procéder à ces étapes, discutez en interne pour vous assurer que c'est la meilleure solution.
Note: Il est à noter que si le chat permanent est configuré correctement pour les homologues inter-clusters. Chaque noeud de chaque cluster doit avoir sa propre instance de base de données sur PostgreSQL. La seule exception à cela est si la version est 11.5 et supérieure.
Étape 1. Entrez d'abord la commande CLI à partir du serveur de publication IM&P où votre base de données est actuellement hébergée (cluster1).
run sql select * from tcaliases
Notez l'ID de conférence créé dynamiquement et l'alias créé manuellement associés au cluster local.
Un exemple d'ID de conférence dynamique est conference-2-StandAloneCluster2c2aa.jburleig.local. Vous pouvez indiquer qu'il s'agit de l'ID de conférence principal, car le paramètre principal est défini sur true et qu'il a une valeur dans le champ fkprocessing node.
Un exemple d'alias de noeud de discussion est pchat1.jburleig.local, vous pouvez le dire car le principal a la valeur false, mais il a la même valeur enfant dans la colonne fkprocess node que l'ID de conférence principal.
Exemple de rapport :
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
Étape 2. Créez une sauvegarde de la base de données actuelle (PostgreSQL).
Note: Cette opération doit être effectuée par votre administrateur de base de données conformément aux exigences de votre organisation.
Étape 3. Créer ensuite une instance de base de données (PostgreSQL)
- La table créée dans la commande ci-dessous est nommée cluster2 et l'utilisateur utilisé pour la créer est tcuser.
Note: La méthode Encoded de la base de données peut être différente de UTF8.
CREATE DATABASE cluster2 WITH OWNER tcuser ENCODING 'UTF8'
Étape 4. Vous devez ajouter une nouvelle entrée pour autoriser l'accès du client à la nouvelle base de données créée à l'étape 2.
Si la nouvelle configuration de la base de données externe sur le cluster IM&P se trouve sur un nouveau sous-réseau IP, assurez-vous de mettre à jour le sous-réseau dans l'entrée que vous faites dans le fichier pg.hba.conf (PostgreSQL).
- Ajoutez l'entrée au répertoire install_dir/data/pg_hba.conf
host DBName DBUsere Subnet password
host cluster2 tcuser 10.10.1.0/24 password
Étape 5. Ensuite, vous devrez créer une nouvelle base de données externe sur le cluster IM&P vers lequel la configuration sera déplacée (cluster2)
- Accédez à Messagerie > Configuration du serveur externe > Bases de données externes
- Cliquez sur le bouton Ajouter nouveau et configurez la nouvelle base de données externe et utilisez le nom de base de données et l'utilisateur créés à l'étape 3
Étape 6. Désactivez maintenant la discussion permanente sur la messagerie instantanée et le protocole qui héberge la configuration de la conversation permanente et annulez l'affectation de la base de données externe associée à la configuration de la conversation permanente (cluster1).
- Accédez à Messagerie > Discussion de groupe et discussion permanente
- Décochez la case Activer la conversation permanente
- Définir la base de données externe sur Non affecté
Étape 7. Supprimer ensuite la configuration de la base de données externe (cluster1)
- Accédez à Messagerie > Configuration du serveur externe > Bases de données externes
- Cochez la case en regard de la base de données de discussion persistante PostgreSQL configurée et sélectionnez supprimer.
Étape 8. Supprimer ensuite l'alias personnalisé persistant configuré sur le cluster actuel (cluster1)
- Accédez à Messagerie > Mise en correspondance des alias du serveur de conversation de groupe
- Cochez la case en regard de l'alias configuré et sélectionnez Supprimer.
Étape 9. Une fois la configuration de la conversation permanente et de la base de données externe complètement supprimée (Cluster1) Redémarrez le routeur Cisco XCP (Cluster1)
Étape 10. Activez ensuite la discussion permanente sur (Cluster2) et affectez la base de données externe créée à l'étape 5.
- Accédez à Messagerie > Discussion de groupe et discussion permanente
- Cochez la case Activer la conversation permanente.
- Définissez la base de données externe sur la base de données externe créée à l'étape 5.
Étape 11. Vérifiez que le test de connectivité de la base de données externe indique ok on (Cluster2) après avoir activé la discussion permanente, ne continuez que si toutes les coches sont vertes.
- Accédez à Messagerie > Configuration du serveur externe > Bases de données externes
- Vérifiez que l'utilitaire de résolution des problèmes de base de données externe affiche des coches vertes.
- Sélectionnez la base de données externe configurée qui a été configurée à l'étape 5
Étape 12. Créer un alias personnalisé sur (Cluster2) Assurez-vous d'utiliser le nom exact de celui que vous avez supprimé de l'ancien cluster. Vous pouvez trouver le nom de l'alias dans le résultat de l'étape 1.
- Accédez à Messagerie > Mappage d'alias du serveur de conversation de groupe > Ajouter un nouveau
- Ajoutez exactement le même alias que celui qui doit être configuré sur Cluster1. Vous pouvez trouver le nom d'alias dans le résultat de la commande de l'étape 1.
Étape 13. Redémarrer le routeur XCP (cluster2)
Étape 14. Une fois que le routeur Cisco XCP a redémarré (cluster2), poursuivez et arrêtez le gestionnaire de conférence de texte Cisco (cluster2).
Étape 15. Effectuez une restauration de base de données avec la sauvegarde PostgreSQL qui a été effectuée à l'étape 2. Veillez à restaurer la sauvegarde sur la nouvelle instance de base de données créée à l'étape 3 (PostgreSQL)
- Vérifiez que les données importées se trouvent dans les tables tc_rooms, tc_users, tc_messages et tc_msgarchive.
Étape 16. Redémarrez ensuite le service PostgreSQL (PostgreSQL)
Étape 17. Démarrez ensuite le gestionnaire de conférence de texte sur le cluster2.
- À ce stade, si un utilisateur se connecte à Jabber, il pourra voir n'importe quelle salle de discussion créée avec l'alias de conversation persistant. Les salles de discussion associées à l'ID de conférence de salle de discussion attribué dynamiquement ne s'affichent pas car elles sont actuellement associées à l'ancien cluster. Pour résoudre ce problème, exécutez les commandes de mise à jour SQL sur le serveur PostgreSQL.
Étape 18. À partir de la ligne de commande PostgreSQL, exécutez ces commandes pour mettre à jour l'ancien ID de conférence vers le nouvel alias créé à l'étape 12. (PostgreSQL)
Note: Vous devez adapter ces commandes pour contenir votre ID de conférence Cluster1 et l'ID d'alias que vous avez configuré.
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’);
Étape 19. Redémarrez ensuite le service PostgreSQL (PostgreSQL)
Étape 20. Redémarrez ensuite le gestionnaire de conférences de texte (cluster2).
Étape 21. À ce stade, les clients Jabber doivent pouvoir se connecter à IM&P et récupérer toutes les salles dans l'onglet Toutes les salles.