MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come gestire i modelli di configurazione per i database con ClusterControl

ClusterControl semplifica la distribuzione di una configurazione del database:basta inserire alcuni valori (fornitore del database, directory dei dati del database, password e nomi host) nella procedura guidata di distribuzione e il gioco è fatto. Il resto delle opzioni di configurazione verrà determinato (e calcolato) automaticamente in base alle specifiche dell'host (core della CPU, memoria, indirizzo IP, ecc.) e applicato al file modello fornito con ClusterControl. In questo post del blog, esamineremo come ClusterControl utilizza i file modello predefiniti e come gli utenti possono personalizzarli in base alle proprie esigenze.

File modello base

Tutti i servizi configurati da ClusterControl utilizzano un modello di configurazione di base disponibile in /usr/share/cmon/templates sul nodo ClusterControl. I seguenti sono file modello forniti da ClusterControl v1.4.0:

Nome file Descrizione
config.ini.mc File di configurazione del cluster MySQL.
haproxy.cfg Modello di configurazione HAProxy per Galera Cluster.
haproxy_rw_split.cfg Modello di configurazione HAProxy per la suddivisione in lettura-scrittura.
garbd.cnf File di configurazione del daemon (garbd) dell'arbitro di Galera.
keelived-1.2.7.conf File di configurazione keepalived legacy (precedente alla 1.2.7). Questo è obsoleto.
keelived.conf File di configurazione Keepalive.
keelived.init Script di inizializzazione mantenuto.
MaxScale_template.cnf Modello di configurazione MaxScale.
mongodb-2.6.conf.org Modello di configurazione MongoDB 2.x.
mongodb.conf.org Modello di configurazione MongoDB 3.x.
mongodb.conf.percona Modello di configurazione MongoDB 3.x per Percona Server per MongoDB.
mongos.conf.org Modello di configurazione del router Mongo (mongos).
my.cnf.galera Modello di configurazione MySQL per Galera Cluster.
my57.cnf.galera Modello di configurazione MySQL per Galera Cluster su MySQL 5.7.
my.cnf.grouprepl Modello di configurazione MySQL per MySQL Group Replication.
my.cnf.gtid_replication Modello di configurazione MySQL per la replica MySQL con GTID.
my.cnf.mysqlcluster Modello di configurazione MySQL per MySQL Cluster.
my.cnf.pxc55 Modello di configurazione MySQL per Percona XtraDB Cluster v5.5.
my.cnf.repl57 Modello di configurazione MySQL per MySQL Replication v5.7.
my.cnf.replication Modello di configurazione MySQL per MySQL/MariaDB senza GTID di MySQL.
mysqlchk.galera Modello di script per il controllo dello stato di MySQL per il cluster Galera.
mysqlchk.mysql Modello di script per il controllo dello stato di MySQL per la replica di MySQL.
mysqlchk_xinetd Modello di configurazione Xinetd per il controllo dello stato di MySQL.
mysqld.service.override Modello di file di unità di sistema per il servizio MySQL.
proxysql_template.cnf Modello di configurazione proxySQL.

L'elenco precedente dipende dal set di funzionalità fornito dalla versione ClusterControl installata. In una versione precedente, potresti non trovarne alcuni. Puoi modificare questi file modello direttamente, anche se non lo consigliamo come spiegato nelle sezioni successive.

Gestione configurazione

A seconda del tipo di cluster, ClusterControl importerà quindi il file del modello di base necessario nel database CMON e sarà accessibile tramite Gestisci -> Configurazioni -> Modelli una volta completata la distribuzione. Ad esempio, considera il seguente modello di configurazione per un cluster MariaDB Galera:

ClusterControl caricherà il contenuto del modello di base del modello di configurazione di Galera da /usr/share/cmon/templates/my.cnf.galera nel database CMON (all'interno della tabella cluster_configuration_templates) al termine della distribuzione. È quindi possibile personalizzare il proprio file di configurazione direttamente nell'interfaccia utente di ClusterControl. Ogni volta che premi il pulsante Salva, la nuova versione del modello di configurazione verrà archiviata all'interno del database CMON, senza sovrascrivere il file del modello di base.

Una volta che il cluster è stato distribuito e in esecuzione, il modello nell'interfaccia utente ha la precedenza. Il file del modello di base viene utilizzato solo durante la distribuzione iniziale del cluster tramite ClusterControl -> Deploy -> Deploy Database Cluster. Durante la fase di distribuzione, ClusterControl utilizzerà una directory temporanea situata in /var/tmp/ per preparare il contenuto, ad esempio:

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

Variabili dinamiche

Esistono numerose variabili di configurazione che possono essere configurate dinamicamente da ClusterControl. Queste variabili sono rappresentate con lettere maiuscole racchiuse dal segno '@', ad esempio @[email protected] Per i dettagli completi sulle variabili supportate, fare riferimento a questa pagina. Le variabili dinamiche vengono configurate automaticamente in base all'input specificato durante la distribuzione del cluster oppure ClusterControl esegue il rilevamento automatico in base al nome host, all'indirizzo IP, alla RAM disponibile, al numero di core della CPU e così via. Ciò semplifica la distribuzione in cui è necessario specificare solo opzioni minime durante la fase di distribuzione del cluster

Se la variabile dinamica viene sostituita con un valore (o non definito), ClusterControl la salterà e utilizzerà invece il valore configurato. Questo è utile per gli utenti avanzati, che di solito hanno il proprio set di opzioni di configurazione personalizzate per carichi di lavoro di database specifici.

Esempio di modello di configurazione pre-distribuzione

Invece di fare affidamento sulla variabile dinamica di ClusterControl sul numero di max_connections per i nostri nodi di database, possiamo modificare la seguente riga all'interno di /usr/share/cmon/templates/my57.cnf.galera, da:

[email protected]@sqldat.com

A:

max_connections=50

Salvare il file di testo e nella finestra di dialogo Distribuisci cluster di database, assicurarsi che ClusterControl utilizzi il file modello di base corretto:

Fare clic sul pulsante Distribuisci per avviare la distribuzione del cluster di database.

Esempio di modello di configurazione post-distribuzione

Una volta completata la distribuzione del cluster di database, è possibile che sia stata eseguita una messa a punto sui server in esecuzione prima di decidere di ridimensionarla. Durante il ridimensionamento, ClusterControl utilizzerà il modello di configurazione all'interno del database CMON (quello popolato in ClusterControl -> Configurazioni -> Modelli) per distribuire i nuovi nodi. Quindi ricordati di applicare la modifica che hai apportato sul server del database al file modello.

Prima di aggiungere un nuovo nodo, è buona norma rivedere il modello di configurazione per assicurarsi che il nuovo nodo ottenga ciò che ci aspettavamo. Quindi, vai su ClusterControl -> Aggiungi nodo e assicurati che sia selezionato il file modello MySQL corretto:

Quindi, fai clic sul pulsante "Aggiungi nodo" per avviare la distribuzione.

Questo è tutto. Anche se ClusterControl esegue vari processi di automazione quando si tratta di distribuzione, offre comunque agli utenti la libertà di personalizzare la distribuzione di conseguenza. Buon raggruppamento!