MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tổng quan về Percona Backup cho MongoDB

Phương pháp sao lưu đã biết và phổ biến cho MongoDB là mongodump. Nó là một phương pháp sao lưu hợp lý, tương tự như mysqldump trong MySQL hoặc pg_dump trong cơ sở dữ liệu PostgreSQL. Có một công cụ sao lưu khác được gọi là Percona Backup cho MongoDB. Nó có hỗ trợ cho các tập hợp bản sao và các cụm phân đoạn, cũng như các tính năng nâng cao hơn như khôi phục thời điểm.

Điều quan trọng cần lưu ý là nó thực hiện sao lưu nhất quán cho cụm phân đoạn mongodb của bạn và cũng hỗ trợ lưu trữ đối tượng tương thích S3 để lưu trữ các bản sao lưu. Trong blog này, chúng ta sẽ thảo luận về kiến ​​trúc, cài đặt và cách sử dụng Percona Backup cho MongoDB.

Kiến trúc

Percona Backup cho MongoDB bao gồm hai thành phần, thành phần đầu tiên là một tiện ích quy trình cần được cài đặt trên mỗi nút MongoDB, được gọi là pbm-agent. Tác nhân pbm hoạt động để điều phối giữa các nút cơ sở dữ liệu, chạy quá trình sao lưu và khôi phục. Nó cũng kiểm tra xem nút có phải là nút chính xác để lấy bản sao lưu hay không. Tác nhân pbm yêu cầu một người dùng cụ thể với một số đặc quyền vai trò; ví dụ:readWrite, backup, clusterMonitor và restore. Nó cũng cần tạo một vai trò mới cho pbm với kiểu hành động anyAction và kiểu tài nguyên anyResource. Người dùng phải tồn tại trên mỗi nút trong tập hợp bản sao và cả trong máy chủ cấu hình nếu bạn sử dụng kiến ​​trúc cụm phân đoạn. Percona Backup cho MongoDB sử dụng phương thức chuỗi kết nối MongoDB URI để kết nối với cơ sở dữ liệu, đó là lý do tại sao nó yêu cầu quyền truy cập thông tin xác thực ở lần đầu tiên.

Thành phần còn lại là giao diện dòng lệnh được gọi là pbm. tiện ích pbm kích hoạt các hành động liên quan đến sao lưu, ví dụ:thực hiện sao lưu, khôi phục, sao lưu danh sách, xóa, v.v. Trước khi làm việc với pbm, bạn cần phải định cấu hình các tùy chọn sao lưu, tùy chọn khôi phục và các tùy chọn khôi phục kịp thời.

Bản thân tệp cấu hình được lưu trữ trong tệp YAML và lệnh pbm config được sử dụng để tải tệp cấu hình. Một số lệnh cho tiện ích pbm được hiển thị bên dưới:

  • pbm config, lệnh được sử dụng để định cấu hình tùy chọn sao lưu trước khi thực thi.
  • bản sao lưu pbm, được sử dụng để sao lưu MongoDB. Nó hỗ trợ một số phương pháp nén như gzip, pgzip, lz4, snappy.
  • khôi phục pbm, lệnh được sử dụng để khôi phục bản sao lưu vào một nút.
  • danh sách pbm, danh sách các tệp sao lưu hiện tại.
  • pbm hủy-sao lưu, được sử dụng để hủy quá trình sao lưu đang chạy.
  • pbm delete-backup, được sử dụng để xóa các tập tin sao lưu. Có hai lựa chọn; bạn có thể chỉ định tên tệp sao lưu để xóa hoặc xóa các tệp sao lưu cũ hơn một độ tuổi nhất định.

Cài đặt Percona Backup cho MongoDB

Có hai cách bạn có thể cài đặt Percona Backup cho MongoDB, bạn có thể sử dụng trình quản lý gói từ hệ điều hành và sử dụng Percona Repository chính thức để cài đặt phần mềm hoặc bạn có thể xây dựng từ mã nguồn.

Là điều kiện tiên quyết trước khi cài đặt pbm thông qua cài đặt yum / apt, bạn cần phải định cấu hình Kho lưu trữ Percona và sau đó, bật kho lưu trữ pbm:

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

* Enabling the Percona Backup MongoDB repository

<*> All done!

Sau đó, cài đặt Percona Backup cho MongoDB. Trong trường hợp này, tôi đang sử dụng hệ điều hành dựa trên CentOS nên chúng tôi sẽ thực hiện cài đặt:

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

Sau khi hoàn tất, bạn có thể định cấu hình pbm-agent làm quy trình nền và chơi với giao diện dòng lệnh 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

Backup in Action

Trước khi sao lưu MongoDB, hãy đảm bảo pbm-agent đang chạy trên mỗi nút và cấu hình sao lưu đã được đặt như hình dưới đây, hãy đặt đường dẫn của bản sao lưu:

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

Và chạy thử bản sao lưu trên một trong các nút phụ:

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

Đó là tất cả cho bây giờ. Sắp có, ClusterControl 1.8.1 sẽ cho phép bạn lập lịch và quản lý các cụm MongoDB của mình bằng Percona Backup cho MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Thả một bộ sưu tập

  2. Không thể khởi động MongoDB dưới dạng dịch vụ

  3. Node + Mongoose:Lấy ID được chèn lần cuối?

  4. lỗi brew install mongodb:hèn nhát từ chối `` sudo brew install '' Mac OSX Lion

  5. Xác thực mật khẩu / xác nhận mật khẩu với lược đồ Mongoose