sql >> Databasteknik >  >> NoSQL >> MongoDB

ClusterControl - Advanced Backup Management - MongoDB

Katastrofåterställning slutförs inte utan ett korrekt säkerhetskopieringssystem. När något dåligt händer kan data återställas genom att använda säkerhetskopian helst med den senaste. Vi kanske vill undvika att återställa data som inte är uppdaterade. Förmodligen kan det finnas någon information som saknas med den gamla säkerhetskopian. Det är anledningen till att det är avgörande för de flesta system att ha en bra rutine för säkerhetskopiering nuförtiden.

MongoDB har blivit mer populärt år för år. Det finns många företag som börjat använda MongoDB som en av sina databaser. En av funktionerna och förmodligen anledningen till att MongoDB är populärt är på grund av dess hastighet och MongoDB är lätt att skala. MongoDB är en av de databaser som stöds i ClusterControl. Du kan distribuera, importera, skala och till och med utföra säkerhetskopieringen med ClusterControl. I det här blogginlägget kommer vi att gå igenom funktionen Advanced Backup för MongoDB-replikuppsättningen och sharded cluster.

MongoDB säkerhetskopieringstyper

MongoDB stöder både logisk och fysisk säkerhetskopiering. Utöver det stöder MongoDB också Point In Time Recovery (PITR). Låt oss se vad som är skillnaden mellan alla tre typerna av säkerhetskopiering.

Logisk säkerhetskopiering

mongodump

Det här verktyget skapar en binär export av innehållet i en databas. Inte nog med det, mongodump kan exportera data från antingen mongod- eller mongos-instanser, kan exportera data från fristående, replikuppsättningar och fragmenterade klusterdistributioner

Fysisk säkerhetskopiering

NA

Fysisk säkerhetskopiering i MongoDB kunde endast göras på systemnivå. För närvarande finns det ingen fysisk säkerhetskopiering tillgänglig i ClusterControl. Sättet fysisk säkerhetskopiering fungerar är genom att skapa en ögonblicksbild på LVM eller lagringsenhet.

PITR

Percona Backup för MongoDB

Percona Backup för MongoDB ärvt från och ersätter mongodb_consistent_backup, som redan är utfasad. Det är en distribuerad lösning med låg effekt för att uppnå konsekventa säkerhetskopieringar för både MongoDB sharded kluster och replikuppsättningar. Denna typ av backup är logisk men kan samtidigt fungera som en PITR backup.

Nu när vi vet vad som är skillnaden mellan backup-typen.

MongoDB Backup Management

ClusterControl låter dig skapa säkerhetskopian i realtid samt schemalägga den enligt önskat schema. En sak som är värd att nämna, om du skulle vilja schemalägga, kommer ClusterControl att använda UTC-tidszon. Så du måste välja rätt tid som passar din tidszon så att schemat kommer att köras på den mindre hektiska tiden.

Låt oss gå vidare och försöka använda säkerhetskopieringsfunktionen i ClusterControl. Utöver det kommer vi också att granska en av de avancerade funktionerna som är att ladda upp säkerhetskopian till molnet. Från och med ClusterControl 1.9.0 stöder MongoDB molnuppladdning som låter dig ladda upp säkerhetskopian till din föredragna molnlagringsleverantör.

MongoDB Logical Backup

Låt oss börja med logisk säkerhetskopiering. Innan funktionen laddar upp säkerhetskopian till molnet måste du integrera den med din föredragna molnleverantör. För vårt fall kommer vi att integrera det med AWS-molnet. För att göra den fullständiga AWS-integrationen kan du följa följande steg:

  • Använd ditt AWS-kontos e-postadress och lösenord för att logga in på AWS Management Console som AWS-kontorotanvändare .

  • På sidan IAM Dashboard väljer du ditt kontonamn i navigeringsfältet och väljer sedan Mina säkerhetsuppgifter.

  • Om du ser en varning om åtkomst till säkerhetsuppgifterna för ditt AWS-konto väljer du Fortsätt till säkerhetsuppgifterna.

  • Utöka avsnittet Åtkomstnycklar (åtkomstnyckel-ID och hemlig åtkomstnyckel).

  • Välj Skapa ny åtkomstnyckel. Välj sedan Ladda ner nyckelfil för att spara åtkomstnyckel-ID och hemlig åtkomstnyckel till en fil på din dator. När du har stängt dialogrutan kan du inte hämta den här hemliga åtkomstnyckeln igen.

Förutsatt att du redan har MongoDB-klustret redo, kommer vi att starta vår säkerhetskopiering. Gå först till MongoDB-kluster -> Säkerhetskopiering -> Skapa säkerhetskopia

På nästa sida kan du ange att du antingen vill aktivera krypteringen eller inte. För kryptering kommer ClusterControl att använda OpenSSL för att kryptera säkerhetskopian med AES-256 CBC-algoritmen. Kryptering sker på backupnoden. Om du väljer att lagra säkerhetskopian på kontrollernoden, strömmas säkerhetskopiorna över i krypterat format via socat eller netcat. Kryptering anses vara en av de avancerade säkerhetskopieringsfunktionerna som kan användas, så i vårt fall kommer vi att aktivera det här alternativet. Du kan också definiera lagringsperioden för din säkerhetskopia på den här sidan. I vårt fall kommer vi att använda standardinställningen 31 dagar.

På den tredje sidan måste du ange inloggningen för molnleverantören , välj/skapa hinken. Du kan också ange lagringen för din molnsäkerhetskopiering, standardinställningen är 180 dagar.

När du klickar på knappen Skapa säkerhetskopia kommer jobbet att startas omedelbart och kommer att ta ett tag beroende på din databasstorlek. Samtidigt kommer säkerhetskopian att laddas upp till molnlagringen (AWS). Du kanske märker att ikonerna "nyckel" och "moln" är markerade efter att säkerhetskopieringen är klar, enligt följande:

Nu när du har säkerhetskopian redo, för att återställa säkerhetskopian är steget väldigt enkelt. Allt du behöver göra är att klicka på länken "Återställ" och klicka på "Slutför"-knappen på återställningssidan som följande:

MongoDB PITR Backup

Som nämnts tidigare är Percona Backup för MongoDB en PITR-säkerhetskopieringstyp. Innan du kan använda denna backup-typ måste du installera agenten (pbm-agent) på alla MongoDB-noder/instanser. Innan dess måste du montera en delad katalog på alla noder också. Låt oss komma igång!

Först måste du konfigurera NFS-servern. För att installera en NFS-server måste du välja eller distribuera valfri virtuell maskin, för vårt fall kommer vi att installera NFS-servern i ClusterControl-noden (Centos):

[[email protected] ~]# dnf installera nfs-utils

När NFS-verktyget är installerat kan du starta tjänsten och aktivera den vid systemstart:

[[email protected] ~]# # systemctl starta nfs-server.service

[[email protected] ~]# # systemctl aktivera nfs-server.service

[[email protected] ~]# # systemctl status nfs-server.service

Nästa steg är att konfigurera filen /etc/exports så att katalogen är tillgänglig för NFS-klienterna:

[[email protected] ~]# vi /etc/exports

/mnt/backups                    10.10.80.10(rw,sync,no_root_squash,no_subtree_check)

I klientnoden som är våra databasnoder, måste vi även installera nödvändiga NFS-paket:

[[email protected] ~]# dnf installera nfs-utils nfs4-acl-tools

När paketen är installerade kan vi skapa katalogen och montera den:

[[email protected] ~]# mkdir -p /mnt/backups

[[email protected] ~]# mount -t nfs 10.10.80.10:/mnt/backups /mnt/backups

Se till att montera på alla databasnoder för att vi ska kunna installera pbm-agenten. Med tanke på att alla noder redan har den NFS-monterade katalogen, kommer vi att fortsätta med att installera agenten nu. Gå till MongoDB-kluster -> Säkerhetskopiering -> Inställningar -> Percona Backup

När du klickar på knappen Installera Percona Backup kommer följande skärm att visas . Här måste du ange den delade katalogen. Återigen, se till att katalogen har monterats i alla dina MongoDB-noder. När säkerhetskopieringskatalogen har specificerats kan du klicka på knappen Installera och vänta tills installationen är klar.

Den lyckade installationen bör se ut som på följande skärmdump. Nu kunde vi fortsätta med säkerhetskopieringsprocessen:

För att skapa säkerhetskopian med Percona Backup är stegen enkla. Tyvärr kunde du inte använda alternativet att kryptera säkerhetskopian med den här metoden. För att kunna använda funktionen för att ladda upp till molnet måste du aktivera alternativet innan du väljer säkerhetskopieringstyp, annars laddas inte säkerhetskopian upp. Du kommer att märka att uppladdningsfunktionen försvinner när du väljer "percona-backup-mongodb".

På den andra sidan kan du ange lokal lagring:

När det gäller den sista sidan kan du ange molndetaljer och lagring som t.ex. i föregående exempel. Återställningsprocessen är densamma som i föregående exempel, allt du behöver göra är att klicka på länken "Återställ" och följa stegen på återställningssidan:

Slutsats

Med ClusterControl kan du skapa och ladda upp din MongoDB-säkerhetskopia till molnet. Uppladdning till molnet är en av de nya och avancerade funktionerna för MongoDB som har introducerats från och med ClusterControl 1.9.0 förutsatt att integrationen till molnleverantören har gjorts framgångsrikt. Du kan också kryptera din säkerhetskopia med ClusterControl om du vill skydda din säkerhetskopia.


  1. Java+Redis vs vanlig Java-effektivitet för dataintensiva applikationer?

  2. Vilken, om någon, av NoSQL-databaserna kan ge ström av *ändringar* till en frågeresultatuppsättning?

  3. Mongoose-baserad app-arkitektur

  4. spring session redis 'Ingen böna med namnet 'springSessionRepositoryFilter' är definierad'