sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo administrar plantillas de configuración para sus bases de datos con ClusterControl

ClusterControl facilita la implementación de una configuración de base de datos:solo complete algunos valores (proveedor de la base de datos, directorio de datos de la base de datos, contraseña y nombres de host) en el asistente de implementación y listo. El resto de las opciones de configuración se determinarán (y calcularán) automáticamente según las especificaciones del host (núcleos de CPU, memoria, dirección IP, etc.) y se aplicarán al archivo de plantilla que viene con ClusterControl. En esta publicación de blog, veremos cómo ClusterControl usa los archivos de plantilla predeterminados y cómo los usuarios pueden personalizarlos según sus necesidades.

Archivos de plantilla base

Todos los servicios configurados por ClusterControl usan una plantilla de configuración básica disponible en /usr/share/cmon/templates en el nodo de ClusterControl. Los siguientes son archivos de plantilla proporcionados por ClusterControl v1.4.0:

Nombre de archivo Descripción
config.ini.mc Archivo de configuración del clúster MySQL.
haproxy.cfg Plantilla de configuración HAProxy para Galera Cluster.
haproxy_rw_split.cfg Plantilla de configuración HAProxy para división de lectura y escritura.
garbd.cnf Archivo de configuración del demonio árbitro de Galera (garbd).
keepalived-1.2.7.conf Archivo de configuración heredado keepalived (anterior a 1.2.7). Esto está en desuso.
keepalived.conf Archivo de configuración Keepalived.
keepalived.init Script de inicio Keepalived.
MaxScale_template.cnf Plantilla de configuración MaxScale.
mongodb-2.6.conf.org Plantilla de configuración de MongoDB 2.x.
mongodb.conf.org Plantilla de configuración de MongoDB 3.x.
mongodb.conf.percona Plantilla de configuración de MongoDB 3.x para Percona Server para MongoDB.
mongos.conf.org Plantilla de configuración del enrutador Mongo (mongos).
my.cnf.galera Plantilla de configuración MySQL para Galera Cluster.
my57.cnf.galera Plantilla de configuración MySQL para Galera Cluster en MySQL 5.7.
my.cnf.grouprepl Plantilla de configuración de MySQL para la replicación de grupos de MySQL.
my.cnf.gtid_replication Plantilla de configuración de MySQL para replicación de MySQL con GTID.
mi.cnf.mysqlcluster Plantilla de configuración MySQL para MySQL Cluster.
my.cnf.pxc55 Plantilla de configuración MySQL para Percona XtraDB Cluster v5.5.
my.cnf.repl57 Plantilla de configuración MySQL para MySQL Replication v5.7.
my.cnf.replication Plantilla de configuración de MySQL para MySQL/MariaDB sin el GTID de MySQL.
mysqlchk.galera Plantilla de secuencia de comandos de comprobación de estado de MySQL para Galera Cluster.
mysqlchk.mysql Plantilla de secuencia de comandos de comprobación de estado de MySQL para la replicación de MySQL.
mysqlchk_xinetd Plantilla de configuración de Xinetd para comprobación de estado de MySQL.
mysqld.service.override Plantilla de archivo de unidad Systemd para el servicio MySQL.
proxysql_template.cnf Plantilla de configuración de ProxySQL.

La lista anterior depende del conjunto de funciones proporcionado por la versión de ClusterControl instalada. En una versión anterior, es posible que no encuentre algunos de ellos. Puede modificar estos archivos de plantilla directamente, aunque no lo recomendamos como se explica en las siguientes secciones.

Administrador de configuración

Según el tipo de clúster, ClusterControl importará el archivo de plantilla base necesario en la base de datos de CMON y se podrá acceder a él a través de Administrar -> Configuraciones -> Plantillas una vez que la implementación se realice correctamente. Por ejemplo, considere la siguiente plantilla de configuración para un clúster Galera de MariaDB:

ClusterControl cargará el contenido de la plantilla base de la plantilla de configuración de Galera desde /usr/share/cmon/templates/my.cnf.galera en la base de datos CMON (dentro de la tabla cluster_configuration_templates) después de que la implementación se realice correctamente. A continuación, puede personalizar su propio archivo de configuración directamente en la interfaz de usuario de ClusterControl. Siempre que presione el botón Guardar, la nueva versión de la plantilla de configuración se almacenará dentro de la base de datos de CMON, sin sobrescribir el archivo de la plantilla base.

Una vez que el clúster se implementa y se ejecuta, la plantilla en la interfaz de usuario tiene prioridad. El archivo de plantilla base solo se usa durante la implementación inicial del clúster a través de ClusterControl -> Implementar -> Implementar clúster de base de datos. Durante la etapa de implementación, ClusterControl utilizará un directorio temporal ubicado en /var/tmp/ para preparar el contenido, por ejemplo:

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

Variables dinámicas

Hay un número de variables de configuración configurables dinámicamente por ClusterControl. Estas variables se representan con letras mayúsculas encerradas por el signo '@', por ejemplo @[email protected] Para obtener detalles completos sobre las variables admitidas, consulte esta página. Las variables dinámicas se configuran automáticamente en función de la entrada especificada durante la implementación del clúster, o ClusterControl realiza una detección automática en función del nombre de host, la dirección IP, la RAM disponible, la cantidad de núcleos de CPU, etc. Esto simplifica la implementación donde solo necesita especificar opciones mínimas durante la etapa de implementación del clúster

Si la variable dinámica se reemplaza con un valor (o indefinido), ClusterControl la omitirá y usará el valor configurado en su lugar. Esto es útil para usuarios avanzados, que generalmente tienen su propio conjunto de opciones de configuración que se adaptan a las cargas de trabajo específicas de la base de datos.

Ejemplo de plantilla de configuración previa a la implementación

En lugar de confiar en la variable dinámica de ClusterControl sobre el número de conexiones máximas para nuestros nodos de base de datos, podemos cambiar la siguiente línea dentro de /usr/share/cmon/templates/my57.cnf.galera, desde:

[email protected]@sqldat.com

Para:

max_connections=50

Guarde el archivo de texto y, en el cuadro de diálogo Implementar clúster de base de datos, asegúrese de que ClusterControl utilice el archivo de plantilla base correcto:

Haga clic en el botón Implementar para iniciar la implementación del clúster de la base de datos.

Ejemplo de plantilla de configuración posterior a la implementación

Una vez completada la implementación del clúster de la base de datos, es posible que haya realizado algunos ajustes en los servidores en ejecución antes de decidir escalarlos. Al escalar, ClusterControl usará la plantilla de configuración dentro de la base de datos CMON (la que se encuentra en ClusterControl -> Configuraciones -> Plantillas) para implementar los nuevos nodos. Por lo tanto, recuerde aplicar la modificación que realizó en el servidor de la base de datos al archivo de plantilla.

Antes de agregar un nuevo nodo, es una buena práctica revisar la plantilla de configuración para asegurarse de que el nuevo nodo obtenga lo que esperábamos. Luego, vaya a ClusterControl -> Agregar nodo y asegúrese de seleccionar el archivo de plantilla MySQL correcto:

Luego, haga clic en el botón "Agregar nodo" para iniciar la implementación.

Eso es todo. Aunque ClusterControl realiza varios trabajos de automatización en lo que respecta a la implementación, aún brinda libertad para que los usuarios personalicen la implementación en consecuencia. ¡Feliz agrupamiento!