sql >> Database >  >> NoSQL >> MongoDB

Een overzicht van Percona Backup voor MongoDB

De bekende en populaire back-upmethode voor MongoDB is mongodump. Het is een logische back-upmethode, vergelijkbaar met mysqldump in MySQL of pg_dump in de PostgreSQL-database. Er is nog een back-uptool genaamd Percona Backup voor MongoDB. Het biedt ondersteuning voor replicasets en shardclusters, evenals meer geavanceerde functies zoals herstel op een bepaald tijdstip.

Het is belangrijk op te merken dat het een consistente back-up uitvoert voor uw mongodb shard-cluster en ook S3-compatibele objectopslag ondersteunt om de back-ups op te slaan. In deze blog bespreken we architectuur, installatie en gebruik van Percona Backup for MongoDB.

Architectuur

Percona Backup voor MongoDB bestaat uit twee componenten, de eerste is een proceshulpprogramma dat op elk MongoDB-knooppunt moet worden geïnstalleerd, pbm-agent genaamd. De pbm-agent coördineert tussen de databaseknooppunten en voert het back-up- en herstelproces uit. Het controleert ook of het knooppunt het juiste knooppunt is om de back-up te maken. De pbm-agent vereist een specifieke gebruiker met enkele rolrechten; bijvoorbeeld:readWrite, back-up, clusterMonitor en restore. Het moet ook een nieuwe rol maken voor pbm met actietype anyAction en resourcetype anyResource. De gebruiker moet aanwezig zijn op elk knoop punt in de replicaset en ook in de configuratieserver als u Sharded-clusterarchitectuur gebruikt. Percona Backup voor MongoDB gebruikt een MongoDB URI-verbindingsreeksmethode om verbinding te maken met de database. Daarom is voor de eerste keer referentietoegang vereist.

Het andere onderdeel is de opdrachtregelinterface genaamd pbm. pbm-hulpprogramma activeert de back-upgerelateerde acties, bijvoorbeeld back-up uitvoeren, herstellen, back-up weergeven, verwijderen, enzovoort. Voordat u met pbm gaat werken, moet u back-upopties, herstelopties en herstelopties op een bepaald tijdstip configureren.

Het configuratiebestand zelf wordt opgeslagen in een YAML-bestand, en het pbm config-commando wordt gebruikt om het configuratiebestand te laden. Enkele opdrachten voor het pbm-hulpprogramma worden hieronder weergegeven:

  • pbm config, de opdracht die wordt gebruikt om de back-upoptie te configureren voordat deze wordt uitgevoerd.
  • pbm-back-up, gebruikt om een ​​back-up van MongoDB te maken. Het ondersteunt enkele compressiemethoden zoals gzip, pgzip, lz4, snappy.
  • pbm restore, de opdracht die wordt gebruikt voor het terugzetten van een back-up naar een node.
  • PBM-lijst,  lijst met de huidige back-upbestanden.
  • pbm cancel-backup, gebruikt om het actieve back-upproces te annuleren.
  • pbm delete-backup, gebruikt om back-upbestanden te verwijderen. Er zijn twee opties; u kunt de bestandsnaam van de back-up specificeren om back-upbestanden die ouder zijn dan een bepaalde leeftijd te verwijderen of te verwijderen.

Installatie van Percona Backup voor MongoDB

Er zijn twee manieren waarop u Percona Backup for MongoDB kunt installeren:u kunt de pakketbeheerder van het besturingssysteem gebruiken en de officiële Percona-repository gebruiken voor het installeren van de software, of u kunt bouwen vanuit de broncode.

/P>

Als vereisten voordat u de pbm via de yum/apt-installatie installeert, moet u de Percona-repository configureren en daarna pbm-repository inschakelen:

[[email protected] ~]# percona-release enable pbm release

* Enabling the Percona Backup MongoDB repository

<*> All done!

Installeer vervolgens Percona Backup voor MongoDB. In dit geval gebruik ik het op CentOS gebaseerde besturingssysteem, dus we zullen de installatie uitvoeren:

[[email protected] ~]# yum install percona-backup-mongodb

Loaded plugins: fastestmirror

Repository percona-release-noarch is listed more than once in the configuration

Repository percona-release is listed more than once in the configuration

Repository percona-release-noarch is listed more than once in the configuration

Repository percona-release-source is listed more than once in the configuration

(1/10): extras/7/x86_64/primary_db                                                                                                         | 222 kB  00:00:00

(2/10): pbm-release-x86_64/7/primary_db                                                                                                    | 4.2 kB  00:00:02

(3/10): percona-tools-release/7/x86_64/primary_db                                                                                          |  84 kB  00:00:00

(4/10): tools-release-x86_64/7/primary_db                                                                                                  |  84 kB  00:00:00

(5/10): percona-release-x86_64/7/primary_db                                                                                                | 1.1 MB  00:00:06

(6/10): percona-release/7/x86_64/primary_db                                                                                                | 1.1 MB  00:00:08

(7/10): base/7/x86_64/primary_db                                                                                                           | 6.1 MB  00:00:11

(8/10): updates/7/x86_64/primary_db                                                                                                        | 2.5 MB  00:00:08

(9/10): epel/x86_64/updateinfo                                                                                                             | 1.0 MB  00:00:13

(10/10): epel/x86_64/primary_db                                                                                                            | 6.9 MB  00:00:07

Loading mirror speeds from cached hostfile

 * base: mirror.telkomuniversity.ac.id

 * epel: ftp.jaist.ac.jp

 * extras: mirror.telkomuniversity.ac.id

 * updates: mirror.telkomuniversity.ac.id

Resolving Dependencies

--> Running transaction check

---> Package percona-backup-mongodb.x86_64 0:1.3.3-1.el7 will be installed

--> Finished Dependency Resolution



Dependencies Resolved



==================================================================================================================================================================

 Package                                       Arch                          Version                              Repository                                 Size

==================================================================================================================================================================

Installing:

 percona-backup-mongodb                        x86_64                        1.3.3-1.el7                          pbm-release-x86_64                         16 M



Transaction Summary

==================================================================================================================================================================

Install  1 Package



Total download size: 16 M

Installed size: 61 M

Is this ok [y/d/N]: y

Downloading packages:

percona-backup-mongodb-1.3.3-1.el7.x86_64.rpm                                                                                              |  16 MB  00:00:55

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  Installing : percona-backup-mongodb-1.3.3-1.el7.x86_64                                                                                                      1/1

  Verifying  : percona-backup-mongodb-1.3.3-1.el7.x86_64                                                                                                      1/1



Installed:

  percona-backup-mongodb.x86_64 0:1.3.3-1.el7



Complete!

Nadat het is voltooid, kunt u de pbm-agent configureren als een achtergrondproces en spelen met de pbm-opdrachtregelinterface:

[[email protected] ~]# pbm

usage: pbm [<flags>] <command> [<args> ...]



Percona Backup for MongoDB



Flags:

  --help                     Show context-sensitive help (also try

                             --help-long and --help-man).

  --mongodb-uri=MONGODB-URI  MongoDB connection string (Default =

                             PBM_MONGODB_URI environment variable)

  --compression=s2           Compression type

                             <none>/<gzip>/<snappy>/<lz4>/<s2>/<pgzip>



Commands:

  help [<command>...]

    Show help.



  config [<flags>] [<key>]

    Set, change or list the config



  backup

    Make backup



  restore [<flags>] [<backup_name>]

    Restore backup



  cancel-backup

    Restore backup



  list [<flags>]

    Backup list



  delete-backup [<flags>] [<name>]

    Delete a backup



  version [<flags>]

    PBM version info

Back-up in actie

Voordat u een back-up van MongoDB maakt, moet u ervoor zorgen dat de pbm-agent op elk knooppunt draait en dat de back-upconfiguratie is ingesteld zoals hieronder wordt weergegeven, het pad van de back-up instellen:

[[email protected] ~]# pbm config --file=/root/config.yaml --mongodb-uri "mongodb://pbmuser:***@localhost:27017/"

[Config set]

------

pitr:

  enabled: false

storage:

  type: filesystem

  filesystem:

    path: /data/backups

En test de back-up op een van de secundaire knooppunten:

[[email protected] ~]# pbm backup --mongodb-uri "mongodb://pbmuser:*****@localhost:27017/" --compression=pgzip

Starting backup '2020-11-13T15:28:49Z'...................

Backup '2020-11-13T15:28:49Z' to remote store '/data/backups' has started

Dat is het voor nu. Binnenkort kunt u met ClusterControl 1.8.1 uw MongoDB-clusters plannen en beheren met Percona Backup for MongoDB.


  1. MongoDB .NET genereert geen _id op upsert

  2. Agentloze databasebewaking met ClusterControl

  3. Voeg item toe aan MongoDB-documentarray in PyMongo zonder opnieuw in te voegen

  4. Node.js Redis Connection Pooling