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

ClusterControl - Quản lý sao lưu nâng cao - MongoDB

Quá trình khôi phục sau thảm họa không hoàn thành nếu không có hệ thống sao lưu thích hợp. Khi có điều gì đó xấu xảy ra, dữ liệu có thể được khôi phục bằng cách sử dụng bản sao lưu tốt nhất là với bản mới nhất. Chúng tôi có thể muốn tránh khôi phục dữ liệu chưa được cập nhật. Có thể có một số thông tin bị thiếu với bản sao lưu cũ. Đó là lý do tại sao có một phương pháp sao lưu tốt là rất quan trọng đối với hầu hết các hệ thống hiện nay.

MongoDB đã trở nên phổ biến hơn qua từng năm. Có rất nhiều công ty bắt đầu sử dụng MongoDB làm một trong những cơ sở dữ liệu của họ. Một trong những tính năng và có lẽ là lý do tại sao MongoDB phổ biến là do tốc độ của nó và MongoDB rất dễ mở rộng. MongoDB là một trong những cơ sở dữ liệu được hỗ trợ trong ClusterControl. Bạn có thể triển khai, nhập, mở rộng quy mô và thậm chí thực hiện sao lưu với ClusterControl. Trong bài đăng trên blog này, chúng ta sẽ giới thiệu về tính năng Sao lưu nâng cao cho nhóm bản sao MongoDB và cụm phân đoạn.

Các loại sao lưu MongoDB

MongoDB hỗ trợ cả sao lưu logic và vật lý. Ngoài ra, MongoDB cũng hỗ trợ Point In Time Recovery (PITR). Hãy xem sự khác biệt giữa cả 3 loại sao lưu là gì.

Sao lưu logic

mongodump

Tiện ích này sẽ tạo một bản xuất nhị phân nội dung của cơ sở dữ liệu. Không chỉ vậy, mongodump có thể xuất dữ liệu từ các phiên bản mongod hoặc mongos, có thể xuất dữ liệu từ các triển khai cụm độc lập, bản sao và phân đoạn

Sao lưu vật lý

NA

Sao lưu vật lý trong MongoDB chỉ có thể được thực hiện ở cấp hệ thống. Tại thời điểm này, không có bản sao lưu vật lý nào có sẵn trong ClusterControl. Cách hoạt động của sao lưu vật lý là tạo một ảnh chụp nhanh trên LVM hoặc thiết bị lưu trữ.

PITR

Percona Backup cho MongoDB

Percona Backup cho MongoDB được kế thừa và thay thế mongodb_consuality_backup, vốn đã không được dùng nữa. Đây là một giải pháp phân tán, có tác động thấp để đạt được các bản sao lưu nhất quán cho cả các cụm phân đoạn MongoDB và các tập hợp bản sao. Loại sao lưu này là hợp lý nhưng đồng thời có thể hoạt động như một bản sao lưu PITR.

Bây giờ chúng ta đã biết sự khác biệt giữa kiểu sao lưu là gì.

Quản lý sao lưu MongoDB

ClusterControl cho phép bạn tạo bản sao lưu trong thời gian thực cũng như lên lịch theo lịch trình mong muốn của bạn. Một điều đáng nói, trong trường hợp bạn muốn lên lịch, ClusterControl sẽ sử dụng múi giờ UTC. Vì vậy, bạn cần chọn đúng thời gian phù hợp với múi giờ của mình để lịch chạy vào thời gian bớt bận rộn hơn.

Hãy tiếp tục và thử sử dụng chức năng sao lưu trong ClusterControl. Ngoài ra, chúng tôi cũng sẽ xem xét một trong những tính năng nâng cao đó là tải bản sao lưu lên đám mây. Bắt đầu với ClusterControl 1.9.0, MongoDB hỗ trợ tải lên đám mây cho phép bạn tải bản sao lưu lên nhà cung cấp lưu trữ đám mây ưa thích của mình.

Bản sao lưu lôgic MongoDB

Hãy bắt đầu với sao lưu hợp lý. Trước khi sử dụng tính năng tải bản sao lưu lên đám mây, bạn cần tích hợp nó với nhà cung cấp dịch vụ đám mây ưa thích của mình. Đối với trường hợp của chúng tôi, chúng tôi sẽ tích hợp nó với đám mây AWS. Để thực hiện tích hợp AWS hoàn chỉnh, bạn có thể làm theo các bước sau:

  • Sử dụng địa chỉ email và mật khẩu tài khoản AWS của bạn để đăng nhập vào Bảng điều khiển quản lý AWS với tư cách là người dùng gốc của tài khoản AWS .

  • Trên trang IAM Dashboard, chọn tên tài khoản của bạn trong thanh điều hướng, sau đó chọn My Security Credentials.

  • Nếu bạn thấy cảnh báo về việc truy cập thông tin xác thực bảo mật cho tài khoản AWS của mình, hãy chọn Tiếp tục đến Thông tin đăng nhập bảo mật.

  • Mở rộng phần Khóa truy cập (ID khóa truy cập và khóa truy cập bí mật).

  • Chọn Tạo Khóa Truy cập Mới. Sau đó chọn Tải xuống tệp khóa để lưu ID khóa truy cập và khóa truy cập bí mật vào một tệp trên máy tính của bạn. Sau khi đóng hộp thoại, bạn không thể lấy lại khóa truy cập bí mật này.

Giả sử rằng bạn đã có sẵn cụm MongoDB, chúng tôi sẽ bắt đầu quá trình sao lưu của mình. Đầu tiên, đi tới MongoDB cluster -> Backup -> Create Backup

Trên trang tiếp theo, bạn có thể chỉ định muốn bật mã hóa hoặc không phải. Để mã hóa, ClusterControl sẽ sử dụng OpenSSL để mã hóa bản sao lưu bằng thuật toán AES-256 CBC. Mã hóa xảy ra trên nút dự phòng. Nếu bạn chọn lưu trữ bản sao lưu trên nút điều khiển, các tệp sao lưu sẽ được truyền trực tuyến ở định dạng mã hóa thông qua socat hoặc netcat. Mã hóa được coi là một trong những tính năng sao lưu nâng cao có thể được sử dụng, vì vậy trong trường hợp của chúng tôi, chúng tôi sẽ bật tùy chọn này. Bạn cũng có thể xác định khoảng thời gian lưu giữ bản sao lưu của mình trên trang này. Đối với trường hợp của chúng tôi, chúng tôi sẽ sử dụng cài đặt mặc định là 31 ngày.

Trên trang thứ ba, bạn cần chỉ định thông tin đăng nhập cho nhà cung cấp dịch vụ đám mây , chọn / tạo nhóm. Bạn cũng có thể chỉ định thời gian lưu giữ cho bản sao lưu đám mây của mình, cài đặt mặc định là 180 ngày.

Khi bạn nhấp vào nút Tạo sao lưu, công việc sẽ ngay lập tức được bắt đầu và sẽ mất một lúc tùy thuộc vào kích thước cơ sở dữ liệu của bạn. Đồng thời, bản sao lưu sẽ được tải lên kho lưu trữ đám mây (AWS). Bạn có thể nhận thấy các biểu tượng “chìa khóa” và “đám mây” được đánh dấu sau khi sao lưu hoàn tất như sau:

Bây giờ bạn đã có bản sao lưu, để khôi phục bản sao lưu, bước là rất đơn giản. Tất cả những gì bạn phải làm là nhấp vào liên kết “Khôi phục” và nhấp vào nút “Hoàn tất” trên trang khôi phục như sau:

MongoDB PITR sao lưu

Như đã đề cập trước đó, Percona Backup cho MongoDB là một loại sao lưu PITR. Trước khi có thể sử dụng kiểu sao lưu này, bạn cần cài đặt tác nhân (pbm-agent) trên tất cả các nút / phiên bản MongoDB. Trước đó, bạn cũng cần phải gắn một thư mục dùng chung trên tất cả các nút. Hãy bắt đầu!

Trước tiên, bạn cần cấu hình máy chủ NFS. Để cài đặt máy chủ NFS, bạn cần chọn hoặc triển khai bất kỳ máy ảo nào, đối với trường hợp của chúng tôi, chúng tôi sẽ cài đặt máy chủ NFS trong nút ClusterControl (Centos):

[[email protected] ~] # dnf cài đặt nfs-utils

Sau khi tiện ích NFS được cài đặt, bạn có thể khởi động dịch vụ và kích hoạt nó khi khởi động hệ thống:

[[email protected] ~] # # systemctl start nfs-server.service

[[email protected] ~] # # systemctl bật nfs-server.service

[[email protected] ~] # # trạng thái systemctl nfs-server.service

Bước tiếp theo là định cấu hình / etc / export tệp để các máy khách NFS có thể truy cập được thư mục:

[[email protected] ~] # vi / etc / export

/ mnt / backup 10.10.80.10 (rw, sync, no_root_squash, no_subtree_check)

Trong nút máy khách là nút cơ sở dữ liệu của chúng tôi, chúng tôi cũng cần cài đặt các gói NFS cần thiết:

[[email protected] ~] # dnf cài đặt nfs-utils nfs4-acl-tools

Sau khi các gói được cài đặt, chúng tôi có thể tạo thư mục và gắn kết nó:

[[email protected] ~] # mkdir -p / mnt / backup

[[email protected] ~] # mount -t nfs 10.10.80.10:/mnt/backups / mnt / backup

Đảm bảo gắn kết trên tất cả các nút cơ sở dữ liệu để chúng tôi cài đặt pbm-agent. Xem xét tất cả các nút đã có thư mục được gắn kết NFS, chúng ta sẽ tiến hành cài đặt tác nhân ngay bây giờ. Đi tới cụm MongoDB -> Sao lưu -> Cài đặt -> Sao lưu Percona

Khi bạn nhấp vào nút Install Percona Backup, màn hình sau sẽ xuất hiện . Ở đây, bạn cần chỉ định thư mục chia sẻ. Một lần nữa, hãy đảm bảo rằng thư mục đã được gắn trong tất cả các nút MongoDB của bạn. Khi Thư mục sao lưu đã được chỉ định, bạn có thể nhấp vào nút Cài đặt và đợi quá trình cài đặt hoàn tất.

Quá trình cài đặt thành công sẽ giống như ảnh chụp màn hình sau. Bây giờ chúng tôi có thể tiến hành quá trình sao lưu:

Để tạo bản sao lưu bằng Percona Backup, các bước rất đơn giản. Rất tiếc, bạn không thể sử dụng tùy chọn để mã hóa bản sao lưu bằng phương pháp này. Để sử dụng tính năng tải lên đám mây, bạn cần bật tùy chọn trước khi chọn loại sao lưu, nếu không bản sao lưu của bạn sẽ không được tải lên. Bạn sẽ thấy tính năng tải lên sẽ biến mất khi bạn chọn “percona-backup-mongodb”.

Trên trang thứ hai, bạn có thể chỉ định lưu giữ cục bộ:

Đối với trang cuối cùng, bạn có thể chỉ định chi tiết đám mây và lưu giữ như trong ví dụ trước. Quá trình khôi phục giống như ví dụ trước, tất cả những gì bạn cần làm là nhấp vào liên kết “Khôi phục” và làm theo các bước trên trang khôi phục:

Kết luận

Với ClusterControl, bạn có thể tạo và tải bản sao lưu MongoDB của mình lên đám mây. Tải lên đám mây là một trong những tính năng mới và nâng cao của MongoDB đã được giới thiệu bắt đầu từ ClusterControl 1.9.0, cung cấp khả năng tích hợp với nhà cung cấp đám mây đã được thực hiện thành công. Bạn cũng có thể mã hóa bản sao lưu của mình bằng ClusterControl nếu bạn muốn bảo vệ bản sao lưu của mình.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sao lưu MongoDB dưới dạng văn bản thay vì nhị phân để kiểm soát nguồn

  2. Cách tốt nhất để phân trang ajax với MongoDb và Nodejs là gì?

  3. Lập bản đồ tài liệu với lược đồ được xác định một phần

  4. MongoDB so với MySQL NoSQL - Tại sao Mongo lại tốt hơn

  5. Nâng cấp lên ClusterControl Enterprise Edition