sql >> Databáze >  >> RDS >> MariaDB

Jak naplánovat zálohování databáze pomocí ClusterControl

Zálohování databáze je kritickou součástí správy databáze a musí být pečlivě naplánováno. Naplánování zálohování nestačí, zálohovaná data je také třeba ověřit z hlediska konzistence a integrity. Existují další aspekty, jako je šifrování a archivace mimo web. Dobrý správce zálohování by měl funkce, které zohledňují všechny tyto různé aspekty.

V tomto příspěvku na blogu se podíváme na to, jak můžete naplánovat zálohování databáze pomocí ClusterControl.

Zálohování databáze pomocí ClusterControl

ClusterControl podporuje řadu metod zálohování v závislosti na typu clusteru, jak je shrnuto v následující tabulce:

Typ clusteru Podporovaná metoda zálohování
MySQL (replikace, Galera, NDB Cluster, skupinová replikace)
  • mysqldump
  • Percona Xtrabackup (úplná a přírůstková)
  • Záloha MariaDB (pouze MariaDB)
  • Záloha NDB (pouze cluster MySQL)
MongoDB (sada replik, sdílený cluster)
  • mongodump
  • mongodb-consistent-backup (beta, Percona Server pouze pro MongoDB)
PostgreSQL (replikace streamování)
  • pg_dumpall
  • pg_basebackup

Při plánování zálohování pomocí ClusterControl lze každou z metod zálohování konfigurovat pomocí sady možností, jak chcete zálohování provést. Různé databázové úlohy a strategie zálohování by vyžadovaly podporu pro různé funkce, například:

  • Omezení IOPS disku
  • Omezování sítě
  • Zálohovací zámky
  • Šifrování
  • Komprese
  • Doba uchování
  • Ověření

ClusterControl automaticky nastaví řadu možností zálohování podle osvědčených postupů od konkrétního dodavatele databáze. Pokud má například uzel cílové databáze povolen binární protokol, připojí další příznak --master-data zahrnout souřadnice binárního protokolu (název souboru a polohu) serveru s výpisem stavu paměti. Pokud se jedná o uzel Galera a metodou zálohování je xtrabackup, ClusterControl připojí další příznak --galera-info který obsahuje stav místního uzlu v době zálohování.

Plánování zálohování

Než naplánujeme jakékoli zálohování, musíme naplánovat, jak by operace zálohování měla probíhat. Před vytvořením plánu zálohování by bylo užitečné zodpovědět následující příklady otázek:

  • Jakou metodu zálohování chcete použít? Některé metody zálohování jsou neblokující, ale velmi náročné na zdroje. Pochopte kompromisy, abyste nebyli překvapeni, jak se proces chová ve výrobě.
  • Jak často chcete zálohovat své databáze? Spuštění úplné zálohy může být bolestivé, pokud je interval zálohování příliš krátký. Pravděpodobně budete potřebovat kombinaci plných a přírůstkových záloh.
  • Jak rychle chcete obnovit svá data? Fyzické zálohování je obvykle mnohem rychlejší než logické zálohování z hlediska doby plné obnovy. Na druhou stranu je logické zálohování běžně rychlejší pro částečné obnovení.
  • Jak velká je velikost vašich dat? V některých případech není logické zálohování dobrou volbou pro velké databáze a binární zálohování je jedinou možností.
  • Kolik volného místa máte k uložení zálohy? Zálohy mají tendenci zabírat hodně místa. Rozhodněte se, zda je komprese potřebná a jakou úroveň komprese si můžete dovolit. Lepší komprese vyžaduje vyšší využití procesoru.
  • Co když je záložní server během doby zálohování mimo provoz? Mělo by to převzít zálohu při selhání na jiného dostupného hostitele? Vynechat zálohu kvůli oknu údržby obvykle není dobrý nápad.
  • Jak zajistit integritu vytvořené zálohy? Pamatujte, že záloha není záloha, pokud ji nelze obnovit.
  • Důvěřujete úložišti záloh? K ochraně vašich dat může být dobrým nápadem šifrování.

Obecně, zodpovězením těchto otázek můžeme přijít s vhodnou strategií zálohování. Seznam otázek může být delší v závislosti na vašich zásadách zálohování a obnovy.

Této kapitole jsme se podrobně věnovali v našem whitepaperu The DevOps Guide to Database Backups for MySQL and MariaDB.


Plánování zálohování
 

S ClusterControl je plánování docela jednoduché. Přejděte přímo na Zálohování -> Vytvořit zálohu -> Naplánovat zálohování a zobrazí se vám následující dialog:

V závislosti na typu clusteru se možnosti mohou lišit, jak je znázorněno na následujících snímcích obrazovky pro PostgreSQL a MongoDB:

PostgreSQL MongoDB

Většina možností je samozřejmá a jsou podrobně popsány v uživatelské příručce. Jakmile je plán vytvořen, můžete upravit zálohy konfigurace, povolit/zakázat zálohování nebo smazat plán na kartě „Plánované zálohy“:

Při plánování zálohování pomocí ClusterControl mějte na paměti, že veškerý čas musí být naplánován v časovém pásmu UTC serveru ClusterControl. Důvodem je odříznutí zmatku času provádění zálohy. Při práci s klastrem mohou být databázové servery rozmístěny v různých časových pásmech a různých geografických oblastech. Použití jednoho referenčního časového pásma ke správě všech zajistí, že zálohy budou vždy provedeny ve správný čas.

Průběh zálohování můžete sledovat tak, že se podíváte na Aktivita -> Úlohy, jakmile nadejde čas. Pokud se úloha zálohování nezdařila, okamžitě by se vám zobrazila chyba:

Výše uvedený protokol je také přístupný na kartě Záloha u každé položky zálohy:

Pozálohovací kontroly a ověření

Jakmile je úloha zálohování dokončena, neznamená to, že vaše odpovědnost skončila. Je potřeba dodržet několik věcí. Nejdůležitější je stav vytvořené zálohy. ClusterControl poskytuje e-mailová upozornění a bude vás informovat o stavu. Tato oznamovací služba je samozřejmě konfigurovatelná na základě závažnosti v části Nastavení -> Obecná nastavení -> Nastavení upozornění e-mailem -> Záloha:

Doručit znamená, že ClusterControl odešle e-mailové upozornění ihned po spuštění alarmu pro tuto komponentu. Můžete jej také nakonfigurovat jako Ignorovat nebo Digest, kde ClusterControl zasílá denní souhrn vyvolaných alarmů.

Pokud je záloha úspěšně vytvořena, důrazně se doporučuje ověřit, zda je záloha obnovitelná. Funkci ověření zálohy můžete použít kliknutím na tlačítko "Obnovit" zvoleného ID zálohy a zobrazí se vám dvě možnosti obnovení:

"Obnovení a ověření na samostatném hostiteli" vyžaduje samostatného hostitele, který ještě není součástí nastavení databáze. ClusterControl nejprve nasadí instanci MySQL na cílovém hostiteli, spustí službu, zkopíruje zálohu ze zálohovacího úložiště a spustí obnovu. Jakmile budete hotovi, můžete mít možnost buď server po obnovení vypnout, nebo jej nechat běžet, abyste mohli na serveru provést další šetření.

Úklid je také důležitý, abyste ve svém úložišti uchovávali pouze užitečné zálohy. Nakonfigurujte tedy uchování zálohy podle potřeby. Ve výchozím nastavení ClusterControl čistí zálohy, které jsou starší než 30 dní. Můžete také přizpůsobit každý z plánů zálohování s různými dobami uchování.

Pokud se úložiště záloh blíží limitům místa nebo chcete zálohu archivovat mimo provoz, můžete soubor ručně odstranit kliknutím na ikonu koše nebo jej nahrát do cloudu, jak je zvýrazněno níže:

V době psaní tohoto článku jsou podporovány AWS S3 a GCP Cloud Storage. Cloudové přihlašovací údaje musí být předem nakonfigurovány v postranní nabídce -> Integrace -> Poskytovatelé cloudu.

To je ono, lidi. Šťastné shlukování!


  1. Časový limit dotazu v pg-promise

  2. Automatizace defragmentace indexu v databázi MS SQL Server

  3. Vyvarujte se sebeklamu v roztoku HA/DR

  4. Vraťte řádky z INSERT s ON CONFLICT bez nutnosti aktualizace