Předtím jsme blogovali o zálohování vaší databáze Moodle MySQL. Tentokrát je to všechno o zálohování databáze Moodle MariaDB. Ve skutečnosti sdílí stejný přístup při zálohování vaší databáze Moodle MySQL jako u vaší databáze Moodle MariaDB. Od MariaDB 10.2 se však pomalu odchýlil a nadále má drastické rozdíly s verzí MySQL. V tomto ohledu věnujte pozornost přístupům, které možná budete muset zvážit při zálohování MariaDB na rozdíl od MySQL, pokud byste z ní byli.
Osvědčené postupy pro vytvoření zálohy MariaDB v Moodle
Podívejme se nejprve na toto téma. Při zálohování vašich dat Moodle se musí uplatňovat osvědčené postupy pro zálohování MariaDB, protože vám to poskytuje bezpečnost a jistotu, zejména když dojde ke katastrofě nebo katastrofě v nepředvídatelných situacích.
Tak co s tím? Vytvoření zálohy pro váš Moodle se musí týkat alespoň následujících záloh:
- Logická záloha
- Fyzická kopie vaší zálohy
- Point-in-Time (přírůstkové) zotavení
Logická záloha
Logická záloha dat je uložena ve formátu čitelném pro člověka, jako je SQL. Logické zálohy ukládají informace reprezentované jako logická struktura databáze (příkazy CREATE DATABASE, CREATE TABLE) a obsah (příkazy INSERT nebo soubory s oddělovači). Tento typ zálohy je vhodný pro menší objemy dat, kde můžete upravit hodnoty dat nebo strukturu tabulek nebo znovu vytvořit data na jiné architektuře počítače. Pokud máte tendenci používat velkou zálohu databáze, ujistěte se, že máte povolenou kompresi. Upozornění, protože to může zabrat hodně místa na disku.
V MariaDB je běžným nástrojem použití mysqldump, ale v budoucnu se to změní s mariadb-dump, který spustí MariaDB 10.4.6 nebo 10.5.2 a novější. Alternativně je běžným nástrojem pro MySQL/MariaDB DBA mydumper, pokud chcete paralelní zálohu pro vaši logickou záložní kopii. I když v některých verzích jsou nějaké problémy nebo to může mít problémy zejména pro nejnovější verze MariaDB. Pokud to chcete použít, věnujte při vytváření kopie pozornost svým protokolům zálohování.
Fyzická záloha
Fyzická záloha obsahuje binární data databáze, která se skládají z nezpracovaných kopií adresářů a souborů, v nichž je uložen obsah databáze. Toto je vhodná akce, kterou je třeba provést zejména u velké databáze, a je rychlejší obnovit úplnou kopii databáze ve srovnání s logickou záložní kopií. Na druhou stranu pořízení úplné fyzické zálohy zabere čas, zejména pokud máte velmi velký soubor dat. Záleží také na tom, jaké parametry jste povolili nebo nastavili, které mohou ovlivnit odhadovaný příjezd zálohy.
Běžným nástrojem pro MariaDB je použití mariabackup. Mariabackup je open source nástroj poskytovaný MariaDB. Je to fork Percona XtraBackup navržený pro práci se šifrovanými a komprimovanými tabulkami a je doporučenou metodou zálohování pro databáze MariaDB.
Obnova bodu v čase (PITR)
Obnova v určitém okamžiku označuje obnovu změn dat do daného okamžiku. Tento daný časový okamžik je požadovaným cílem obnovy, který byl stanoven a požaduje se, aby byl uveden zpět na místo, který se uplatňuje během obnovy. PITR je dopředná obnova a to znamená, že můžete obnovit data z požadovaného počátečního času do požadovaného koncového času, pro opačné čtení pomocí MariaDB Flashback na serveru MySQL. PITR je také považován za doplňkovou metodu ochrany dat, protože zajišťuje ztrátu důležitých informací.
V běžných situacích se záloha PITR použitelná pro váš typ obnovy provádí po obnovení plné zálohy, která uvede server do stavu v době vytvoření zálohy. Obnova v určitém okamžiku pak aktualizuje server postupně od doby úplné zálohy po novější. Také to urychluje vytváření repliky v replikačním clusteru od dohánění vaší primární databáze MariaDB nebo databáze aktivního zapisovače.
Co jsou tedy tyto zálohy? V MariaDB jsou běžné zálohy použitelné pro váš PITR vaše binární protokoly. Binární protokolování musí být správně nakonfigurováno ve vaší databázi MariaDB a musí být povoleno. Pokud používáte ClusterControl, nemusí být pro vás obtížné tuto konfiguraci nakonfigurovat, protože je konfigurována automaticky a je povolena zejména při nastavování replikačního clusteru.
Při použití PITR je nejběžnějším nástrojem mysqlbinlog nebo mariadb-binlog pro MariaDB 10.5.2 a novější.
Nejlepší přístup k zálohování databáze MariaDB Moodle
Při používání databáze Moodle MariaDB si vždy zálohujte mimo špičku nebo když je provoz příliš nízký. Než to uděláte, ujistěte se, že jste zálohu otestovali a že byla úspěšně dokončena. Po dokončení otestujte obnovu, zda je vaše záloha užitečná nebo ne a zda vyhovuje vašim potřebám, když je potřeba obnova dat nebo když potřebujete zálohu k vytvoření další sady clusterů (QA, dev nebo rozšíření do jiného datového centra). V zásadě by následující podsekce měly představovat přístup a nastavení, se kterými se musíte vypořádat.
Nastavit repliku a zálohovat ji
Pokud nejste obeznámeni s replikací, přečtěte si naši bílou knihu MySQL Replication for High Availability. V zásadě nešetřete svůj aktivní zapisovač nebo uzel primární databáze pro provádění nebo spouštění zálohy. Pořízení zálohy musí být otestováno a nemusí se provádět v produkci, pokud ještě nebylo otestováno pomocí sady příkazů a zásad zálohování, které jste vytvořili. Jakmile bude dobrý, prostě ho nechte a zamiřte na repliku. Pokud nemáte na výběr nebo jste si alespoň jisti, co děláte, můžete si udělat zálohu ze své primární/hlavní databáze MariaDB.
Spustit zálohování mimo špičku
Při zálohování se ujistěte, že je to vaše špička. Vaše replika musí mít pokud možno nulové zpoždění, takže nejaktuálnější data budou začerněna.
Vytvořit zásady zálohování
Zásady zálohování se skládají z vašich parametrů a plánu, který zálohování spouští. U parametrů se ujistěte, že vyhovují vašim potřebám, tj. zabezpečení, kompresi atd. Plán musí být trvalý, takže záloha musí být k dispozici v případě potřeby v době katastrofy a obnovy dat. Budete také schopni určit cíl doby obnovy, abyste mohli určit, jak často a kdy se má plán zálohování spouštět.
Jak vytvořit zálohu databáze Moodle MariaDB
Použití mariadb-dump/mysqldump
Níže uvedený příkaz vytvoří zálohu databáze pro Moodle. V tomto příkladu je název databáze moodle. Zahrnuli jsme spouštěče, uložené procedury nebo rutiny a události. Vytiskněte GTID a hlavní informace, které jsou užitečné, když chcete zřídit repliku z primárního nebo hlavního databázového uzlu.
$ /usr/bin/mariadb-dump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle
Pokud používáte MariaDB verze <10.5.2, můžete mariadb-dump jednoduše nahradit mysqldump. Pokud potřebujete komprimovat, můžete spustit příkaz níže:
$ /usr/bin/mysqldump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle |gzip -6 -c > /backups/backup-n1/mysqldump_2021-01-25_182643_schemaanddata.sql.gz
Použití mariabackup
Mariabackup lze provést jednoduše. K tomu použijeme mbstream jako požadovaný formát pro streamování a archivaci. Můžete použít následující příkaz:
$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream > backup.xbstream
Pokud ho chcete zkomprimovat, můžete provést následující příkaz:
$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream | gzip -6 - > backup.xbstream.gz
Použití ClusterControl
Pokud přejdete na spravované řešení speciálně pro zálohování vašeho Moodle, ClusterControl to převezme jednoduše, ale nabízí pokročilé funkce pro zálohování. Podívejte se na níže uvedený snímek obrazovky:
Pořízení zálohy je velmi jednoduché a snadno se vytváří. Vše, co musíte udělat, je přejít na
Na výše uvedeném snímku obrazovky mám mysqldump, mysqldump kompatibilní s PITR a mariabackup. Můžete si vybrat, který hostitel má zálohu provést. Jak již bylo zmíněno, ujistěte se, že provádíte zálohu na repliku nebo slave. To znamená, že se ujistěte, že je vybrán podřízený. Viz snímek obrazovky níže:
Při výběru nebo výběru mysqldump umožňuje ClusterControl uživateli vybrat si typ data, která mají být uložena. To také zahrnuje výpis kompatibilní s PITR pro zálohování. Viz snímek obrazovky níže:
Pro vaši binární nebo fyzickou zálohu, kromě mysqldump jako vaší logické zálohy, můžete si vybrat mariabackup buď plný nebo přírůstkový. Viz níže:
Umístění úložiště umožňuje uživateli pouze zvolit, zda zůstane na uzlu, nebo streamujte jej do hostitele ClusterControl. Pokud máte externí server, který není registrován v ClusterControl, můžete použít NFS k připojení svazku, na který chcete zálohu uložit. I když to nemusí být ideální, v některých případech to uspokojí, zejména pokud je šířka pásma sítě nebo síťový přenos dostatečně rychlý na to, aby data lokálně streamovala do druhého uzlu přes síť.
V podstatě si můžete vybrat zálohy, které se mají nahrát do cloudu. Snímek obrazovky můžete vidět dříve a zaškrtnutím políčka jej povolíte stejně jako níže:
Jak již bylo zmíněno dříve, ClusterControl využívá zálohování jednoduše a přitom poskytuje pokročilé funkce, zde jsou možnosti, které můžete nastavit.
Pro mysqldump,
Pro mariabackup,
velmi snadné použití. ClusterControl také nabízí ověření zálohy a obnovení zálohy, takže můžete snadno určit, zda je zálohování užitečné nebo ne. To pomáhá, že záloha vaší databáze Moodle je užitečná zejména tehdy, když je třeba použít obnovu dat pro nouzové situace a obnovu.
Závěr
Zálohování databáze Moodle MariaDB může být snadné, ale když se data zvětší a provoz se zvýší, může to být velká výzva. Musíte pouze dodržovat osvědčené postupy, ujistit se, že jste zabezpečili svá data, zajistit, aby vaše záloha byla ověřena, a je to užitečné, když je třeba použít obnovu dat.