MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So verwalten Sie Konfigurationsvorlagen für Ihre Datenbanken mit ClusterControl

ClusterControl macht es einfach, ein Datenbank-Setup bereitzustellen – geben Sie einfach einige Werte (Datenbankanbieter, Datenbankdatenverzeichnis, Passwort und Hostnamen) in den Bereitstellungsassistenten ein und schon kann es losgehen. Die restlichen Konfigurationsoptionen werden basierend auf den Hostspezifikationen (CPU-Kerne, Speicher, IP-Adresse usw.) automatisch ermittelt (und berechnet) und auf die mit ClusterControl gelieferte Vorlagendatei angewendet. In diesem Blogbeitrag werden wir untersuchen, wie ClusterControl Standardvorlagendateien verwendet und wie Benutzer sie an ihre Bedürfnisse anpassen können.

Basisvorlagendateien

Alle von ClusterControl konfigurierten Dienste verwenden eine Basiskonfigurationsvorlage, die unter /usr/share/cmon/templates auf dem ClusterControl-Knoten verfügbar ist. Das Folgende sind Vorlagendateien, die von ClusterControl v1.4.0 bereitgestellt werden:

Dateiname Beschreibung
config.ini.mc MySQL-Cluster-Konfigurationsdatei.
haproxy.cfg HAProxy-Konfigurationsvorlage für Galera Cluster.
haproxy_rw_split.cfg HAProxy-Konfigurationsvorlage für Read-Write-Splitting.
garbd.cnf Konfigurationsdatei des Galera Arbitrator Daemon (garbd).
keepalived-1.2.7.conf Alte Keepalived-Konfigurationsdatei (vor 1.2.7). Dies ist veraltet.
keepalived.conf Konfigurationsdatei behalten.
keepalived.init Init-Skript beibehalten.
MaxScale_template.cnf MaxScale-Konfigurationsvorlage.
mongodb-2.6.conf.org MongoDB 2.x-Konfigurationsvorlage.
mongodb.conf.org MongoDB 3.x-Konfigurationsvorlage.
mongodb.conf.percona MongoDB 3.x Konfigurationsvorlage für Percona Server für MongoDB.
mongos.conf.org Mongo-Router (Mongos) Konfigurationsvorlage.
meine.cnf.galera MySQL-Konfigurationsvorlage für Galera Cluster.
my57.cnf.galera MySQL-Konfigurationsvorlage für Galera Cluster auf MySQL 5.7.
my.cnf.grouprepl MySQL-Konfigurationsvorlage für die MySQL-Gruppenreplikation.
my.cnf.gtid_replication MySQL-Konfigurationsvorlage für die MySQL-Replikation mit GTID.
my.cnf.mysqlcluster MySQL-Konfigurationsvorlage für MySQL Cluster.
my.cnf.pxc55 MySQL-Konfigurationsvorlage für Percona XtraDB Cluster v5.5.
my.cnf.repl57 MySQL-Konfigurationsvorlage für MySQL Replication v5.7.
my.cnf.replication MySQL-Konfigurationsvorlage für MySQL/MariaDB ohne die GTID von MySQL.
mysqlchk.galera Skriptvorlage für MySQL-Zustandsprüfungen für Galera Cluster.
mysqlchk.mysql Skriptvorlage für MySQL-Zustandsprüfungen für die MySQL-Replikation.
mysqlchk_xinetd Xinetd-Konfigurationsvorlage für MySQL-Zustandsprüfung.
mysqld.service.override Systemd-Unit-Dateivorlage für den MySQL-Dienst.
proxysql_template.cnf ProxySQL-Konfigurationsvorlage.

Die obige Liste hängt von dem Funktionsumfang ab, der von der installierten ClusterControl-Version bereitgestellt wird. In einer älteren Version finden Sie einige davon möglicherweise nicht. Sie können diese Vorlagendateien direkt ändern, obwohl wir dies nicht empfehlen, wie in den nächsten Abschnitten erläutert.

Konfigurationsmanager

Abhängig vom Clustertyp importiert ClusterControl dann die erforderliche Basisvorlagendatei in die CMON-Datenbank und ist nach erfolgreicher Bereitstellung über Verwalten -> Konfigurationen -> Vorlagen zugänglich. Betrachten Sie beispielsweise die folgende Konfigurationsvorlage für einen MariaDB Galera-Cluster:

ClusterControl lädt den Inhalt der Basisvorlage der Galera-Konfigurationsvorlage von /usr/share/cmon/templates/my.cnf.galera in die CMON-Datenbank (innerhalb der Tabelle cluster_configuration_templates), nachdem die Bereitstellung erfolgreich war. Sie können dann Ihre eigene Konfigurationsdatei direkt in der ClusterControl-Benutzeroberfläche anpassen. Immer wenn Sie auf die Schaltfläche Speichern klicken, wird die neue Version der Konfigurationsvorlage in der CMON-Datenbank gespeichert, ohne die Basisvorlagendatei zu überschreiben.

Sobald der Cluster bereitgestellt ist und ausgeführt wird, hat die Vorlage in der Benutzeroberfläche Vorrang. Die Basisvorlagendatei wird nur während der anfänglichen Clusterbereitstellung über ClusterControl -> Deploy -> Deploy Database Cluster verwendet. Während der Bereitstellungsphase verwendet ClusterControl ein temporäres Verzeichnis unter /var/tmp/, um den Inhalt vorzubereiten, zum Beispiel:

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

Dynamische Variablen

Es gibt eine Reihe von Konfigurationsvariablen, die von ClusterControl dynamisch konfiguriert werden können. Diese Variablen werden mit Großbuchstaben dargestellt, die von einem @-Zeichen eingeschlossen sind, z. B. @[email protected]. Ausführliche Informationen zu unterstützten Variablen finden Sie auf dieser Seite. Dynamische Variablen werden automatisch basierend auf den Eingaben konfiguriert, die während der Clusterbereitstellung angegeben wurden, oder ClusterControl führt eine automatische Erkennung basierend auf Hostname, IP-Adresse, verfügbarem RAM, Anzahl der CPU-Kerne usw. durch. Dies vereinfacht die Bereitstellung, da Sie während der Cluster-Bereitstellungsphase nur minimale Optionen angeben müssen

Wenn die dynamische Variable durch einen Wert ersetzt wird (oder undefiniert ist), überspringt ClusterControl sie und verwendet stattdessen den konfigurierten Wert. Dies ist praktisch für fortgeschrittene Benutzer, die normalerweise ihre eigenen Konfigurationsoptionen haben, die auf bestimmte Datenbank-Workloads zugeschnitten sind.

Beispiel für eine Konfigurationsvorlage vor der Bereitstellung

Anstatt sich auf die dynamische Variable von ClusterControl für die Anzahl der max_connections für unsere Datenbankknoten zu verlassen, können wir die folgende Zeile in /usr/share/cmon/templates/my57.cnf.galera ändern, von:

[email protected]@sqldat.com

An:

max_connections=50

Speichern Sie die Textdatei und stellen Sie im Dialogfeld „Datenbankcluster bereitstellen“ sicher, dass ClusterControl die richtige Basisvorlagendatei verwendet:

Klicken Sie auf die Schaltfläche Bereitstellen, um die Bereitstellung des Datenbankclusters zu starten.

Beispiel für eine Konfigurationsvorlage nach der Bereitstellung

Nachdem die Bereitstellung des Datenbankclusters abgeschlossen ist, haben Sie möglicherweise einige Feinabstimmungen auf den laufenden Servern vorgenommen, bevor Sie sich für eine Skalierung entschieden haben. Beim Hochskalieren verwendet ClusterControl die Konfigurationsvorlage in der CMON-Datenbank (diejenige, die unter ClusterControl -> Konfigurationen -> Vorlagen ausgefüllt wird), um die neuen Knoten bereitzustellen. Denken Sie daher daran, die Änderungen, die Sie auf dem Datenbankserver vorgenommen haben, auf die Vorlagendatei anzuwenden.

Bevor Sie einen neuen Knoten hinzufügen, empfiehlt es sich, die Konfigurationsvorlage zu überprüfen, um sicherzustellen, dass der neue Knoten das bekommt, was wir erwartet haben. Gehen Sie dann zu ClusterControl -> Knoten hinzufügen und stellen Sie sicher, dass die richtige MySQL-Vorlagendatei ausgewählt ist:

Klicken Sie dann auf die Schaltfläche „Knoten hinzufügen“, um die Bereitstellung zu starten.

Das ist es. Obwohl ClusterControl bei der Bereitstellung verschiedene Automatisierungsaufgaben übernimmt, bietet es den Benutzern dennoch die Freiheit, die Bereitstellung entsprechend anzupassen. Viel Spaß beim Clustern!