Open edX is een open source-project voor online leren, ontwikkeld door het MIT- en Harvard-team. Het is een webgebaseerde applicatie met veel componenten, zoals student-facing, het schrijven van cursussen, het leveren van cursussen en inhoudsbeheer.
De Open edX is gebouwd in Python en gebruikt Django als webframework. Het gebruikt MongoDB als database-backend. Bij het bouwen en inrichten van een Open edX-omgeving moet men denken aan de uptime van de dienst omdat het platform veel gebruikt wordt door de student en lerende als een open platform.
Hoge beschikbaarheid is een must voor MongoDB-databases, ook naast de applicatieserver. Voor noodherstel is een gedegen back-upstrategie essentieel, zodat u weet dat u de gegevens kunt herstellen als er iets echt misgaat.
In deze blog bespreken we hoe u een back-up kunt maken van uw Open edX MongoDB-database.
De back-upopslag voorbereiden
Het eerste dat we moeten doen, is de opslag voorbereiden voor de MongoDB-back-up. U kunt de back-ups op dezelfde infrastructuur plaatsen als de Open edX-services en ze vervolgens offsite archiveren. U kunt Storage Area Network (SAN) of Network Attached Storage gebruiken waar het is gekoppeld aan een van de MongoDB-servers. AWS biedt een eenvoudige opslagservice genaamd S3 om uw back-ups te archiveren, terwijl Google Cloud Platform Cloud Storage heeft.
Het is een on-demand service en het prijsmodel is gebaseerd op de GiB-grootte van uw back-up. Voor de veiligheid kunt u uw Open edX-databaseback-up in ieder geval op 2 verschillende gebieden plaatsen; die zich op uw locatie en in de cloud bevindt.
Handmatige back-up voor MongoDB
Normaal gesproken wordt een back-up voor MongoDB-databases gemaakt met het hulpprogramma Mongodump dat wordt meegeleverd wanneer u de MongoDB-server installeert. U kunt een back-up maken op een van de MongoDB-servers, voer gewoon de mongodump uit zoals hieronder weergegeven:
$ 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
……
Het maakt een back-up op de MongoDB-host, je kunt een script hebben om de back-upbestanden naar een andere opslag te verplaatsen.
Back-up MongoDB voor Open edX met ClusterControl
ClusterControl ondersteunt MongoDB-back-up voor uw Open edX-platform. Het ondersteunt mongodump en we hebben zojuist ondersteuning toegevoegd voor een nieuwe back-upmethode genaamd PBM (Percona Backup for MongoDB), die meer geschikt zou zijn voor sharded MongoDB-clusters. Een back-up maken met mongodump in ClusterControl is heel eenvoudig met behulp van een GUI-gebaseerde wizard. Kies het tabblad Back-up en vervolgens Back-up maken. Er zijn twee opties die u kunt kiezen, u kunt direct een back-up maken of u kunt de back-up plannen.
En klik dan gewoon op Doorgaan:
Kies mongodump als back-upmethode en noteer vervolgens de locatiemap waar u de back-up wilt plaatsen. In deze stap kunt u een Storage Area Network of Network Attached Storage gebruiken die is gekoppeld aan uw MongoDB-server.
ClusterControl ondersteunt ook back-up naar de cloud, momenteel ondersteunen we Amazon Web Services (AWS), Google Cloud Platform en Microsoft Azure.
U kunt ook codering voor uw back-up inschakelen, dit is vooral belangrijk als u archiveren in de cloud. Druk vervolgens op Back-up maken, het zal een nieuwe taak voor de back-up activeren, zoals hieronder weergegeven:
U kunt ook Percona Backup for MongoDB gebruiken voor een consistente back-up van uw MongoDB Replicaset en Sharded Cluster.. Selecteer gewoon de percona-backup-mongodb als back-upmethode. Hiervoor moet u een agent op elk knooppunt installeren en moet gedeelde opslag op elk MongoDB-knooppunt worden gemount.