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í!