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

9 funkcí ClusterControl, které nenajdete v jiných nástrojích pro správu databází

Zajištění hladkého provozu vašich produkčních databází není triviální úkol a existuje řada nástrojů a utilit, které vám s tímto úkolem pomohou. K dispozici jsou nástroje pro monitorování stavu, výkonu serveru, analýzu dotazů, nasazení, správu převzetí služeb při selhání, upgrady a seznam může pokračovat. ClusterControl jako platforma pro správu a monitorování pro vaši databázovou infrastrukturu vyniká schopností řídit celý životní cyklus od nasazení po monitorování, průběžnou správu a škálování.

Přestože ClusterControl nabízí důležité funkce, jako je automatické převzetí služeb při selhání databáze, šifrování během přenosu/v klidu, správa zálohování, obnovení v určitém okamžiku, integrace Prometheus, škálování databáze, lze je nalézt v jiných nástrojích pro správu a monitorování podniku na trhu. Existují však funkce, které tak snadno nenajdete. V tomto příspěvku na blogu představíme 9 funkcí, které nenajdete v žádných jiných nástrojích pro správu a monitorování na trhu (v době psaní tohoto článku).

Záložní ověření

Žádná záloha není doslova záloha, dokud nevíte, že ji lze obnovit – skutečným ověřením, že ji lze obnovit. ClusterControl umožňuje ověření zálohy poté, co byla záloha pořízena roztočením nového serveru a testováním obnovení. Ověření zálohy je kritickým procesem, abyste se ujistili, že splňujete zásady cíle bodu obnovení (RPO) v případě obnovy po havárii. Proces ověření provede obnovu na novém samostatném hostiteli (kde ClusterControl před obnovením nainstaluje potřebné databázové balíčky) nebo na serveru vyhrazeném pro ověření zálohy.

Chcete-li nakonfigurovat ověření zálohy, jednoduše vyberte existující zálohu a klikněte na Obnovit. Bude zde možnost Obnovit a ověřit:

Potom jednoduše zadejte IP adresu serveru, který chcete obnovit a ověřit:

Nejprve se ujistěte, že je zadaný hostitel přístupný přes SSH bez hesla. Níže máte také několik možností pro proces zřizování. Po obnovení můžete také vypnout ověřovací server, abyste ušetřili náklady a zdroje po ověření zálohy. ClusterControl vyhledá kód ukončení procesu obnovy a sleduje protokol obnovy, aby zkontroloval, zda se ověření nezdařilo nebo zda bylo úspěšné.

Zjednodušení správy ProxySQL prostřednictvím grafického uživatelského rozhraní

Mnozí by souhlasili s tím, že mít grafické uživatelské rozhraní je efektivnější a méně náchylné k lidské chybě při konfiguraci systému. ProxySQL je součástí kritické databázové vrstvy (ačkoli je umístěna nad ní) a musí být dostatečně viditelná pro oči DBA, aby odhalila běžné problémy a problémy. ClusterControl poskytuje komplexní grafické uživatelské rozhraní pro ProxySQL.

Instance ProxySQL lze nasadit na čerstvé hostitele nebo lze do ClusterControl importovat ty stávající. ClusterControl může nakonfigurovat ProxySQL tak, aby byl integrován s virtuální IP adresou (poskytovanou Keepalived) pro přístup z jednoho koncového bodu k databázovým serverům. Poskytuje také přehled o monitorování klíčových komponent ProxySQL, jako jsou Queries Backend, Pomalé dotazy, Nejčastější dotazy, Hity dotazů a spoustu dalších statistik monitorování. Následuje snímek obrazovky ukazující, jak přidat nové pravidlo dotazu:

Pokud byste přidávali velmi složité pravidlo dotazu, bylo by pro vás pohodlnější to udělat přes grafické uživatelské rozhraní. Každé pole má nápovědu, která vám pomůže při vyplňování formuláře pravidla dotazu. Při přidávání nebo úpravě jakékoli konfigurace ProxySQL se ClusterControl ujistí, že změny jsou provedeny v běhovém prostředí a uloženy na disk pro zachování platnosti.

ClusterControl 1.7.4 nyní podporuje ProxySQL 1.x i ProxySQL 2.x.

Provozní zprávy

Provozní sestavy jsou sada souhrnných sestav vaší databázové infrastruktury, které lze generovat za běhu nebo lze naplánovat zaslání různým příjemcům. Tyto zprávy se skládají z různých kontrol a řeší různé každodenní úkoly DBA. Myšlenkou provozního výkaznictví ClusterControl je dát všechna nejdůležitější data do jediného dokumentu, který lze rychle analyzovat, abyste získali jasnou představu o stavu databází a jejich procesech.

Pomocí ClusterControl můžete naplánovat zprávy o prostředí napříč clustery, jako je Daily System Report, Package Upgrade Report, Schema Change Report, stejně jako zálohy a dostupnost. Tyto zprávy vám pomohou udržet vaše prostředí bezpečné a funkční. Uvidíte také doporučení, jak mezery opravit. Zprávy mohou být adresovány SysOps, DevOps nebo dokonce manažerům, kteří by rádi dostávali pravidelné aktualizace stavu o stavu daného systému.

Níže je uveden příklad denní provozní zprávy zaslané do vaší poštovní schránky ohledně dostupnosti:

Tomu jsme se podrobně věnovali v tomto příspěvku na blogu, Přehled databázových provozních sestav v ClusterControl.

Opětovná synchronizace Slave přes zálohování

ClusterControl umožňuje zřízení slave (ať už nového slave nebo poškozeného slave) prostřednictvím nejnovější plné nebo přírůstkové zálohy. Nezní to moc vzrušující, ale tato funkce je obrovská, pokud máte velké datové sady o velikosti 100 GB a více. Běžnou praxí při opětovné synchronizaci podřízeného zařízení je streamování zálohy aktuálního hlavního serveru, což bude nějakou dobu trvat v závislosti na velikosti databáze. To přidá další zátěž na master, což může ohrozit výkon master.

Chcete-li znovu synchronizovat slave prostřednictvím zálohy, vyberte slave uzel na stránce Nodes a přejděte na Node Actions -> Rebuild Replication Slave -> Rebuild from zálohy. V rozevíracím seznamu budou uvedeny pouze zálohy kompatibilní s PITR:

Opětovná synchronizace podřízeného zařízení ze zálohy nepřinese žádnou další režii na hlavní zařízení, kde ClusterControl extrahuje a streamuje zálohu z umístění zálohy do podřízeného zařízení a případně nakonfiguruje replikační propojení mezi podřízeným zařízením a hlavním zařízením. Slave později dohoní hlavního, jakmile bude navázáno replikační spojení. Master je během celého procesu nedotčen a celý průběh můžete sledovat v části Aktivita -> Úlohy.

Bootstrap Galera Cluster

Galera Cluster je velmi populární při implementaci vysoké dostupnosti pro MySQL nebo MariaDB, ale nesprávné příkazy pro správu mohou mít katastrofální následky. Podívejte se na tento blogový příspěvek o tom, jak zavést Galera Cluster za různých podmínek. To ukazuje, že bootstrapping Galera Cluster má mnoho proměnných a musí být prováděn s extrémní opatrností. V opačném případě můžete ztratit data nebo způsobit rozdělení mozku. ClusterControl rozumí topologii databáze a přesně ví, co dělat, aby správně zavedl databázový cluster. Chcete-li zavést cluster přes ClusterControl, klikněte na Cluster Actions -> Bootstrap Cluster:

Budete mít možnost nechat ClusterControl vybrat správný zaváděcí uzel automaticky nebo provést počáteční zavádění, kdy vyberete jeden z databázových uzlů ze seznamu, abyste se stali referenčním uzlem a vymazali datadir MySQL na spojovacích uzlech, abyste vynutili SST. bootstrapped uzel. Pokud proces bootstrapping selže, ClusterControl stáhne chybový protokol MySQL.

Pokud byste chtěli provést ruční bootstrap, můžete také použít funkci "Find Most Advanced Node" a provést operaci bootstrap clusteru na nejpokročilejším uzlu hlášeném ClusterControl.

Centralizovaná konfigurace a protokolování

ClusterControl stahuje řadu důležitých konfiguračních a protokolovacích souborů a zobrazuje je ve stromové struktuře v rámci ClusterControl. Centralizovaný pohled na tyto soubory je klíčem k efektivnímu pochopení a řešení problémů s nastavením distribuované databáze. Tradiční způsob tailing/grepping těchto souborů je s ClusterControl dávno pryč. Následující snímek obrazovky ukazuje správce konfiguračních souborů ClusterControl, který uvádí všechny související konfigurační soubory pro tento cluster v jediném zobrazení (samozřejmě se zvýrazněním syntaxe):

ClusterControl eliminuje opakování při změně možnosti konfigurace databázového clusteru. Změnu možnosti konfigurace na více uzlech lze provést prostřednictvím jediného rozhraní a odpovídajícím způsobem se použije na uzel databáze. Když kliknete na "Změnit/Nastavit parametr", můžete vybrat instance databáze, které chcete změnit, a zadat konfigurační skupinu, parametr a hodnotu:

Do konfiguračního souboru můžete přidat nový parametr nebo upravit existující parametr . Pokud volba projde procesem ověření proměnné, bude parametr použit na běhové prostředí vybraných uzlů databáze a do konfiguračního souboru. Některá proměnná může vyžadovat restart serveru, na který pak ClusterControl upozorní.

Klonování clusteru databáze

S ClusterControl můžete rychle naklonovat existující MySQL Galera Cluster, takže budete mít přesnou kopii datové sady na druhém clusteru. ClusterControl provádí operaci klonování online, bez jakéhokoli zamykání nebo prostoje stávajícího clusteru. Je to jako operace škálování clusteru s tím rozdílem, že oba clustery jsou po dokončení synchronizace na sobě nezávislé. Klonovaný cluster nemusí nutně mít stejnou velikost clusteru jako stávající. Mohli bychom začít s „jednouzlovým clusterem“ a později jej rozšířit o více databázových uzlů.

Další podobnou funkcí, kterou nabízí ClusterControl, je „Vytvořit cluster ze zálohy“. Tato funkce byla představena v ClusterControl 1.7.1, konkrétně pro clustery Galera Cluster a PostgreSQL, kde lze vytvořit nový cluster ze stávající zálohy. Na rozdíl od klonování klastrů tato operace nepřináší další zatížení zdrojového klastru s tím, že klonovaný klastr nebude ve stejném stavu jako zdrojový klastr.

Tomuto tématu jsme se podrobně věnovali v tomto blogovém příspěvku Jak vytvořit klon vašeho MySQL nebo PostgreSQL databázového klastru.

Obnovit fyzickou zálohu

Většina nástrojů pro správu databází umožňuje zálohování databáze a pouze hrstka z nich podporuje obnovu databáze pouze z logické zálohy. ClusterControl podporuje plnou obnovu nejen pro logické zálohy, ale i fyzické zálohy, ať už se jedná o plnou nebo přírůstkovou zálohu. Obnova fyzické zálohy vyžaduje řadu kritických kroků (zejména přírůstkové zálohy), které v podstatě zahrnují přípravu zálohy, zkopírování připravených dat do datového adresáře, přiřazení správného oprávnění/vlastnictví a spuštění uzlu ve správném pořadí, aby byla zachována konzistence dat napříč všichni členové v klastru. ClusterControl provádí všechny tyto operace automaticky.

Můžete také obnovit fyzickou zálohu do jiného uzlu, který není součástí klastru. V ClusterControl se tato možnost nazývá "Create Cluster from Backup". Můžete začít s „jednouzlovým clusterem“ a vyzkoušet proces obnovy na jiném serveru nebo zkopírovat svůj databázový cluster do jiného umístění.

ClusterControl také podporuje obnovení externí zálohy, zálohy, která nebyla pořízena prostřednictvím ClusterControl. Stačí nahrát zálohu na server ClusterControl a při obnově zadat fyzickou cestu k souboru zálohy. ClusterControl se postará o zbytek.

Replikace mezi clustery

Toto je nová funkce představená v ClusterControl 1.7.4. ClusterControl nyní dokáže zpracovávat a monitorovat replikaci cluster-cluster, která v podstatě rozšiřuje asynchronní replikaci databáze mezi více sadami clusterů ve více geografických lokalitách. Cluster lze nastavit jako hlavní cluster (aktivní cluster, který zpracovává čtení/zápis) a podřízený cluster lze nastavit jako cluster pouze pro čtení (pohotovostní cluster, který může zpracovávat i čtení). ClusterControl podporuje asynchronní replikaci cluster-cluster pro Galera Cluster (musí být povolen binární protokol) a také replikaci master-slave pro PostgreSQL Streaming Replication.

Chcete-li vytvořit nový cluster replikovaný z jiného clusteru, přejděte na Akce clusteru -> Vytvořit podřízený cluster:

Výsledek výše uvedeného nasazení je jasně uveden na řídicím panelu Database Cluster List :

Slave cluster je automaticky nakonfigurován jako pouze pro čtení, replikuje se z primárního clusteru a funguje jako rezervní cluster. Pokud primární cluster zasáhne katastrofa a chcete aktivovat sekundární server, jednoduše vyberte nabídku „Zakázat pouze pro čtení“ dostupnou v rozevíracím seznamu Nodes -> Node Actions, abyste jej povýšili na aktivní cluster.


  1. Mongoose Pokus o otevření neuzavřeného připojení

  2. Python a MongoDB:Připojení k NoSQL databázím

  3. Oznámení ClusterControl 1.7.1:Podpora pro PostgreSQL 11 a MongoDB 4.0, vylepšené monitorování

  4. Mongoid / Mongodb a dotazování na vložené dokumenty