Tot nu toe hebben we in de vorige twee delen van deze korte blogserie verschillende opties besproken die van invloed kunnen zijn op de tijd en grootte van de back-up. We hebben verschillende compressie-opties besproken en een instelling met betrekking tot het beperken van de netwerkoverdracht als u de gegevens van het knooppunt naar de controllerhost wilt streamen. Deze keer willen we iets anders benadrukken:de mogelijkheid om gedeeltelijke back-ups te maken met MariaBackup. Laten we eerst bespreken wat de gedeeltelijke back-ups zijn en wat de bijbehorende uitdagingen zijn.
Gedeeltelijke back-ups
MariaBackup is een back-uptool die fysieke back-ups maakt. Wat het betekent is dat het de gegevens die zijn opgeslagen in bestanden op het databaseknooppunt naar de doellocatie kopieert. Het zal een consistente back-up van de database maken, iets waarmee u uw gegevens kunt herstellen naar een precies tijdstip - het tijdstip waarop de back-up voltooid was. Alle gegevens in alle tabellen en schema's zullen consistent zijn. Dit is best belangrijk om in gedachten te houden. Consistente back-ups kunnen worden gebruikt om replica's in te richten, Point-in-Time Restore uit te voeren, enzovoort.
Gedeeltelijke back-ups daarentegen zijn, nou ja, gedeeltelijk. Van slechts een subset van de tabellen wordt een back-up gemaakt. Het is duidelijk dat dit de back-up inconsistent maakt. Het kan niet worden gebruikt om een replica te maken of om de gegevens naar hetzelfde tijdstip te herstellen. Gedeeltelijke back-ups hebben nog steeds hun eigen gebruik. Ze kunnen worden gebruikt om een subset van de gegevens te herstellen - in plaats van een volledige back-up te herstellen, kunt u slechts een enkele tabel herstellen en vervolgens de benodigde gegevens extraheren. Natuurlijk kun je hetzelfde doen met logische back-ups, maar die zijn vrij traag en niet echt geschikt voor grotere implementaties.
Het nadeel is dat een gedeeltelijke back-up niet consistent is in de tijd. Dit zou vrij duidelijk moeten zijn, aangezien we slechts een subset van de gegevens verzamelen. Een andere uitdaging is het herstellen - u kunt gedeeltelijke back-ups niet eenvoudig rechtstreeks op de productiesystemen terugzetten. Ten eerste omdat het niet eenvoudig is, ten tweede omdat het niet consistent is. De veiligste manier om een gedeeltelijke back-up te herstellen, is door deze op een apart knooppunt te herstellen en vervolgens mysqldump of SELECT INTO OUTFILE te gebruiken om de vereiste gegevens te extraheren.
Laten we eens kijken naar de opties die ClusterControl ons biedt met betrekking tot de gedeeltelijke back-ups.
Gedeeltelijke back-ups in ClusterControl
Ten eerste worden gedeeltelijke back-ups niet standaard gebruikt, u moet expliciet inschakelen. Dan verschijnt er een reeks opties waarmee we kunnen kiezen waarvan we een back-up willen maken. We kunnen een bepaald schema of een reeks tabellen kiezen. We kunnen een back-up maken van alle tafels behalve enkele of we kunnen gewoon zeggen dat we een back-up willen maken van de tabellen A, B en C.
Foto auteurFotobeschrijvingAls je naar de vervolgkeuzelijst gaat, bekijk alle databases en alle tabellen om uit te kiezen.
We hebben enkele tabellen en schema's uitgekozen en gaan deze back-up nu. Als u dat wilt, kunt u natuurlijk gedeeltelijke back-ups plannen op precies dezelfde manier als normale back-ups.
Op het tweede scherm kunnen we mariabackup naar wens configureren, net zoals wij uitgelegd in onze vorige blogposts. Dat is alles, klik op de knop Back-up maken en het proces begint.
Gedeeltelijke back-up herstellen in ClusterControl
Zodra de back-up gereed is, wordt deze zichtbaar in de back-uplijst.
We kunnen zien dat het een gedeeltelijke back-up is omdat er een lijst met schema's is die erin zijn opgenomen.
Als we proberen een gedeeltelijke back-up te herstellen in een asynchrone replicatiecluster, gepresenteerd met twee opties. Herstel op node en herstel en verifieer op zelfstandige host. Het eerste is absoluut niet iets dat we willen doen, omdat het een deel van de gegevens zou wegvagen die we niet in de back-up hebben. Met de laatste optie daarentegen kun je een apart knooppunt implementeren en de back-up erop herstellen.
Het enige wat we hoeven te doen is een hostnaam kiezen die bereikbaar is via SSH van ClusterControl en zorg ervoor dat deze niet wordt gestopt nadat de back-up is hersteld. Hierdoor kunnen we de gedeeltelijke back-up herstellen en er vervolgens toegang toe krijgen om alle soorten gegevens te extraheren die we maar willen.
We hopen dat deze korte blog u enig inzicht geeft in hoe u met ClusterControl gedeeltelijke back-ups kunt maken, wat de use-cases zijn en hoe u deze op een veilige manier kunt herstellen.