V posledních pěti příspěvcích série blogů jsme se zabývali nasazením clusteringu/replikace (MySQL / Galera, MySQL Replication, MongoDB &PostgreSQL), správou a monitorováním vašich stávajících databází a clusterů, monitorováním výkonu a zdraví, jak provést nastavení vysoce dostupné prostřednictvím HAProxy a MaxScale a v posledním příspěvku, jak se připravit na katastrofy plánováním záloh.
Od verze ClusterControl 1.2.11 jsme provedli velká vylepšení správce konfigurace databáze. Nová verze umožňuje měnit parametry na více databázových hostitelích současně a pokud je to možné, měnit jejich hodnoty za běhu.
V příspěvku na blogu Tips &Tricks jsme představili novou správu konfigurace MySQL, ale tento příspěvek na blogu půjde více do hloubky a pokryje správu konfigurace v rámci ClusterControl pro MySQL, PostgreSQL a MongoDB.
Správa konfigurace ClusterControl
Rozhraní pro správu konfigurace naleznete v části Správa> Konfigurace. Zde můžete prohlížet nebo měnit konfigurace uzlů databáze a dalších nástrojů, které ClusterControl spravuje. ClusterControl importuje nejnovější konfiguraci ze všech uzlů a přepíše předchozí vytvořené kopie. V současné době nejsou uchovávány žádné historické údaje.
Pokud byste raději ručně upravovali konfigurační soubory přímo na uzlech, můžete znovu importovat změněnou konfiguraci stisknutím tlačítka Import.
A v neposlední řadě:můžete vytvářet nebo upravovat konfigurační šablony. Tyto šablony se používají při každém nasazení nových uzlů ve vašem clusteru. Samozřejmě žádné změny provedené v šablonách nebudou zpětně aplikovány na již nasazené uzly, které byly vytvořeny pomocí těchto šablon.
Správa konfigurace MySQL
Jak již bylo zmíněno, správa konfigurace MySQL byla v ClusterControl 1.2.11 kompletně přepracována. Rozhraní je nyní intuitivnější. Při změně parametrů ClusterControl kontroluje, zda parametr skutečně existuje. To zajistí, že vaše konfigurace nebude odmítat spuštění MySQL kvůli parametrům, které neexistují.
V části Spravovat -> Konfigurace naleznete přehled všech konfiguračních souborů používaných ve vybraném clusteru, včetně uzlů nástroje pro vyrovnávání zatížení.
Pro snadné zobrazení hostitelů a jejich příslušných konfiguračních souborů používáme stromovou strukturu. Ve spodní části stromu najdete konfigurační šablony dostupné pro tento cluster.
Změna parametrů
Předpokládejme, že potřebujeme změnit jednoduchý parametr, jako je maximální počet povolených připojení (max_connections), můžeme tento parametr jednoduše změnit za běhu.
Nejprve vyberte hostitele, na které chcete tuto změnu použít.
Poté vyberte sekci, kterou chcete změnit. Ve většině případů budete chtít změnit sekci MYSQLD. Pokud byste chtěli změnit výchozí znakovou sadu pro MySQL, budete to muset změnit jak v MYSQLD, tak v klientské části.
V případě potřeby můžete také vytvořit novou sekci jednoduchým zadáním názvu nové sekce. Tím se vytvoří nová sekce v my.cnf.
Jakmile změníme parametr a nastavíme jeho novou hodnotu stisknutím „Pokračovat“, ClusterControl zkontroluje, zda parametr pro tuto verzi MySQL existuje. To má zabránit tomu, aby jakékoli neexistující parametry zablokovaly inicializaci MySQL při příštím restartu.
Když pro změnu max_connections stiskneme „pokračovat“, obdržíme potvrzení, že byla použita v konfiguraci a nastavena za běhu pomocí SET GLOBAL. Restart není vyžadován, protože max_connections je parametr, který můžeme za běhu změnit.
Nyní předpokládejme, že chceme změnit velikost bufferpoolu, což by vyžadovalo restart MySQL, než se projeví:
A podle očekávání byla hodnota v konfiguračním souboru změněna, ale je vyžadován restart. Můžete to provést ručním přihlášením k hostiteli a restartováním procesu MySQL. Dalším způsobem, jak toho dosáhnout z ClusterControl, je použití řídicího panelu Nodes.
Restartování uzlů v clusteru Galera
Pro každý uzel můžete provést restart výběrem „Restartovat uzel“ a stisknutím tlačítka „Pokračovat“.
Když na uzlu Galera vyberete „Initial Start“, ClusterControl vyprázdní datový adresář MySQL a vynutí si úplnou kopii tímto způsobem. To je samozřejmě pro změnu konfigurace zbytečné. Ujistěte se, že jste v potvrzovacím dialogu nechali nezaškrtnuté políčko „počáteční“. Tím se zastaví a spustí MySQL na hostiteli, ale v závislosti na vaší pracovní zátěži a velikosti bufferu to může chvíli trvat, protože MySQL začne splachovat špinavé stránky z bufferu InnoDB na disk. Toto jsou stránky, které byly upraveny v paměti, ale ne na disku.
Restartování uzlů v topologiích MySQL Master-Slave
U topologií MySQL master-slave nemůžete jen restartovat uzel po uzlu. Pokud není prostoj nadřízeného zařízení přijatelný, budete muset nejprve použít změny konfigurace na podřízené jednotky a poté povýšit podřízenou jednotku, aby se stala novou nadřízenou jednotkou.
Můžete projít otroky jednoho po druhém a spustit na nich „Restart Node“.
Po aplikování změn na všechny otroky povyšte otroka, aby se stal novým pánem:
Poté, co se podřízený uzel stane novým hlavním uzlem, můžete starý hlavní uzel vypnout a restartovat, abyste použili změnu.
Import konfigurací
Nyní, když jsme aplikovali změnu přímo na databázi, stejně jako konfigurační soubor, bude trvat až do příštího importu konfigurace, než se změna projeví v konfiguraci uložené v ClusterControl. Pokud jste méně trpěliví, můžete naplánovat okamžitý import konfigurace stisknutím tlačítka „Importovat“.
Správa konfigurace PostgreSQL
Pro PostgreSQL funguje správa konfigurace trochu jinak než správa konfigurace MySQL. Obecně zde máte stejné funkce:změnit konfiguraci, importovat konfigurace pro všechny uzly a definovat/upravit šablony.
Rozdíl je v tom, že můžete okamžitě změnit celý konfigurační soubor a zapsat tuto konfiguraci zpět do databázového uzlu.
Pokud provedené změny vyžadují restart, zobrazí se tlačítko „Restart“, které vám umožní restartovat uzel, aby se změny uplatnily.
Správa konfigurace MongoDB
MongoDB Configuration Management funguje podobně jako MySQL Configuration Management:můžete měnit konfiguraci, importovat konfigurace pro všechny uzly, měnit parametry a upravovat šablony.
Změna konfigurace je docela jednoduchá pomocí dialogu Změnit parametr (jak je popsáno v části "Změna parametrů"::
Po změně můžete vidět akci po úpravě navrženou ClusterControl v dialogovém okně "Config Change Log":
Poté můžete přistoupit k restartování příslušných uzlů MongoDB, jeden uzel po druhém, aby se načetly změny.
Poslední myšlenky
V tomto příspěvku na blogu jsme se dozvěděli o tom, jak spravovat, upravovat a vytvářet šablony vašich konfigurací v ClusterControl. Změna šablon vám může ušetřit spoustu času, když jste nasadili pouze jeden uzel ve vaší topologii. Protože šablona bude použita pro nové uzly, ušetří vám to pozdější změny všech konfigurací. Pro uzly založené na MySQL a MongoDB se však změna konfigurace na všech uzlech stala triviální díky novému rozhraní Configuration Management.
Připomínáme, že nedávno jsme se ve stejné sérii zabývali nasazením clusteringu/replikace (MySQL / Galera, MySQL Replication, MongoDB &PostgreSQL), správou a monitorováním vašich stávajících databází a clusterů, monitorováním výkonu a zdravím, jak zajistit, aby vaše nastavení bylo vysoce dostupné prostřednictvím HAProxy a MaxScale a v posledním příspěvku, jak se připravit na katastrofy plánováním záloh.