sql >> Databáze >  >> NoSQL >> MongoDB

Přehled zálohování Percona pro MongoDB

Známá a oblíbená metoda zálohování pro MongoDB je mongodump. Je to logická metoda zálohování, podobná jako mysqldump v MySQL nebo pg_dump v databázi PostgreSQL. Existuje další zálohovací nástroj s názvem Percona Backup pro MongoDB. Má podporu pro sady replik a clustery fragmentů, stejně jako pokročilejší funkce, jako je obnovení v čase.

Je důležité poznamenat, že provádí konzistentní zálohu pro váš mongodb sharded cluster a také podporuje úložiště objektů kompatibilní s S3 pro ukládání záloh. V tomto blogu budeme diskutovat o architektuře, instalaci a použití Percona Backup pro MongoDB.

Architektura

Percona Backup pro MongoDB se skládá ze dvou komponent, první je obslužný program procesu, který je třeba nainstalovat na každý uzel MongoDB, nazvaný pbm-agent. Pbm-agent působí tak, že koordinuje databázové uzly a spouští proces zálohování a obnovy. Také zkontroluje, zda je uzel správným uzlem pro vytvoření zálohy. Pbm-agent vyžaduje konkrétního uživatele s určitými právy role; např.:readWrite, backup, clusterMonitor a restore. Potřebuje také vytvořit novou roli pro pbm s typem akce anyAction a typem zdroje anyResource. Uživatel musí existovat na každém uzlu v sadě replik a také na konfiguračním serveru, pokud používáte architekturu sdíleného clusteru. Percona Backup for MongoDB používá k připojení k databázi metodu připojovacího řetězce URI MongoDB, což je důvod, proč poprvé vyžaduje přístup pomocí pověření.

Další komponentou je rozhraní příkazového řádku nazvané pbm. Obslužný program pbm spouští akce související se zálohováním, např. provedení zálohy, obnovení, vytvoření seznamu záloh, odstranění atd. Než začnete pracovat s pbm, budete muset nakonfigurovat možnosti zálohování, možnosti obnovení a možnosti obnovení v určitém čase.

Samotný konfigurační soubor je uložen v souboru YAML a k načtení konfiguračního souboru se používá příkaz pbm config. Některé z příkazů pro nástroj pbm jsou uvedeny níže:

  • pbm config, příkaz používaný ke konfiguraci možnosti zálohování před spuštěním.
  • záloha pbm,  používá se k vytvoření zálohy MongoDB. Podporuje některé kompresní metody jako gzip, pgzip, lz4, snappy.
  • pbm restore, příkaz používaný k obnovení zálohy do uzlu.
  • seznam pbm,  seznam aktuálních záložních souborů.
  • pbm cancel-backup, používá se ke zrušení běžícího procesu zálohování.
  • pbm delete-backup, používá se k odstranění záložních souborů. Existují dvě možnosti; můžete zadat název souboru zálohy, chcete-li odstranit nebo odstranit záložní soubory, které jsou starší než určitý věk.

Instalace Percona Backup pro MongoDB

Existují dva způsoby, jak nainstalovat Percona Backup pro MongoDB, můžete použít správce balíčků z operačního systému a pro instalaci softwaru použít oficiální úložiště Percona, nebo můžete vytvořit ze zdrojového kódu.

Před instalací pbm prostřednictvím instalace yum/apt je nutné nakonfigurovat úložiště Percona a poté povolit úložiště pbm:

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

* Enabling the Percona Backup MongoDB repository

<*> All done!

Potom nainstalujte Percona Backup pro MongoDB. V tomto případě používám operační systém založený na CentOS, takže provedeme instalaci yum:

[[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!

Po dokončení můžete nakonfigurovat pbm-agent jako proces na pozadí a pohrát si s rozhraním příkazového řádku pbm:

[[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

Zálohování v akci

Před vytvořením zálohy MongoDB se ujistěte, že na každém uzlu běží pbm-agent a že konfigurace zálohy byla nastavena tak, jak je uvedeno níže, nastavte cestu zálohy:

[[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

A otestujte zálohu na jednom ze sekundárních uzlů:

[[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

To je prozatím vše. ClusterControl 1.8.1, již brzy, vám umožní plánovat a spravovat vaše MongoDB clustery pomocí Percona Backup for MongoDB.


  1. Spuštění pod dohledem z hostitele, celer z virtualenv (aplikace Django)

  2. Node.js a Redis / hget se synchronizují

  3. Odstraňte duplikát v MongoDB

  4. Shluky RedisTimeoutException pomocí StackExchange.Redis