MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Przegląd kopii zapasowej Percona dla MongoDB

Znaną i popularną metodą tworzenia kopii zapasowych dla MongoDB jest mongodump. Jest to logiczna metoda tworzenia kopii zapasowych, podobna do mysqldump w MySQL lub pg_dump w bazie danych PostgreSQL. Istnieje inne narzędzie do tworzenia kopii zapasowych o nazwie Percona Backup for MongoDB. Obsługuje zestawy replik i klastry shardów, a także bardziej zaawansowane funkcje, takie jak odzyskiwanie do punktu w czasie.

Ważne jest, aby pamiętać, że wykonuje on spójne kopie zapasowe dla klastra podzielonego na części mongodb, a także obsługuje obiektową pamięć masową zgodną z S3 do przechowywania kopii zapasowych. W tym blogu omówimy architekturę, instalację i użytkowanie Percona Backup for MongoDB.

Architektura

Percona Backup for MongoDB składa się z dwóch komponentów, z których pierwszy to narzędzie procesowe, które należy zainstalować na każdym węźle MongoDB, zwane pbm-agent. Agent pbm działa w celu koordynowania między węzłami bazy danych, uruchamiając proces tworzenia kopii zapasowej i przywracania. Sprawdza również, czy węzeł jest właściwym węzłem do wykonania kopii zapasowej. Agent pbm wymaga określonego użytkownika z pewnymi uprawnieniami roli; np.:readWrite, backup, clusterMonitor i restore. Musi również utworzyć nową rolę dla pbm z typem akcji anyAction i typem zasobu anyResource. Użytkownik musi istnieć w każdym węźle w zestawie replik, a także na serwerze konfiguracji, jeśli używasz architektury klastra podzielonego na fragmenty. Percona Backup for MongoDB używa metody ciągu połączenia URI MongoDB do łączenia się z bazą danych, dlatego za pierwszym razem wymaga dostępu do poświadczeń.

Innym składnikiem jest interfejs wiersza poleceń o nazwie pbm. Narzędzie pbm uruchamia działania związane z tworzeniem kopii zapasowej, np. wykonanie kopii zapasowej, przywracanie, tworzenie kopii zapasowej listy, usuwanie i tak dalej. Przed rozpoczęciem pracy z pbm należy skonfigurować opcje tworzenia kopii zapasowych, przywracania i przywracania do określonego momentu.

Sam plik konfiguracyjny jest przechowywany w pliku YAML, a polecenie pbm config jest używane do załadowania pliku konfiguracyjnego. Niektóre polecenia narzędzia pbm są pokazane poniżej:

  • konfiguracja pbm, polecenie używane do konfiguracji opcji kopii zapasowej przed wykonaniem.
  • kopia zapasowa pbm, używana do tworzenia kopii zapasowej MongoDB. Obsługuje niektóre metody kompresji, takie jak gzip, pgzip, lz4, snappy.
  • przywracanie pbm, polecenie używane do przywracania kopii zapasowej do węzła.
  • lista pbm, lista bieżących plików kopii zapasowych.
  • pbm cancel-backup, używany do anulowania trwającego procesu tworzenia kopii zapasowej.
  • pbm delete-backup, używany do usuwania plików kopii zapasowych. Istnieją dwie opcje; możesz określić nazwę pliku kopii zapasowej, aby usunąć lub usunąć pliki kopii zapasowej starsze niż określony wiek.

Instalacja Percona Backup dla MongoDB

Istnieją dwa sposoby zainstalowania Percona Backup for MongoDB, możesz użyć menedżera pakietów z systemu operacyjnego i użyć oficjalnego repozytorium Percona do instalacji oprogramowania lub możesz zbudować z kodu źródłowego.

Jako warunek wstępny przed zainstalowaniem pbm za pomocą instalacji yum/apt, musisz skonfigurować repozytorium Percona, a następnie włączyć repozytorium pbm:

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

* Enabling the Percona Backup MongoDB repository

<*> All done!

Następnie zainstaluj Percona Backup for MongoDB. W tym przypadku używam systemu operacyjnego opartego na CentOS, więc zainstalujemy 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 zakończeniu możesz skonfigurować agenta pbm jako proces w tle i bawić się interfejsem wiersza poleceń 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

Kopia zapasowa w akcji

Przed wykonaniem kopii zapasowej MongoDB upewnij się, że agent pbm działa na każdym węźle, a konfiguracja kopii zapasowej została ustawiona tak, jak pokazano poniżej, ustaw ścieżkę kopii zapasowej:

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

I przetestuj tworzenie kopii zapasowej na jednym z węzłów drugorzędnych:

[[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 wszystko na teraz. Już wkrótce ClusterControl 1.8.1 umożliwi planowanie i zarządzanie klastrami MongoDB za pomocą Percona Backup for MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Określanie najlepszej architektury do wdrożenia klastra MongoDB

  2. Sprawdź istnienie kolekcji w MongoDB

  3. Wskazówki dotyczące planowania schematu MongoDB

  4. Importuj plik CSV za pomocą schematu Mongoose

  5. Jak zaktualizować dokument Mongo po wstawieniu?