sql >> Database >  >> NoSQL >> MongoDB

ClusterControl - Geavanceerd back-upbeheer - MongoDB

Rampherstel is niet voltooid zonder een goed back-upsysteem. Als er iets ergs gebeurt, kunnen de gegevens worden hersteld door de back-up te gebruiken, bij voorkeur met de nieuwste. We willen misschien voorkomen dat de gegevens die niet zijn bijgewerkt, worden hersteld. Waarschijnlijk ontbreekt er informatie bij de oude back-up. Dat is de reden waarom het hebben van een goede back-uppraktijk tegenwoordig cruciaal is voor de meeste systemen.

MongoDB is jaar na jaar populairder geworden. Er zijn veel bedrijven begonnen MongoDB te gebruiken als een van hun databases. Een van de functies en waarschijnlijk de reden waarom MongoDB populair is, is vanwege de snelheid en MongoDB is eenvoudig te schalen. MongoDB is een van de ondersteunde databases in ClusterControl. U kunt de back-up implementeren, importeren, schalen en zelfs uitvoeren met ClusterControl. In deze blogpost gaan we in op de geavanceerde back-upfunctie voor de MongoDB-replicaset en sharded-cluster.

MongoDB-back-uptypen

MongoDB ondersteunt zowel logische als fysieke back-up. Daarnaast ondersteunt MongoDB ook Point In Time Recovery (PITR). Laten we eens kijken wat het verschil is tussen alle 3 soorten back-up.

Logische back-up

mongodump

Dit hulpprogramma maakt een binaire export van de inhoud van een database. Niet alleen dat, mongodump kan gegevens exporteren van mongod- of mongos-instanties, kan gegevens exporteren van standalone-, replicaset- en sharded-clusterimplementaties

Fysieke back-up

NA

Fysieke back-up in MongoDB kon alleen op systeemniveau worden gedaan. Op dit moment is er geen fysieke back-up beschikbaar in ClusterControl. De manier waarop fysieke back-up werkt, is door een snapshot te maken op LVM of opslagapparaat.

PITR

Percona Backup voor MongoDB

Percona Backup voor MongoDB is overgenomen van en vervangt mongodb_consistent_backup, dat al verouderd is. Het is een gedistribueerde, low-impact oplossing voor het realiseren van consistente back-ups voor zowel MongoDB-shardclusters als replicasets. Dit type back-up is logisch, maar kan tegelijkertijd fungeren als een PITR-back-up.

Nu we weten wat het verschil is tussen het back-uptype.

MongoDB-back-upbeheer

ClusterControl stelt u in staat om de back-up in realtime te maken en deze volgens uw gewenste schema in te plannen. Een ding dat het vermelden waard is, voor het geval u wilt plannen, zal ClusterControl de UTC-tijdzone gebruiken. U moet dus het juiste tijdstip kiezen dat bij uw tijdzone past, zodat het schema op de minder drukke tijd loopt.

Laten we doorgaan en proberen de back-upfunctie in ClusterControl te gebruiken. Daarnaast zullen we ook een van de geavanceerde functies bespreken, namelijk het uploaden van de back-up naar de cloud. Vanaf ClusterControl 1.9.0 ondersteunt MongoDB cloud-upload waarmee u de back-up kunt uploaden naar uw favoriete cloudopslagprovider.

MongoDB logische back-up

Laten we beginnen met een logische back-up. Voordat de functie-upload van de back-up naar de cloud kan worden gebruikt, moet u deze integreren met uw favoriete cloudprovider. Voor ons geval zullen we het integreren met de AWS-cloud. Om de volledige AWS-integratie te doen, kunt u de volgende stappen volgen:

  • Gebruik het e-mailadres en wachtwoord van uw AWS-account om u aan te melden bij de AWS Management Console als de rootgebruiker van het AWS-account .

  • Kies op de IAM-dashboardpagina uw accountnaam in de navigatiebalk en kies vervolgens Mijn beveiligingsreferenties.

  • Als je een waarschuwing ziet over toegang tot de beveiligingsreferenties voor je AWS-account, kies dan Doorgaan naar Beveiligingsreferenties.

  • Breid het gedeelte Toegangssleutels (toegangssleutel-ID en geheime toegangssleutel) uit.

  • Kies Nieuwe toegangssleutel maken. Kies vervolgens Sleutelbestand downloaden om de toegangssleutel-ID en geheime toegangssleutel op te slaan in een bestand op uw computer. Nadat u het dialoogvenster hebt gesloten, kunt u deze geheime toegangssleutel niet meer ophalen.

Ervan uitgaande dat u het MongoDB-cluster al gereed heeft, zullen we ons back-upproces starten. Ga eerst naar MongoDB-cluster -> Back-up -> Back-up maken

Op de volgende pagina kunt u aangeven of u de codering wilt inschakelen of niet. Voor versleuteling gebruikt ClusterControl OpenSSL om de back-up te versleutelen met behulp van het AES-256 CBC-algoritme. Versleuteling vindt plaats op het back-upknooppunt. Als u ervoor kiest om de back-up op het controllerknooppunt op te slaan, worden de back-upbestanden in gecodeerd formaat gestreamd via socat of netcat. Versleuteling wordt beschouwd als een van de geavanceerde back-upfuncties die kunnen worden gebruikt, dus in ons geval zullen we deze optie inschakelen. U kunt op deze pagina ook de bewaartermijn van uw back-up definiëren. Voor ons geval gebruiken we de standaardinstelling van 31 dagen.

Op de derde pagina moet u de login voor de cloudprovider specificeren , kies/maak de emmer. U kunt ook de bewaartermijn voor uw cloudback-up specificeren, de standaardinstelling is 180 dagen.

Zodra u op de knop Back-up maken klikt, wordt de taak onmiddellijk gestart en zal enige tijd duren, afhankelijk van de grootte van uw database. Tegelijkertijd wordt de back-up geüpload naar de cloudopslag (AWS). U zult merken dat de pictogrammen "sleutel" en "cloud" worden gemarkeerd nadat de back-up is voltooid, zoals als volgt:

Nu u de back-up gereed hebt, is de stap om de back-up te herstellen erg makkelijk. Het enige wat u hoeft te doen is door op de link "Herstellen" te klikken en op de knop "Voltooien" op de herstelpagina te klikken, zoals als volgt:

MongoDB PITR-back-up

Zoals eerder vermeld, is Percona Backup voor MongoDB een PITR-back-uptype. Voordat u dit back-uptype kunt gebruiken, moet u de agent (pbm-agent) op alle MongoDB-knooppunten/instanties installeren. Daarvoor moet u ook een gedeelde map op alle knooppunten koppelen. Laten we beginnen!

Eerst moet je de NFS-server configureren. Om een ​​NFS-server te installeren, moet u een virtuele machine kiezen of implementeren, in ons geval zullen we de NFS-server installeren in het ClusterControl-knooppunt (Centos):

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

Zodra het NFS-hulpprogramma is geïnstalleerd, kunt u de service starten en inschakelen bij het opstarten van het systeem:

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

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

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

De volgende stap is om het bestand /etc/exports zo te configureren dat de directory toegankelijk is voor de NFS-clients:

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

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

In het clients-knooppunt dat onze database-knooppunten zijn, moeten we ook de benodigde NFS-pakketten installeren:

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

Zodra de pakketten zijn geïnstalleerd, kunnen we de map maken en deze koppelen:

[[email protected] ~]# mkdir -p /mnt/back-ups

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

Zorg ervoor dat u op alle databaseknooppunten aankoppelt, zodat wij de pbm-agent kunnen installeren. Aangezien alle knooppunten de NFS-gemounte directory al hebben, gaan we nu verder met het installeren van de agent. Ga naar MongoDB cluster -> Back-up -> Instellingen -> Percona Backup

Zodra u op de knop Percona Backup installeren klikt, verschijnt het volgende scherm . Hier moet u de gedeelde map specificeren. Nogmaals, zorg ervoor dat de map in al uw MongoDB-knooppunten is aangekoppeld. Nadat de back-upmap is gespecificeerd, kunt u op de knop Installeren klikken en wachten tot de installatie is voltooid.

De succesvolle installatie zou eruit moeten zien als de volgende schermafbeelding. Nu konden we doorgaan met het back-upproces:

De stappen zijn eenvoudig om de back-up te maken met Percona Backup. Helaas kon je met deze methode de optie om de back-up te versleutelen niet gebruiken. Om de functie voor uploaden naar de cloud te gebruiken, moet u de optie inschakelen voordat u het back-uptype kiest, anders wordt uw back-up niet geüpload. U zult merken dat de uploadfunctie verdwijnt zodra u "percona-backup-mongodb" kiest.

Op de tweede pagina kunt u de lokale retentie specificeren:

Wat betreft de laatste pagina, kunt u de clouddetails en retentie specificeren zoals in het vorige voorbeeld. Het herstelproces is hetzelfde als het vorige voorbeeld, u hoeft alleen maar op de link "Herstellen" te klikken en de stappen op de herstelpagina te volgen:

Conclusie

Met ClusterControl kunt u uw MongoDB-back-up maken en uploaden naar de cloud. Uploaden naar de cloud is een van de nieuwe en geavanceerde functies voor MongoDB die is geïntroduceerd vanaf ClusterControl 1.9.0, op voorwaarde dat de integratie met de cloudprovider met succes is voltooid. U kunt uw back-up ook versleutelen met ClusterControl als u uw back-up wilt beschermen.


  1. Hoe worden de gegevens in een MongoDB-database op schijf opgeslagen?

  2. jackson deserialiseer object met lijst van lente-interface

  3. Hoe kan ik mijn eigen Parse Server op Heroku hosten met MongoDB?

  4. Controleer het bestaan ​​van verzamelingen in MongoDB