MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Ikhtisar Cadangan Percona untuk MongoDB

Metode pencadangan yang terkenal dan populer untuk MongoDB adalah mongodump. Ini adalah metode pencadangan logis, mirip dengan mysqldump di MySQL atau pg_dump di database PostgreSQL. Ada alat cadangan lain yang disebut Percona Backup for MongoDB. Ini memiliki dukungan untuk set replika dan kluster pecahan, serta fitur yang lebih canggih seperti pemulihan titik waktu.

Penting untuk dicatat bahwa ia melakukan pencadangan yang konsisten untuk klaster pecahan mongodb Anda, dan juga mendukung penyimpanan objek yang kompatibel dengan S3 untuk menyimpan cadangan. Di blog ini, kita akan membahas arsitektur, instalasi, dan penggunaan Percona Backup untuk MongoDB.

Arsitektur

Percona Backup for MongoDB terdiri dari dua komponen, yang pertama adalah utilitas proses yang perlu diinstal pada setiap node MongoDB, yang disebut pbm-agent. Pbm-agent bertindak untuk mengkoordinasikan antara node database, menjalankan proses backup dan restore. Itu juga memeriksa apakah node adalah node yang benar untuk mengambil cadangan. Pbm-agent membutuhkan pengguna tertentu dengan beberapa hak peran; misalnya:readWrite, backup, clusterMonitor, dan restore. Itu juga perlu membuat peran baru untuk pbm dengan jenis tindakan anyAction dan jenis sumber daya anyResource. Pengguna harus ada di setiap node di kumpulan replika dan juga di server konfigurasi jika Anda menggunakan arsitektur sharded cluster. Pencadangan Percona untuk MongoDB menggunakan metode string koneksi URI MongoDB untuk terhubung ke database, oleh karena itu pertama kali memerlukan akses kredensial.

Komponen lainnya adalah antarmuka baris perintah yang disebut pbm. utilitas pbm memicu tindakan terkait pencadangan, misalnya, menjalankan pencadangan, pemulihan, pencadangan daftar, penghapusan, dan sebagainya. Sebelum Anda bekerja dengan pbm, Anda perlu mengonfigurasi opsi pencadangan, opsi pemulihan, dan opsi pemulihan titik waktu.

File konfigurasi itu sendiri disimpan dalam file YAML, dan perintah pbm config digunakan untuk memuat file konfigurasi. Beberapa perintah untuk utilitas pbm ditunjukkan di bawah ini:

  • pbm config, perintah yang digunakan untuk mengonfigurasi opsi pencadangan sebelum dijalankan.
  • pbm backup,  digunakan untuk mengambil backup MongoDB. Ini mendukung beberapa metode kompresi seperti gzip, pgzip, lz4, tajam.
  • pbm restore, perintah yang digunakan untuk memulihkan cadangan ke node.
  • daftar pbm,  daftar file cadangan saat ini.
  • pbm cancel-backup, digunakan untuk membatalkan proses backup yang sedang berjalan.
  • pbm delete-backup, digunakan untuk menghapus file backup. Ada dua pilihan; Anda dapat menentukan nama file cadangan untuk menghapus atau menghapus file cadangan yang lebih tua dari usia tertentu.

Instalasi Percona Backup untuk MongoDB

Ada dua cara Anda dapat menginstal Percona Backup untuk MongoDB, Anda dapat menggunakan manajer paket dari sistem operasi dan menggunakan Repositori Percona resmi untuk menginstal perangkat lunak, atau Anda dapat membangun dari kode sumber.

Sebagai prasyarat sebelum menginstal pbm melalui yum/apt install, Anda perlu mengkonfigurasi Repositori Percona, dan kemudian setelah itu, aktifkan repositori pbm:

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

* Enabling the Percona Backup MongoDB repository

<*> All done!

Kemudian, instal Percona Backup untuk MongoDB. Dalam hal ini, saya menggunakan sistem operasi berbasis CentOS jadi kami akan melakukan yum install:

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

Setelah selesai, Anda dapat mengkonfigurasi pbm-agent sebagai proses latar belakang dan bermain-main dengan antarmuka baris perintah 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

Beraksi Pencadangan

Sebelum mengambil cadangan MongoDB, pastikan pbm-agent berjalan di setiap node dan konfigurasi cadangan telah diatur seperti gambar di bawah ini, atur jalur pencadangan:

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

Dan uji jalankan pencadangan di salah satu node sekunder:

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

Itu saja untuk saat ini. Segera hadir, ClusterControl 1.8.1 akan memungkinkan Anda untuk menjadwalkan dan mengelola cluster MongoDB Anda menggunakan Percona Backup for MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kueri untuk mendapatkan data X menit terakhir dengan Mongodb

  2. cara mengelola bidang _id saat menggunakan POCO dengan driver mongodb c#

  3. Memantau Server Percona untuk MongoDB - Metrik Utama

  4. Sesi Musim Semi dengan MongoDB

  5. Luwak menarik ObjectId dari array