Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit les étapes à suivre pour configurer le clustering de base de données (DB) sur Cisco Meeting Server (CMS) ou les ponts d'appels Acano (CB).
Note: Il est recommandé d'avoir un nombre impair de noeuds de cluster de base de données car il est important pour la sélection principale et le mécanisme de basculement actif. Une autre raison à cela est que le noeud de base de données maître serait le noeud qui a des connexions à la plus grande partie de la base de données dans le cluster. Vous pouvez avoir un maximum de 5 noeuds dans un cluster de base de données.
Remarque : le maître du cluster de base de données écoute sur le port 5432 les connexions à partir des noeuds clients, donc s'il y a un pare-feu (FW) entre les noeuds, assurez-vous que ce port est ouvert.
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
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.
Il existe deux types de certificats pour le clustering de base de données :
1. Client : Le certificat client, comme son nom l'indique, est utilisé par les clients DB pour se connecter au serveur DB (maître). Ce certificat doit contenir la chaîne, les postgres, dans son champ Nom commun (CN).
2. Serveur : Le certificat du serveur, comme son nom l'indique, est utilisé par le serveur de base de données pour se connecter à la base de données postgres.
1. Connectez-vous à Secure Shell (SSH) avec les informations d'identification admin au serveur MMP.
2. Générer une demande de signature de certificat (CSR) :
a. Pour le certificat client de la base de données :
pki csr <clé/nom de base du certificat> CN : postgres
Par exemple : pki csr databasecluster_client CN : postgres
b. Pour le certificat du serveur de base de données :
pki csr <nom de base de clé/certificat> CN : <nom de domaine>
Par exemple : pki csr databasecluster_server CN : vngtpres.aca
3. Envoyez les CSR à votre autorité de certification (CA) pour les faire signer. Assurez-vous que l'autorité de certification vous fournit les certificats d'autorité de certification racine (et toute autorité de certification intermédiaire).
4. Téléchargez les certificats signés, les certificats d'autorité de certification racine (et toute autorité de certification intermédiaire) sur tous les noeuds de base de données à l'aide d'un client SFTP (Secure File Transfer Protocol) (par exemple WinSCP).
Note: Le CN de la partie A doit être des messages et la partie B peut être le nom de domaine du pont d'appel, aucune entrée de nom de remplacement de sujet (SAN) n'est requise.
Sur la CB qui exécute la base de données principale, procédez comme suit :
1. Pour sélectionner l’interface à utiliser, entrez la commande suivante :
cluster de base de données localnoeud a
Cela permet “ interface un ” à utiliser pour le clustering de base de données.
2. Définissez les certificats ca client, serveur et racine ainsi que les clés privées à utiliser par le cluster de base de données avec les commandes suivantes :
certs de cluster de base de données <clé_client> <crt_client> <crt_ca>
certs de cluster de base de données <clé_serveur> <crt_serveur> <clé_client> <crt_client> <crt_ca>
Note: Les mêmes certificats client et serveur peuvent être utilisés sur d'autres noeuds CB à mettre en cluster lorsque vous copiez les clés privées et les certificats sur les autres noeuds. Cela est possible car les certificats ne contiennent aucun SAN les liant à un pont d'appel spécifique. Cependant, il est recommandé d'avoir des certificats individuels pour chaque noeud de base de données.
3. Initialisez cette base de données sur la BC locale en tant que maître pour ce cluster de base de données :
initialisation du cluster de base de données
4. Sur les ponts d'appel qui feraient partie de la base de données en cluster et deviendraient les esclaves de la base de données, exécutez cette commande après avoir terminé les étapes 1 et 2 pour la partie 2 :
jointure de cluster de base de données <adresse IP CB principale>
Exemple : jointure de cluster de base de données <10.48.36.61>
Ceci initie la synchronisation de la base de données et copie la base de données à partir du pair principal.
Note: La base de données locale qui existait avant l'exécution de la commande de jointure de cluster de base de données continue d'exister jusqu'à ce que le noeud soit supprimé de la base de données en cluster. Aussi longtemps que le noeud est dans le cluster de base de données, sa base de données locale n'est pas utilisée.
Référez-vous à cette section pour vous assurer du bon fonctionnement de votre configuration.
Pour vérifier l'état de la base de données en cluster, exécutez cette commande sur l'un des noeuds du cluster de base de données :
état du cluster de base de données
La sortie est similaire à :
Status : Enabled
Nodes:
10.48.36.61 : Connected Master
10.48.36.118 : Connected Slave ( In Sync )
10.48.36.182 (me) : Connected Slave ( In Sync )
Node in use : 10.48.36.61
Interface : a
Certificates
Server Key : dbclusterserver.key
Server Certificate : dbclusterserver.cer
Client Key : dbclusterclient.key
Client Certificate : dbclusterclient.cer
CA Certificate : vngtpRootca.cer
Last command : 'database cluster join 10.48.36.61' (Success)
Cette section fournit des informations que vous pouvez utiliser pour dépanner votre configuration.
Utilisez cette commande, sur l'interface de ligne de commande, pour afficher les journaux actuels relatifs au clustering de base de données :
suivi syslog
Les sorties du journal de la base de données contiennent généralement la chaîne postgres, par exemple :
Mar 30 12:39:04 local0.warning DBMaster postgres[20882]: [2-7] #011SQL statement "INSERT INTO domains(domain_id, domain_name, tenant_id, target, priority, passcode_separator) VALUES (inp_domain_id, inp_domain_name, inp_tenant_id, existing_target, inp_priority, inp_passcode_separator)" Mar 30 12:39:04 local0.warning DBMaster postgres[20882]: [2-8] #011PL/pgSQL function create_or_update_matching_domain(boolean,uuid,text,boolean,uuid,integer,integer,integer,text) line 61 at SQL statement Mar 30 12:39:04 local0.warning DBMaster postgres[20882]: [2-9] #011SQL statement "SELECT * FROM create_or_update_matching_domain(TRUE, inp_domain_id, inp_domain_name, TRUE, inp_tenant_id, inp_target_true, 0, inp_priority, inp_passcode_separator)" Mar 30 12:39:04 local0.warning DBMaster postgres[20882]: [2-10] #011PL/pgSQL function create_matching_domain(uuid,text,uuid,integer,integer,text) line 3 at SQL statement
Le collecteur de journaux CMS fournit une interface utilisateur simple et conviviale pour collecter les journaux à partir du serveur CMS.
Voici quelques problèmes et solutions de base de données typiques :
Problème : Erreur de schéma de base de données sur un homologue non maître
ERROR : Couldn't upgrade the schema Status : Error Nodes: 10.48.54.75 : Connected Master 10.48.54.76 : Connected Slave ( In Sync ) 10.48.54.119 (me) : Connected Slave ( In Sync ) Node in use : 10.48.54.75 Interface : a Certificates Server Key : dbclusterServer.key Server Certificate : dbserver.cer Client Key : dbclusterClient.key Client Certificate : dbclient.cer CA Certificate : Root.cer Last command : 'database cluster upgrade_schema' (Failed)
Solution :
1. Exécutez d'abord cette commande pour effacer l'erreur :
erreur d'effacement du cluster de base de données
2. Suivez cette commande pour mettre à niveau le schéma de base de données :
database cluster upgrade_schema
3. Vérifiez ensuite l'état du cluster DB avec :
état du cluster de base de données
Les journaux affichent une sortie similaire à celle-ci :
Mar 30 11:22:45 user.notice acanosrv05 schema_builder: Upgrading schema with connect line 'connect_timeout=4 user=postgres host=127.0.0.1 port=9899 sslmode=verify-ca sslcert=/srv/pgsql/client.crt sslkey=/srv/pgsql/client.key sslrootcert=/srv/pgsql/ca.crt '
Mar 30 11:22:45 user.notice acanosrv05 schema_builder: Using database name 'cluster' Mar 30 11:22:45 user.notice acanosrv05 schema_builder: schema build on database cluster complete Mar 30 11:22:45 user.notice acanosrv05 schema_builder: Using CiscoSSL 1.0.1u.4.13.322-fips (caps 0x4FABFFFF) Mar 30 11:22:45 user.notice acanosrv05 schema_builder: Using 0x1000115F Mar 30 11:22:45 user.notice acanosrv05 schema_builder: INFO : Waiting for database cluster to settle... Mar 30 11:22:45 user.notice acanosrv05 schema_builder: INFO : Database cluster settled Mar 30 11:22:45 user.notice acanosrv05 schema_builder: Schema upgrade complete Mar 30 11:22:45 user.info acanosrv05 dbcluster_watcher: Operation Complete
Problème : Noeuds homologues ne pouvant pas se connecter au noeud maître de la base de données
Mar 31 10:16:59 user.info acanosrv02 sfpool: Health check 10.48.54.119: error (up = 1): could not connect to server: Connection refused|#011Is the server running on host "10.48.54.119" and accepting|#011TCP/IP connections on port 5432?|
Solution :
Utilisez ces étapes pour collecter les traces afin de résoudre les problèmes de connexion :
1. Exécutez la commande pcap <interface> sur le noeud non maître (esclave) et, après quelques minutes, arrêtez la capture avec Ctrl-C.
2. Connectez-vous avec un client SFTP (Secure File Transfer Protocol) au serveur et téléchargez le fichier .pcap à partir du répertoire racine :
3. Ouvrez le fichier de capture sur Wireshark et filtrez sur le port 5432 avec tcp.port==5432 pour vérifier le trafic entre le pair non maître et le maître de la base de données.
4. S'il n'y a pas de trafic de retour du serveur, il est probable qu'un pare-feu bloque le port entre l'emplacement logique des deux serveurs.
Voici une capture de paquets typique d'une connexion opérationnelle entre le client et le serveur :
Dans cet exemple, l'adresse IP du client est 10.48.54.119 et le serveur est 10.48.54.75.
Pour plus d'informations sur la résolution des problèmes et d'autres questions sur la mise en grappe de bases de données, reportez-vous à la FAQ dans les liens suivants :