MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment gérer les modèles de configuration pour vos bases de données avec ClusterControl

ClusterControl facilite le déploiement d'une configuration de base de données - remplissez simplement certaines valeurs (fournisseur de base de données, répertoire de données de base de données, mot de passe et noms d'hôte) dans l'assistant de déploiement et vous êtes prêt à partir. Le reste des options de configuration sera automatiquement déterminé (et calculé) en fonction des spécifications de l'hôte (cœurs de processeur, mémoire, adresse IP, etc.) et appliqué au fichier de modèle fourni avec ClusterControl. Dans cet article de blog, nous allons examiner comment ClusterControl utilise les fichiers de modèle par défaut et comment les utilisateurs peuvent les personnaliser selon leurs besoins.

Fichiers de modèle de base

Tous les services configurés par ClusterControl utilisent un modèle de configuration de base disponible sous /usr/share/cmon/templates sur le nœud ClusterControl. Voici les fichiers modèles fournis par ClusterControl v1.4.0 :

Nom du fichier Description
config.ini.mc Fichier de configuration du cluster MySQL.
haproxy.cfg Modèle de configuration HAProxy pour Galera Cluster.
haproxy_rw_split.cfg Modèle de configuration HAProxy pour le fractionnement en lecture-écriture.
garbd.cnf Fichier de configuration du démon d'arbitrage Galera (garbd).
keepalived-1.2.7.conf Fichier de configuration keepalived hérité (pre 1.2.7). Ceci est obsolète.
keepalived.conf Fichier de configuration Keepalived.
keepalived.init Conservez le script d'initialisation.
MaxScale_template.cnf Modèle de configuration MaxScale.
mongodb-2.6.conf.org Modèle de configuration MongoDB 2.x.
mongodb.conf.org Modèle de configuration MongoDB 3.x.
mongodb.conf.percona Modèle de configuration MongoDB 3.x pour Percona Server pour MongoDB.
mongos.conf.org Modèle de configuration du routeur Mongo (mongos).
my.cnf.galera Modèle de configuration MySQL pour Galera Cluster.
my57.cnf.galera Modèle de configuration MySQL pour Galera Cluster sur MySQL 5.7.
my.cnf.grouprepl Modèle de configuration MySQL pour la réplication de groupe MySQL.
my.cnf.gtid_replication Modèle de configuration MySQL pour la réplication MySQL avec GTID.
mon.cnf.mysqlcluster Modèle de configuration MySQL pour MySQL Cluster.
mon.cnf.pxc55 Modèle de configuration MySQL pour Percona XtraDB Cluster v5.5.
my.cnf.repl57 Modèle de configuration MySQL pour MySQL Replication v5.7.
my.cnf.replication Modèle de configuration MySQL pour MySQL/MariaDB sans le GTID de MySQL.
mysqlchk.galera Modèle de script de vérification de l'état MySQL pour Galera Cluster.
mysqlchk.mysql Modèle de script de vérification de l'état MySQL pour la réplication MySQL.
mysqlchk_xinetd Modèle de configuration Xinetd pour la vérification de l'état de MySQL.
mysqld.service.override Modèle de fichier d'unité Systemd pour le service MySQL.
proxysql_template.cnf Modèle de configuration ProxySQL.

La liste ci-dessus dépend de l'ensemble de fonctionnalités fourni par la version de ClusterControl installée. Dans une ancienne version, vous pourriez ne pas trouver certains d'entre eux. Vous pouvez modifier ces fichiers modèles directement, bien que nous ne le recommandions pas comme expliqué dans les sections suivantes.

Gestionnaire de configuration

Selon le type de cluster, ClusterControl importera ensuite le fichier de modèle de base nécessaire dans la base de données CMON et accessible via Gérer -> Configurations -> Modèles une fois le déploiement réussi. Par exemple, considérez le modèle de configuration suivant pour un cluster MariaDB Galera :

ClusterControl chargera le contenu du modèle de base du modèle de configuration Galera à partir de /usr/share/cmon/templates/my.cnf.galera dans la base de données CMON (dans la table cluster_configuration_templates) une fois le déploiement réussi. Vous pouvez ensuite personnaliser votre propre fichier de configuration directement dans l'interface utilisateur de ClusterControl. Chaque fois que vous appuyez sur le bouton Enregistrer, la nouvelle version du modèle de configuration sera stockée dans la base de données CMON, sans écraser le fichier de modèle de base.

Une fois le cluster déployé et en cours d'exécution, le modèle de l'interface utilisateur est prioritaire. Le fichier de modèle de base n'est utilisé que lors du déploiement initial du cluster via ClusterControl -> Deploy -> Deploy Database Cluster. Lors de la phase de déploiement, ClusterControl utilisera un répertoire temporaire situé dans /var/tmp/ pour préparer le contenu, par exemple :

/var/tmp/cmon-003862-6a7775ca76c62486.tmp

Variables dynamiques

Il existe un certain nombre de variables de configuration configurables dynamiquement par ClusterControl. Ces variables sont représentées par des lettres majuscules entre le signe "@", par exemple @[email protected] Pour plus de détails sur les variables prises en charge, veuillez vous référer à cette page. Les variables dynamiques sont automatiquement configurées en fonction de l'entrée spécifiée lors du déploiement du cluster, ou ClusterControl effectue une détection automatique en fonction du nom d'hôte, de l'adresse IP, de la RAM disponible, du nombre de cœurs de processeur, etc. Cela simplifie le déploiement où vous n'avez qu'à spécifier des options minimales lors de l'étape de déploiement du cluster

Si la variable dynamique est remplacée par une valeur (ou non définie), ClusterControl l'ignorera et utilisera la valeur configurée à la place. Ceci est pratique pour les utilisateurs avancés, qui disposent généralement de leur propre ensemble d'options de configuration adaptées à des charges de travail de base de données spécifiques.

Exemple de modèle de configuration de pré-déploiement

Au lieu de compter sur la variable dynamique de ClusterControl sur le nombre de max_connections pour nos nœuds de base de données, nous pouvons modifier la ligne suivante dans /usr/share/cmon/templates/my57.cnf.galera, à partir de :

[email protected]@sqldat.com

À :

max_connections=50

Enregistrez le fichier texte et dans la boîte de dialogue Déployer le cluster de bases de données, assurez-vous que ClusterControl utilise le bon fichier de modèle de base :

Cliquez sur le bouton Déployer pour démarrer le déploiement du cluster de base de données.

Exemple de modèle de configuration post-déploiement

Une fois le déploiement du cluster de bases de données terminé, vous avez peut-être effectué quelques ajustements sur les serveurs en cours d'exécution avant de décider de le mettre à l'échelle. Lors de la mise à l'échelle, ClusterControl utilisera le modèle de configuration dans la base de données CMON (celui rempli sous ClusterControl -> Configurations -> Modèles) pour déployer les nouveaux nœuds. N'oubliez donc pas d'appliquer la modification que vous avez effectuée sur le serveur de base de données au fichier de modèle.

Avant d'ajouter un nouveau nœud, il est recommandé de revoir le modèle de configuration pour s'assurer que le nouveau nœud obtient ce que nous attendions. Ensuite, allez dans ClusterControl -> Ajouter un nœud et assurez-vous que le bon fichier de modèle MySQL est sélectionné :

Ensuite, cliquez sur le bouton "Ajouter un nœud" pour démarrer le déploiement.

C'est ça. Même si ClusterControl effectue diverses tâches d'automatisation en matière de déploiement, il offre toujours aux utilisateurs la liberté de personnaliser le déploiement en conséquence. Bon regroupement !