sql >> Database >  >> NoSQL >> MongoDB

Configuratiesjablonen voor uw databases beheren met ClusterControl

ClusterControl maakt het eenvoudig om een ​​database-setup te implementeren - vul gewoon enkele waarden in (databaseleverancier, databasegegevensdirectory, wachtwoord en hostnamen) in de implementatiewizard en u bent klaar om te gaan. De rest van de configuratie-opties worden automatisch bepaald (en berekend) op basis van de hostspecificaties (CPU-cores, geheugen, IP-adres enz.) en toegepast op het sjabloonbestand dat bij ClusterControl wordt geleverd. In deze blogpost gaan we onderzoeken hoe ClusterControl standaard sjabloonbestanden gebruikt en hoe gebruikers deze kunnen aanpassen aan hun behoeften.

Basissjabloonbestanden

Alle services die door ClusterControl zijn geconfigureerd, gebruiken een basisconfiguratiesjabloon die beschikbaar is onder /usr/share/cmon/templates op het ClusterControl-knooppunt. De volgende zijn sjabloonbestanden geleverd door ClusterControl v1.4.0:

Bestandsnaam Beschrijving
config.ini.mc MySQL Cluster-configuratiebestand.
haproxy.cfg HAProxy-configuratiesjabloon voor Galera Cluster.
haproxy_rw_split.cfg HAProxy-configuratiesjabloon voor splitsen van lezen en schrijven.
garbd.cnf Galera arbiter daemon (garbd) configuratiebestand.
keepalived-1.2.7.conf Ouder bewaard configuratiebestand (vóór 1.2.7). Dit is verouderd.
keepalived.conf Configuratiebestand behouden.
keepalived.init Init-script behouden.
MaxScale_template.cnf MaxScale-configuratiesjabloon.
mongodb-2.6.conf.org MongoDB 2.x-configuratiesjabloon.
mongodb.conf.org MongoDB 3.x-configuratiesjabloon.
mongodb.conf.percona MongoDB 3.x-configuratiesjabloon voor Percona Server voor MongoDB.
mongos.conf.org Mongo router (mongo's) configuratiesjabloon.
mijn.cnf.galera MySQL-configuratiesjabloon voor Galera Cluster.
my57.cnf.galera MySQL-configuratiesjabloon voor Galera Cluster op MySQL 5.7.
my.cnf.grouprepl MySQL-configuratiesjabloon voor MySQL-groepsreplicatie.
mijn.cnf.gtid_replicatie MySQL-configuratiesjabloon voor MySQL-replicatie met GTID.
mijn.cnf.mysqlcluster MySQL-configuratiesjabloon voor MySQL-cluster.
mijn.cnf.pxc55 MySQL-configuratiesjabloon voor Percona XtraDB Cluster v5.5.
my.cnf.repl57 MySQL-configuratiesjabloon voor MySQL-replicatie v5.7.
mijn.cnf.replicatie MySQL-configuratiesjabloon voor MySQL/MariaDB zonder GTID van MySQL.
mysqlchk.galera MySQL-scriptsjabloon voor gezondheidscontrole voor Galera Cluster.
mysqlchk.mysql Scriptsjabloon voor MySQL-statuscontrole voor MySQL-replicatie.
mysqlchk_xinetd Xinetd-configuratiesjabloon voor MySQL-statuscontrole.
mysqld.service.override Sjabloon voor Systemd-eenheidsbestanden voor MySQL-service.
proxysql_template.cnf ProxySQL-configuratiesjabloon.

De bovenstaande lijst is afhankelijk van de functieset die wordt geboden door de geïnstalleerde ClusterControl-release. In een oudere versie vindt u sommige misschien niet. U kunt deze sjabloonbestanden rechtstreeks wijzigen, hoewel we dit niet aanbevelen, zoals uitgelegd in de volgende secties.

Configuratiemanager

Afhankelijk van het clustertype zal ClusterControl vervolgens het benodigde basissjabloonbestand importeren in de CMON-database en toegankelijk zijn via Beheren -> Configuraties -> Sjablonen zodra de implementatie is geslaagd. Beschouw bijvoorbeeld de volgende configuratiesjabloon voor een MariaDB Galera Cluster:

ClusterControl laadt de inhoud van de basissjabloon van de Galera-configuratiesjabloon van /usr/share/cmon/templates/my.cnf.galera in de CMON-database (in de tabel cluster_configuration_templates) nadat de implementatie is geslaagd. Vervolgens kunt u uw eigen configuratiebestand rechtstreeks in de gebruikersinterface van ClusterControl aanpassen. Telkens wanneer u op de knop Opslaan drukt, wordt de nieuwe versie van de configuratiesjabloon opgeslagen in de CMON-database, zonder het basissjabloonbestand te overschrijven.

Zodra het cluster is geïmplementeerd en actief is, heeft de sjabloon in de gebruikersinterface voorrang. Het basissjabloonbestand wordt alleen gebruikt tijdens de initiële clusterimplementatie via ClusterControl -> Deploy -> Deploy Database Cluster. Tijdens de implementatiefase gebruikt ClusterControl een tijdelijke map op /var/tmp/ om de inhoud voor te bereiden, bijvoorbeeld:

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

Dynamische variabelen

Er zijn een aantal configuratievariabelen die dynamisch kunnen worden geconfigureerd door ClusterControl. Deze variabelen worden weergegeven met hoofdletters tussen apenstaartjes '@', bijvoorbeeld @[email protected] Raadpleeg deze pagina voor volledige details over ondersteunde variabelen. Dynamische variabelen worden automatisch geconfigureerd op basis van de invoer die is opgegeven tijdens clusterimplementatie, of ClusterControl voert automatische detectie uit op basis van hostnaam, IP-adres, beschikbaar RAM-geheugen, aantal CPU-cores enzovoort. Dit vereenvoudigt de implementatie waarbij u slechts minimale opties hoeft op te geven tijdens de clusterimplementatiefase

Als de dynamische variabele wordt vervangen door een waarde (of niet gedefinieerd), zal ClusterControl deze overslaan en in plaats daarvan de geconfigureerde waarde gebruiken. Dit is handig voor geavanceerde gebruikers, die meestal hun eigen set configuratie-opties hebben die zijn afgestemd op specifieke database-workloads.

Voorbeeld van configuratiesjabloon vóór implementatie

In plaats van te vertrouwen op de dynamische variabele van ClusterControl voor het aantal max_connections voor onze databaseknooppunten, kunnen we de volgende regel in /usr/share/cmon/templates/my57.cnf.galera wijzigen van:

[email protected]@sqldat.com

Aan:

max_connections=50

Sla het tekstbestand op en zorg ervoor dat ClusterControl in het dialoogvenster Databasecluster implementeren het juiste basissjabloonbestand gebruikt:

Klik op de knop Deploy om de implementatie van het databasecluster te starten.

Voorbeeld van configuratiesjabloon na implementatie

Nadat de implementatie van het databasecluster is voltooid, hebt u mogelijk wat fijnafstemming op de actieve servers gedaan voordat u besloot om het op te schalen. Bij het opschalen gebruikt ClusterControl de configuratiesjabloon in de CMON-database (degene die is ingevuld onder ClusterControl -> Configuraties -> Sjablonen) om de nieuwe knooppunten te implementeren. Vergeet daarom niet om de wijziging die u op de databaseserver heeft aangebracht, toe te passen op het sjabloonbestand.

Voordat u een nieuw knooppunt toevoegt, is het een goede gewoonte om de configuratiesjabloon te bekijken om er zeker van te zijn dat het nieuwe knooppunt krijgt wat we verwachtten. Ga vervolgens naar ClusterControl -> Node toevoegen en zorg ervoor dat het juiste MySQL-sjabloonbestand is geselecteerd:

Klik vervolgens op de knop "Knooppunt toevoegen" om de implementatie te starten.

Dat is het. Hoewel ClusterControl verschillende automatiseringstaken uitvoert als het gaat om implementatie, biedt het nog steeds de vrijheid voor gebruikers om de implementatie dienovereenkomstig aan te passen. Veel plezier met clusteren!


  1. Redis Client List doel en beschrijving

  2. Vraag Mongodb op maand, dag, jaar... van een datetime

  3. Journaling beheren in MongoDB

  4. Een database kopiëren/klonen in MongoDB