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

Cách sao lưu cơ sở dữ liệu Open edX MongoDB của bạn

Open edX là một dự án mã nguồn mở dành cho việc học trực tuyến được phát triển bởi nhóm MIT và Harvard. Nó là một ứng dụng dựa trên web với rất nhiều thành phần như đối mặt với sinh viên, tác giả khóa học, phân phối khóa học và quản lý nội dung.

Open edX được xây dựng bằng Python và sử dụng Django làm khuôn khổ web. Nó sử dụng MongoDB làm phần phụ trợ cơ sở dữ liệu. Khi xây dựng và thiết lập môi trường Open edX, người ta cần nghĩ đến thời gian hoạt động của dịch vụ vì nền tảng này được sinh viên và người học sử dụng rộng rãi như một nền tảng mở.

Tính khả dụng cao là điều bắt buộc đối với cơ sở dữ liệu MongoDB, bên cạnh máy chủ ứng dụng. Đối với khôi phục sau thảm họa, chiến lược sao lưu âm thanh là chìa khóa để bạn biết mình có thể khôi phục dữ liệu nếu thực sự xảy ra sự cố.

Trong blog này, chúng tôi sẽ xem xét cách sao lưu cơ sở dữ liệu Open edX MongoDB của bạn.

Chuẩn bị Bộ nhớ Dự phòng

Điều đầu tiên chúng ta cần làm là chuẩn bị bộ nhớ cho bản sao lưu MongoDB. Bạn có thể sắp xếp các bản sao lưu trên cùng một cơ sở hạ tầng như các dịch vụ Open edX, sau đó lưu trữ chúng bên ngoài. Bạn có thể sử dụng Mạng vùng lưu trữ (SAN) hoặc Mạng lưu trữ đính kèm nơi nó được gắn vào một trong các máy chủ MongoDB. AWS cung cấp dịch vụ lưu trữ đơn giản có tên S3 để lưu trữ các bản sao lưu của bạn, trong khi Google Cloud Platform có Cloud Storage.

Đây là dịch vụ theo yêu cầu và mô hình định giá dựa trên kích thước mỗi GiB của bản sao lưu của bạn. Để an toàn, ít nhất bạn có thể đặt bản sao lưu cơ sở dữ liệu Open edX của mình trên 2 khu vực khác nhau; trên tiền đề của bạn và trên đám mây.

Sao lưu thủ công cho MongoDB

Thông thường, sao lưu cho cơ sở dữ liệu MongoDB là sử dụng tiện ích mongodump được đóng gói khi bạn cài đặt máy chủ MongoDB. Bạn có thể sao lưu ở một trong các máy chủ MongoDB, chỉ cần chạy mongodump như hình dưới đây:

$ mongodump --db edxapp --out /backups/open-edx/`date +"%m-%d-%y"`

2021-01-11T11:23:42.541-0500    writing edxapp.module to /backups/open-edx/01-11-21/edxapp/module.bson

2021-01-11T11:23:42.878-0500    writing edxapp.module metadata to /backups/open-edx/01-11-21/newdb/module.metadata.json

2021-01-11T11:23:42.923-0500    done dumping edxapp.module (25359 documents)

2021-01-11T11:23:42.945-0500    writing newdb.system.indexes to /backups/open-edx/01-11-21/edxapp/system.indexes.bson

……

Nó sẽ tạo một bản sao lưu trên máy chủ MongoDB, bạn có thể có một tập lệnh để di chuyển các tệp sao lưu sang một số bộ lưu trữ khác.

Sao lưu MongoDB cho Open edX bằng ClusterControl

ClusterControl hỗ trợ sao lưu MongoDB cho nền tảng Open edX của bạn. Nó hỗ trợ mongodump và chúng tôi vừa bổ sung hỗ trợ cho một phương pháp sao lưu mới được gọi là PBM (Percona Backup cho MongoDB), sẽ phù hợp hơn cho các Cụm MongoDB được phân nhỏ. Sao lưu bằng cách sử dụng mongodump trong ClusterControl rất dễ dàng bằng cách sử dụng trình hướng dẫn dựa trên GUI. Chọn Tab sao lưu và sau đó tạo bản sao lưu. Có hai tùy chọn bạn có thể chọn, bạn có thể tạo ngay một bản sao lưu hoặc bạn có thể lên lịch sao lưu.

Và sau đó chỉ cần nhấp vào Tiếp tục:

Chọn mongodump làm phương pháp sao lưu, sau đó ghi xuống thư mục vị trí bạn muốn đặt bản sao lưu. Trong bước này, bạn có thể sử dụng Mạng vùng lưu trữ hoặc Bộ nhớ đính kèm mạng được gắn với máy chủ MongoDB của bạn.

ClusterControl cũng hỗ trợ sao lưu lên đám mây, hiện tại chúng tôi hỗ trợ Amazon Web Services (AWS), Google Cloud Platform và Microsoft Azure.

Bạn cũng có thể bật mã hóa cho bản sao lưu của mình, điều này đặc biệt quan trọng nếu bạn đang lưu trữ trên đám mây. Tiếp theo, chỉ cần nhấn Create Backup, nó sẽ kích hoạt một công việc mới cho bản sao lưu như hình dưới đây:

Bạn cũng có thể sử dụng Percona Backup cho MongoDB để sao lưu nhất quán Bản sao MongoDB của mình và Sharded Cluster .. Chỉ cần chọn percona-backup-mongodb làm phương pháp sao lưu, nó yêu cầu bạn cài đặt một tác nhân trên mỗi nút và bộ nhớ dùng chung được gắn trên mỗi nút MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 2 cách để hiện một chỉ mục trong MongoDB

  2. MongoDB - Đối số cho $ size phải là một Mảng, nhưng thuộc loại:EOO / thiếu

  3. Tạo chỉ mục văn bản đa ngôn ngữ trong MongoDB

  4. Quản lý cơ sở dữ liệu hiện đại:ClusterControl - Hướng dẫn

  5. không thành công với lỗi 10068:toán tử không hợp lệ:$ oid