Eerder hebben we geblogd over het maken van back-ups van je Moodle MySQL-database. Deze keer draait het allemaal om het maken van een back-up van je Moodle MariaDB-database. In feite deelt het dezelfde aanpak bij het maken van een back-up van uw Moodle MySQL-database als bij uw Moodle MariaDB-database. Sinds MariaDB 10.2 is het echter langzaam afgeweken en blijft het drastische verschillen vertonen met de MySQL-versie. Let in dit verband op de benaderingen die u mogelijk moet overwegen wanneer u een back-up van uw MariaDB maakt in tegenstelling tot MySQL als u er zelf vandaan komt.
Beste praktijken voor het maken van uw Moodle MariaDB-back-up
Laten we eerst over dit onderwerp nadenken. Het maken van een back-up voor uw Moodle-gegevens moet de best practices voor uw MariaDB-back-up toepassen, omdat dit u veiligheid en zekerheid biedt, vooral wanneer zich een ramp of ramp voordoet in onvoorspelbare situaties.
Dus wat is hier mee aan de hand? Het maken van een back-up voor je Moodle heeft in ieder geval te maken met de volgende back-ups:
- Logische back-up
- Fysieke kopie van uw back-up
- Point-in-Time (incrementeel) herstel
Logische back-up
Een logische back-up van gegevens wordt opgeslagen in een voor mensen leesbare indeling zoals SQL. Logische back-ups slaan informatie op die wordt weergegeven als een logische databasestructuur (CREATE DATABASE, CREATE TABLE-instructies) en inhoud (INSERT-instructies of tekstbestanden met scheidingstekens). Dit type back-up is geschikt voor kleinere hoeveelheden gegevens waarbij u de gegevenswaarden of tabelstructuur kunt bewerken, of de gegevens opnieuw kunt maken op een andere machinearchitectuur. Als je de neiging hebt om een enorme databaseback-up te gebruiken, zorg er dan voor dat compressie is ingeschakeld. Waarschuwing, want dit kan vooral veel schijfruimte in beslag nemen.
In MariaDB is mysqldump een veelgebruikt hulpmiddel, maar dit zal in de toekomst veranderen met mariadb-dump vanaf MariaDB 10.4.6 of 10.5.2 en later. Als alternatief is mydumper een veelgebruikt hulpmiddel voor MySQL/MariaDB DBA's als u een parallelle back-up wilt voor uw logische back-upkopie. Hoewel er enkele problemen zijn in sommige versies of dat het problemen kan hebben, vooral voor de nieuwste versies van MariaDB. Als u hiervan gebruik wilt maken, let dan op uw back-uplogboeken bij het maken van een kopie.
Fysieke back-up
Fysieke back-up bevat de binaire gegevens van de database die bestaan uit onbewerkte kopieën van de mappen en bestanden waarin de inhoud van de database is opgeslagen. Dit is een geschikte actie om te ondernemen, vooral voor een grote database en het is sneller om een volledige kopie van de database te herstellen in vergelijking met een logische reservekopie. Aan de andere kant kost het maken van een volledige fysieke back-up tijd, vooral als je een zeer grote dataset hebt. Het hangt ook af van welke parameters u hebt ingeschakeld of ingesteld die van invloed kunnen zijn op de ETA van de back-up.
Een algemeen hulpmiddel voor MariaDB is het gebruik van mariabackup. Mariabackup is een open source-tool die wordt aangeboden door MariaDB. Het is een vork van Percona XtraBackup die is ontworpen om te werken met versleutelde en gecomprimeerde tabellen, en is de aanbevolen back-upmethode voor MariaDB-databases.
Point-in-Time Recovery (PITR)
Tijdsherstel verwijst naar het herstellen van gegevenswijzigingen tot een bepaald tijdstip. Dit gegeven tijdstip is de gewenste hersteldoelstelling die is vastgesteld en moet worden hersteld, die wordt toegepast tijdens herstel. PITR is een point-forward recovery en dat betekent dat u gegevens van de gewenste starttijd naar de gewenste eindtijd kunt herstellen, lees het tegenovergestelde:MariaDB Flashback gebruiken op een MySQL-server. PITR wordt ook beschouwd als een aanvullende methode voor gegevensbescherming, omdat het het verlies van belangrijke informatie beschermt.
In veelvoorkomende situaties wordt uw PITR-back-up die van toepassing is op uw type herstel uitgevoerd na het herstellen van een volledige back-up die de server in de staat brengt op het moment dat de back-up werd gemaakt. Point-in-time recovery brengt de server vervolgens stapsgewijs up-to-date vanaf het moment van de volledige back-up tot een recenter tijdstip. Het versnelt ook het bouwen van een replica binnen een replicatiecluster van het inhalen van uw MariaDB-primaire of actieve-schrijverdatabase.
Dus wat zijn deze back-ups? In MariaDB zijn de algemene back-ups die van toepassing zijn op uw PITR uw binaire logboeken. Binaire logboekregistratie moet correct zijn geconfigureerd in uw MariaDB-database en moet zijn ingeschakeld. Als u ClusterControl gebruikt, is het misschien niet moeilijk voor u om dit te configureren, aangezien het automatisch voor u wordt geconfigureerd en vooral is ingeschakeld bij het opzetten van een replicatiecluster.
Bij het toepassen van PITR is mysqlbinlog of mariadb-binlog vanaf MariaDB 10.5.2 de meest gebruikte tool.
Beste aanpak om een back-up te maken van uw Moodle MariaDB-database
Als u uw Moodle MariaDB-database uitvoert, moet u altijd een back-up maken tijdens daluren of wanneer er te weinig verkeer is. Voordat u dit doet, moet u ervoor zorgen dat u de back-up hebt getest en dat deze met succes is voltooid. Als u klaar bent, kunt u een hersteltest testen of uw back-up nuttig is of niet en of deze voldoet aan uw behoeften wanneer gegevensherstel nodig is of wanneer u uw back-up nodig hebt om een andere set clusters te maken (QA, dev of uitbreiden naar een ander datacenter). In principe zullen de volgende subsecties de aanpak en opzet zijn waarmee u te maken krijgt.
Stel een replica in en neem de back-up op replica
Als u niet bekend bent met replicatie, lees dan onze whitepaper MySQL-replicatie voor hoge beschikbaarheid. Kortom, spaar uw active-writer of primaire databaseknooppunt niet voor het uitvoeren of uitvoeren van een back-up. Het maken van een back-up moet worden getest en het moet niet in productie worden uitgevoerd als het nog niet is getest met een set opdrachten en het back-upbeleid dat u hebt gemaakt. Als het eenmaal goed is, laat het dan gewoon staan en richt het op een replica. U kunt een back-up maken van uw primaire/master MariaDB-database als u geen keus heeft of als u tenminste zeker weet wat u doet.
Back-up uitvoeren tijdens daluren
Als u een back-up maakt, zorg er dan voor dat dit uw piekuren zijn. Uw replica moet zo min mogelijk vertraging hebben, zodat de meest up-to-date gegevens worden zwart gemaakt.
Maak een back-upbeleid
Het back-upbeleid bestaat uit uw parameters en het schema waarop uw back-up van start gaat. Zorg ervoor dat de parameters voldoen aan uw behoeften, d.w.z. beveiliging, compressie, enz. Het schema moet permanent zijn, zodat uw back-up zal er zijn wanneer dat nodig is in tijden van ramp en data recovery nodig is. U kunt ook uw doelstelling voor hersteltijd bepalen, zodat u kunt bepalen hoe vaak uw back-upschema moet worden uitgevoerd en wanneer.
Hoe maak je een back-up van je Moodle MariaDB-database
Mariadb-dump/mysqldump gebruiken
De onderstaande opdracht maakt je databaseback-up voor Moodle. In dit voorbeeld is de databasenaam moodle. We hebben triggers, opgeslagen procedures of routines en gebeurtenissen opgenomen. Druk de GTID en de hoofdinformatie af, wat handig is wanneer u een replica wilt inrichten vanaf het primaire of hoofddatabaseknooppunt.
$ /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
Je kunt mariadb-dump eenvoudig vervangen door mysqldump als je MariaDB-versie <10.5.2 gebruikt. Als u moet comprimeren, kunt u de onderstaande opdracht uitvoeren:
$ /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
Mariabackup gebruiken
De mariabackup kan eenvoudig worden genomen. Hiervoor gebruiken we mbstream als het gewenste streaming- en archiveringsformaat. U kunt de onderstaande opdracht gebruiken:
$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream > backup.xbstream
Als u het wilt comprimeren, kunt u het volgende commando uitvoeren:
$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream | gzip -6 - > backup.xbstream.gz
ClusterControl gebruiken
Als je overstapt naar een beheerde oplossing speciaal voor het maken van back-ups van je Moodle, neemt ClusterControl het op een eenvoudige maar biedt geavanceerde functies voor het maken van back-ups. Bekijk de onderstaande schermafbeelding:
Het maken van een back-up is heel eenvoudig en gemakkelijk te maken. Het enige dat u hoeft te doen, is naar
In de bovenstaande schermafbeelding heb ik mysqldump, mysqldump met PITR-compatibel en mariabackup. U kunt selecteren van welke host u de back-up wilt maken. Zoals eerder vermeld, zorg ervoor dat u de back-up maakt op de replica of slave. Dat betekent, zorg ervoor dat de slave is geselecteerd. Zie screenshot hieronder:
Tijdens het selecteren of kiezen van mysqldump, stelt ClusterControl de gebruiker in staat om het type gegevens te dumpen. Dit omvat ook een PITR-compatibele dump voor back-up. Zie screenshot hieronder:
Voor uw binaire of fysieke back-up, naast mysqldump als uw logische back-up, u kunt mariabackup volledig of incrementeel kiezen. Zie hieronder:
Opslaglocaties geven de gebruiker alleen de keuze om op het knooppunt te blijven of stream het naar de ClusterControl-host. Als u een externe server heeft die niet is geregistreerd bij ClusterControl, kunt u NFS gebruiken om het volume te mounten waarvan u wilt dat uw back-up wordt gedumpt. Hoewel dat misschien niet ideaal is, maar in sommige gevallen, zal dit voldoen, vooral als de netwerkbandbreedte of netwerkoverdracht snel genoeg is om de gegevens lokaal via het netwerk naar het andere knooppunt te streamen.
In wezen kunt u de back-ups kiezen die naar de cloud moeten worden geüpload. Je kunt de schermafbeelding eerder zien en gewoon het selectievakje aanvinken om het in te schakelen, zoals hieronder:
Zoals eerder vermeld, neemt ClusterControl de back-up in een eenvoudig te gebruiken en toch biedt geavanceerde functies, hier zijn de opties die u kunt instellen.
Voor mysqldump,
Voor mariabackup,
zeer gemakkelijk te gebruiken. ClusterControl biedt ook back-upverificatie en back-upherstel, zodat u gemakkelijk kunt bepalen of back-up nuttig is of niet. Dit helpt dat uw Moodle-databaseback-up handig is, vooral wanneer gegevensherstel moet worden toegepast voor noodgevallen en herstel.
Conclusie
Het kan gemakkelijk zijn om een back-up van uw Moodle MariaDB-database te maken, maar wanneer de gegevens groter worden en het verkeer toeneemt, kan dit een grote uitdaging zijn. U hoeft alleen de best practices te volgen, ervoor te zorgen dat uw gegevens zijn beveiligd, dat uw back-up is geverifieerd en dat het handig is wanneer gegevensherstel moet worden toegepast.