sql >> Databáze >  >> NoSQL >> MongoDB

Jak spravovat konfigurační šablony pro vaše databáze pomocí ClusterControl

ClusterControl usnadňuje nasazení nastavení databáze – stačí vyplnit některé hodnoty (dodavatel databáze, datový adresář databáze, heslo a názvy hostitelů) v průvodci nasazením a můžete začít. Zbývající možnosti konfigurace budou automaticky určeny (a vypočítány) na základě specifikací hostitele (jádra CPU, paměť, IP adresa atd.) a aplikovány na soubor šablony dodávaný s ClusterControl. V tomto příspěvku na blogu se podíváme na to, jak ClusterControl používá výchozí soubory šablon a jak je uživatelé mohou přizpůsobit svým potřebám.

Soubory základní šablony

Všechny služby nakonfigurované pomocí ClusterControl používají základní konfigurační šablonu dostupnou v /usr/share/cmon/templates v uzlu ClusterControl. Následují soubory šablon poskytované ClusterControl v1.4.0:

Název souboru Popis
config.ini.mc Konfigurační soubor clusteru MySQL.
haproxy.cfg Šablona konfigurace HAProxy pro Galera Cluster.
haproxy_rw_split.cfg Šablona konfigurace HAProxy pro rozdělení čtení a zápisu.
garbd.cnf Konfigurační soubor démona arbitrátoru Galera (garbd).
keepalived-1.2.7.conf Starší konfigurační soubor keepalived (před 1.2.7). Toto je zastaralé.
keepalived.conf Konfigurační soubor Keepalived.
keepalived.init Keepalived init skript.
MaxScale_template.cnf Šablona konfigurace MaxScale.
mongodb-2.6.conf.org Šablona konfigurace MongoDB 2.x.
mongodb.conf.org Šablona konfigurace MongoDB 3.x.
mongodb.conf.percona Šablona konfigurace MongoDB 3.x pro Percona Server pro MongoDB.
mongos.conf.org Šablona konfigurace směrovače Mongo (mongos).
moje.cnf.galera Šablona konfigurace MySQL pro Galera Cluster.
moje57.cnf.galera Šablona konfigurace MySQL pro Galera Cluster na MySQL 5.7.
my.cnf.grouprepl Šablona konfigurace MySQL pro replikaci skupiny MySQL.
moje.cnf.gtid_replication Šablona konfigurace MySQL pro replikaci MySQL s GTID.
my.cnf.mysqlcluster Šablona konfigurace MySQL pro cluster MySQL.
my.cnf.pxc55 Šablona konfigurace MySQL pro Percona XtraDB Cluster v5.5.
my.cnf.repl57 Šablona konfigurace MySQL pro replikaci MySQL v5.7.
moje.cnf.replikace Šablona konfigurace MySQL pro MySQL/MariaDB bez GTID MySQL.
mysqlchk.galera Šablona skriptu kontroly stavu MySQL pro Galera Cluster.
mysqlchk.mysql Šablona skriptu kontroly stavu MySQL pro replikaci MySQL.
mysqlchk_xinetd Šablona konfigurace Xinetd pro kontrolu stavu MySQL.
mysqld.service.override Šablona souboru systémové jednotky pro službu MySQL.
proxysql_template.cnf Šablona konfigurace proxy SQL.

Výše uvedený seznam závisí na sadě funkcí poskytovaných nainstalovanou verzí ClusterControl. Ve starší verzi možná některé z nich nenajdete. Tyto soubory šablon můžete upravit přímo, i když to nedoporučujeme, jak je vysvětleno v dalších částech.

Správce konfigurace

V závislosti na typu clusteru pak ClusterControl importuje nezbytný soubor základní šablony do databáze CMON a je přístupný přes Spravovat -> Konfigurace -> Šablony, jakmile bude nasazení úspěšné. Zvažte například následující šablonu konfigurace pro klastr MariaDB Galera:

ClusterControl po úspěšném nasazení načte obsah základní šablony konfigurační šablony Galera z /usr/share/cmon/templates/my.cnf.galera do databáze CMON (v tabulce cluster_configuration_templates). Poté můžete upravit svůj vlastní konfigurační soubor přímo v uživatelském rozhraní ClusterControl. Kdykoli stisknete tlačítko Uložit, nová verze konfigurační šablony se uloží do databáze CMON, aniž by došlo k přepsání souboru základní šablony.

Jakmile je cluster nasazen a spuštěn, má přednost šablona v uživatelském rozhraní. Soubor základní šablony se používá pouze během počátečního nasazení clusteru prostřednictvím ClusterControl -> Deploy -> Deploy Database Cluster. Během fáze nasazení použije ClusterControl k přípravě obsahu dočasný adresář umístěný na /var/tmp/, například:

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

Dynamické proměnné

Existuje řada konfiguračních proměnných, které lze dynamicky konfigurovat pomocí ClusterControl. Tyto proměnné jsou reprezentovány velkými písmeny uzavřenými zavináčem ‚@‘, například @[email protected] Úplné podrobnosti o podporovaných proměnných naleznete na této stránce. Dynamické proměnné jsou automaticky konfigurovány na základě vstupu zadaného během nasazení clusteru, nebo ClusterControl provádí automatickou detekci na základě názvu hostitele, IP adresy, dostupné paměti RAM, počtu jader CPU a tak dále. To zjednodušuje nasazení, kde potřebujete pouze určit minimální možnosti během fáze nasazení clusteru

Pokud je dynamická proměnná nahrazena hodnotou (nebo není definována), ClusterControl ji přeskočí a použije místo ní nakonfigurovanou hodnotu. To je užitečné pro pokročilé uživatele, kteří mají obvykle vlastní sadu konfiguračních možností přizpůsobených konkrétním databázovým úlohám.

Příklad šablony konfigurace před nasazením

Místo toho, abychom se spoléhali na dynamickou proměnnou ClusterControl o počtu max_connections pro naše databázové uzly, můžeme změnit následující řádek v /usr/share/cmon/templates/my57.cnf.galera z:

[email protected]@sqldat.com

Komu:

max_connections=50

Uložte textový soubor a v dialogovém okně Deploy Database Cluster se ujistěte, že ClusterControl používá správný soubor základní šablony:

Kliknutím na tlačítko Deploy zahájíte nasazení databázového clusteru.

Příklad šablony konfigurace po nasazení

Po dokončení nasazení databázového klastru jste možná provedli nějaké jemné doladění na běžících serverech, než se rozhodnete jej zvětšit. Při škálování použije ClusterControl konfigurační šablonu v databázi CMON (ta, která se nachází pod ClusterControl -> Konfigurace -> Šablony) k nasazení nových uzlů. Proto nezapomeňte použít úpravu, kterou jste provedli na databázovém serveru, na soubor šablony.

Před přidáním nového uzlu je dobrým zvykem zkontrolovat konfigurační šablonu, abyste se ujistili, že nový uzel dostane to, co jsme očekávali. Poté přejděte na ClusterControl -> Přidat uzel a ujistěte se, že je vybrán správný soubor šablony MySQL:

Poté kliknutím na tlačítko „Přidat uzel“ spusťte nasazení.

A je to. I když ClusterControl provádí různé automatizační úlohy, pokud jde o nasazení, stále poskytuje uživatelům svobodu přizpůsobit si nasazení. Šťastné shlukování!


  1. MongoDb - Využití multi CPU server pro zápis náročné aplikace

  2. Jaká je dobrá volba databáze pro malou .NET aplikaci?

  3. vyloučit pole v agregaci $lookup

  4. Použití více databází Mongodb s Meteor.js