MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment sauvegarder votre base de données Open edX MongoDB

Open edX est un projet open source pour l'apprentissage en ligne développé par l'équipe du MIT et de Harvard. Il s'agit d'une application Web avec de nombreux composants tels que le contact avec les étudiants, la création de cours, la prestation de cours et la gestion de contenu.

L'Open edX est construit en Python et utilise Django comme framework web. Il utilise MongoDB comme backend de base de données. Lors de la création et de la configuration d'un environnement Open edX, il faut penser à la disponibilité du service car la plate-forme est largement utilisée par l'étudiant et l'apprenant en tant que plate-forme ouverte.

La haute disponibilité est un must pour les bases de données MongoDB, à côté du serveur d'application également. Pour la reprise après sinistre, une bonne stratégie de sauvegarde est essentielle afin que vous sachiez que vous pouvez restaurer les données en cas de problème.

Dans ce blog, nous verrons comment sauvegarder votre base de données Open edX MongoDB.

Préparer le stockage de sauvegarde

La première chose que nous devons faire est de préparer le stockage pour la sauvegarde MongoDB. Vous pouvez organiser les sauvegardes sur la même infrastructure que les services Open edX, puis les archiver hors site. Vous pouvez utiliser le réseau de stockage (SAN) ou le stockage en réseau lorsqu'il est monté sur l'un des serveurs MongoDB. AWS fournit un service de stockage simple appelé S3 pour archiver vos sauvegardes, tandis que Google Cloud Platform dispose de Cloud Storage.

Il s'agit d'un service à la demande et le modèle de tarification est basé sur la taille par Gio de votre sauvegarde. Par sécurité, vous pouvez au moins mettre votre sauvegarde de base de données Open edX sur 2 zones différentes; qui est sur votre site et sur le cloud.

Sauvegarde manuelle pour MongoDB

En règle générale, la sauvegarde des bases de données MongoDB utilise l'utilitaire mongodump qui est fourni lors de l'installation du serveur MongoDB. Vous pouvez effectuer une sauvegarde sur l'un des serveurs MongoDB, exécutez simplement le mongodump comme indiqué ci-dessous :

$ 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

……

Il créera une sauvegarde sur l'hôte MongoDB, vous pouvez avoir un script pour déplacer les fichiers de sauvegarde vers un autre stockage.

Sauvegarder MongoDB pour Open edX à l'aide de ClusterControl

ClusterControl prend en charge la sauvegarde MongoDB pour votre plateforme Open edX. Il prend en charge mongodump et nous venons d'ajouter la prise en charge d'une nouvelle méthode de sauvegarde appelée PBM (Percona Backup for MongoDB), qui serait plus appropriée pour les clusters MongoDB fragmentés. La sauvegarde à l'aide de mongodump dans ClusterControl est très simple à l'aide d'un assistant basé sur une interface graphique. Choisissez l'onglet Sauvegarde, puis Créer une sauvegarde. Vous avez le choix entre deux options :vous pouvez créer immédiatement une sauvegarde ou planifier la sauvegarde.

Et puis cliquez simplement sur Continuer :

Choisissez mongodump comme méthode de sauvegarde, puis notez le répertoire d'emplacement où vous voulez mettre la sauvegarde. Dans cette étape, vous pouvez utiliser un réseau de stockage ou un stockage en réseau monté sur votre serveur MongoDB.

ClusterControl prend également en charge la sauvegarde dans le cloud. Actuellement, nous prenons en charge Amazon Web Services (AWS), Google Cloud Platform et Microsoft Azure.

Vous pouvez également activer le chiffrement pour votre sauvegarde, ceci est particulièrement important si vous archivent dans le cloud. Ensuite, appuyez simplement sur Créer une sauvegarde, cela déclenchera une nouvelle tâche pour la sauvegarde comme indiqué ci-dessous :

Vous pouvez également utiliser Percona Backup pour MongoDB pour une sauvegarde cohérente de votre MongoDB Replicaset et cluster partagé. Sélectionnez simplement percona-backup-mongodb comme méthode de sauvegarde, cela vous oblige à installer un agent sur chaque nœud et un stockage partagé à monter sur chaque nœud MongoDB.