MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да архивирате вашата Open edX MongoDB база данни

Open edX е проект с отворен код за онлайн обучение, разработен от екипа на MIT и Харвард. Това е уеб базирано приложение с много компоненти, като насочване към студентите, създаване на курсове, предаване на курсове и управление на съдържанието.

Open edX е изграден в Python и използва Django като уеб рамка. Той използва MongoDB като бекенд на база данни. Когато изграждате и настройвате Open edX среда, трябва да се мисли за времето на работа на услугата, тъй като платформата се използва широко от студентите и обучаемите като отворена платформа.

Високата наличност е задължителна за базите данни на MongoDB, освен сървъра на приложения. За възстановяване след бедствие стратегията за стабилно  архивиране е ключова, за да знаете, че можете да възстановите данните, ако нещо наистина се обърка.

В този блог ще прегледаме как да архивирате вашата база данни Open edX MongoDB.

Подготовка на хранилището за архивиране

Първото нещо, което трябва да направим, е да подготвим хранилището за архивирането на MongoDB. Можете да организирате архивирането на същата инфраструктура като услугите Open edX и след това да ги архивирате извън сайта. Можете да използвате Storage Area Network (SAN) или Network Attached Storage, където е монтиран към един от сървърите на MongoDB. AWS предоставя проста услуга за съхранение, наречена S3, за да архивирате вашите архиви, докато Google Cloud Platform има Cloud Storage.

Това е услуга при поискване и моделът на ценообразуване се основава на размера на GiB на резервното ви копие. За безопасност можете поне да поставите резервното си копие на базата данни Open edX в 2 различни области; който е във вашата предпоставка и в облака.

Ръчно архивиране за MongoDB

Обикновено архивирането за базите данни на MongoDB е с помощта на помощна програма mongodump, която се включва, когато инсталирате MongoDB сървър. Можете да направите резервно копие на един от сървърите на MongoDB, просто стартирайте mongodump, както е показано по-долу:

$ 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

……

Той ще създаде резервно копие на хоста MongoDB, можете да имате скрипт за преместване на архивните файлове в друго хранилище.

Архивиране на MongoDB за Open edX с помощта на ClusterControl

ClusterControl поддържа архивиране на MongoDB за вашата Open edX платформа. Той поддържа mongodump и току-що добавихме поддръжка за нов метод за архивиране, наречен PBM (Percona Backup for MongoDB), който би бил по-подходящ за разчленени MongoDB клъстери. Правенето на архивиране с помощта на mongodump в ClusterControl е много лесно с помощта на GUI-базиран съветник. Изберете раздела Архивиране и след това Създаване на архив. Има две опции, които можете да изберете, можете незабавно да създадете резервно копие или да планирате архивирането.

И след това просто щракнете върху Продължи:

Изберете mongodump като резервен метод и след това запишете директорията за местоположение, където искате да поставите резервното копие. В тази стъпка можете да използвате мрежа за съхранение или мрежово прикачено хранилище, което е монтирано към вашия MongoDB сървър.

ClusterControl също поддържа архивиране в облака, в момента поддържаме Amazon Web Services (AWS), Google Cloud Platform и Microsoft Azure.

Можете също да активирате криптиране за вашето архивиране, това е особено важно, ако се архивират в облака. След това просто натиснете Създаване на архив, това ще задейства нова задача за архивирането, както е показано по-долу:

Можете също да използвате Percona Backup за MongoDB за последователно архивиране на вашия MongoDB Replicaset и разчленен клъстер.. Просто изберете percona-backup-mongodb като метод за архивиране, той изисква от вас да инсталирате агент на всеки възел и споделено хранилище, което да се монтира на всеки възел на MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hadoop Map/Reduce срещу вградена Map/Reduce

  2. Мангуст (mongodb) партидна вложка?

  3. NoSQL тенденции – MongoDB, Cassandra, CouchDB и Riak

  4. Ръководство за Upsert в MongoDB

  5. Как да конвертирам низ в ObjectId в роден драйвер на nodejs mongodb?