sql >> Databáze >  >> RDS >> Mysql

Použití poradců pro zálohování databáze k automatizaci úloh údržby

Katastrofa obvykle způsobí výpadek, což znamená výpadek systému a potenciální ztrátu dat. Jakmile zjistíme výpadek, spustíme náš plán DR, abychom se z něj zotavili. Bylo by však překvapením, pokud neexistuje žádná záloha nebo po dlouhých hodinách obnovy zjistíte, že to není ta, kterou potřebujete.

Přestože výpadky mohou být nákladné, často to má finanční dopad, který může být pro firmu škodlivý, a ztráta dat může být důvodem k uzavření společnosti.

Abychom minimalizovali ztrátu dat, potřebujeme mít více kopií dat na různých místech. Můžeme navrhnout naši infrastrukturu v různých vrstvách a abstrahovat každou vrstvu od vrstvy pod ní. Stavíme například vrstvu pro clustery databázových instancí na ochranu před selháním hardwaru. Replikujeme databáze napříč datovými centry, abychom se mohli bránit selhání datového centra. Každá další vrstva zvyšuje složitost, jejíž správa se může stát noční můrou. Ale přesto v podstatě záloha zaujme ústřední místo při obnově po havárii.

Proto je důležité mít jistotu, že je to něco, na co se můžeme spolehnout. Ale jak toho dosáhnout? Jednou z možností je ověřit, zda byly zálohy provedeny na základě posledních několika řádků zálohovacího skriptu.

Jednoduchý příklad:

#!/bin/sh

mysqldump -h 192.168.1.1 -u user -ppassword dbname > filename.sql



if [ "$?" -eq 0 ]; then

    echo "Success."

else

    echo "Error."

fi

Co když se záložní skript vůbec nespustil? Google nabízí poměrně dost výsledků vyhledávání pro „Linux cron, neběží“.

Open-source databáze bohužel často nenabízejí úložiště záloh.

Další testování zálohy. Možná jste už slyšeli o Schrödingerově kočce. Známá Schrödingerova teorie zálohování je . "Stav jakékoli zálohy není znám, dokud se nepokusí o obnovení." Zní to jako jednoduchý přístup, ale takový pokus by znamenal, že budete muset nastavit testovací prostředí, zkopírovat soubory a spustit obnovu ... po každém zálohování.

V tomto článku se podíváme na to, jak můžete pomocí ClusterControl zajistit, aby se záloha provedla , abyste dosáhli databází Enterprise-Grade s databázemi s otevřeným zdrojovým kódem.

Záložní přehledy

ClusterControl byl zaměřen na provozní zprávy. Operational Reporting poskytuje podporu pro každodenní monitorování a kontrolu podnikových aktivit. Záložní zpráva je jednou z mnoha. Můžete najít zprávy jako:

  • Denní systémová zpráva
  • Zpráva o aktualizaci balíčku
  • Přehled změny schématu
  • Dostupnost 
  • Záloha

Ale proč bys to potřeboval?

Možná již máte vynikající monitorovací nástroj se všemi možnými metrikami/grafy a pravděpodobně jste také nastavili upozornění na základě metrik a prahových hodnot (někteří budou mít dokonce automatické poradce, kteří jim budou poskytovat doporučení nebo věci automaticky opravovat.) To je dobré – mít přehled o svém systém je důležitý; přesto musíte umět zpracovat spoustu informací.

Jak to funguje? ClusterControl shromažďuje informace o procesu zálohování, systémech, platformách a zařízeních v infrastruktuře zálohování, když je úloha zálohování spuštěna. Všechny tyto informace jsou agregovány a uloženy v CMON (interní databáze), takže není třeba se dodatečně dotazovat na konkrétní databáze. Navíc, když zjistí, že máte spuštěný cluster, ale nebyla tam žádná záloha, bude to také hlášeno.

V podrobnostech přehledu můžete sledovat  ID zálohy s podrobnými údaji o umístění, velikosti, čase a metodě zálohování. Šablony pracují s daty pro různé typy databází, takže když spravujete smíšené prostředí, získáte stejný pocit a vzhled. Pomáhá lépe spravovat různé zálohy databází.

Přehledy CLI

Pro ty, kteří upřednostňují rozhraní příkazového řádku, je to dobrá volba pro sledování záloh ClusterControl Command Line Interface (CLI).

CLI vám umožňuje spouštět většinu funkcí dostupných v ClusterControl pomocí jednoduchých příkazů. Jedním z nich je provedení zálohy a zprávy o zálohování.

Ve spojení s výkonným GUI poskytuje uživatelům ClusterControl alternativní způsoby, jak spravovat svá databázová prostředí s otevřeným zdrojovým kódem pomocí jakéhokoli enginu, který preferují.

$ s9s backup --list --cluster-id=1 --long --human-readable

ID CID STATE     OWNER HOSTNAME CREATED  SIZE FILENAME

 1   1 COMPLETED dba   10.0.0.5 07:21:39 252K mysqldump_2017-05-09_072135_mysqldb.sql.gz

 1   1 COMPLETED dba   10.0.0.5 07:21:43 1014 mysqldump_2017-05-09_072135_schema.sql.gz

 1   1 COMPLETED dba   10.0.0.5 07:22:03 109M mysqldump_2017-05-09_072135_data.sql.gz

 1   1 COMPLETED dba   10.0.0.5 07:22:07 679 mysqldump_2017-05-09_072135_triggerseventsroutines.sql.gz

 2   1 COMPLETED dba   10.0.0.5 07:30:20 252K mysqldump_2017-05-09_073016_mysqldb.sql.gz

 2   1 COMPLETED dba   10.0.0.5 07:30:24 1014 mysqldump_2017-05-09_073016_schema.sql.gz

 2   1 COMPLETED dba   10.0.0.5 07:30:44 109M mysqldump_2017-05-09_073016_data.sql.gz

 2   1 COMPLETED dba   10.0.0.5 07:30:49 679 mysqldump_2017-05-09_073016_triggerseventsroutines.sql.gz

Počínaje verzí 1.4.1 instalační skript automaticky nainstaluje tento balíček do uzlu ClusterControl. CLI je součástí balíčku s9s-tools. Můžete jej také nainstalovat samostatně na jiný počítač a spravovat databázový cluster vzdáleně. Podobně jako ClusterControl využívá zabezpečenou komunikaci SSH.

Automatické ověření zálohy

Záloha není záloha, pokud nejsme schopni získat data. Ověřování záloh je něco, co mnoho společností obvykle přehlíží. Podívejme se, jak může ClusterControl automatizovat ověřování záloh a pomoci vyhnout se jakýmkoli překvapením.

V ClusterControl vyberte svůj cluster a přejděte do sekce „Záloha“ a poté vyberte „Vytvořit zálohu“.

Pro plánované zálohy je k dispozici funkce automatického ověření zálohování, takže si vyberte možnost „Naplánovat zálohování“.

Při plánování zálohování musíme kromě výběru běžných možností, jako je metoda nebo úložiště, určit také plán/frekvenci. V tomto příkladu nastavíme ověřování zálohování MySQL. Totéž však lze dosáhnout pro databáze PostgreSQL a Timescale.

Po zaškrtnutí ověření zálohy se objeví další karta.

Zde můžeme nastavit všechny potřebné kroky k přípravě prostředí. Když je poskytnuta IP, je dobré jít a naplánovat takové zálohování. Kdykoli zálohování skončí, bude zkopírováno do dočasného prostředí pro ověření zálohy (možnost „obnovit zálohu zapnout“). Po úspěšné aktualizaci uvidíte stav ověření v záložce úložiště záloh.

Neúspěšné spuštění zálohování a integrační služby

Další zajímavou možností, jak získat další vodítka o provádění záloh, je použití služeb ClusterControl Integration. Stav provádění zálohy můžete ovládat pomocí služeb třetích stran.

Integrace nástrojů třetích stran umožňuje automatizovat upozornění s jinými oblíbenými systémy. V současné době ClusterControl podporuje ServiceNow, PagerDuty, VictorOps, OpsGenie, Slack, Telegram a Webhooks.

Níže můžeme vidět příklad integrace kanálu Slack. Kdykoli dojde k události zálohování, objeví se ve volném kanálu.

Závěr

Zálohy jsou povinné v jakémkoli prostředí. Pomáhají vám chránit vaše data a jsou středem každého scénáře obnovy po havárii. ClusterControl může pomoci zautomatizovat proces zálohování vašich databází a v případě selhání je obnovit pomocí několika kliknutí. Také si můžete být jisti, že jsou úspěšně a spolehlivě provedeny, takže v případě katastrofy o svá data nepřijdete.


  1. Jak deklarovat a zobrazit proměnnou v Oracle

  2. Jak vytvořím složený klíč pomocí SQL Server Management Studio?

  3. Testování zatížení sítě pomocí iPerf

  4. Klíčové indikátory problémového designu