MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come eseguire il backup del database Open edX MongoDB

Open edX è un progetto open source per l'apprendimento online sviluppato dal team del MIT e di Harvard. È un'applicazione basata sul Web con molti componenti come gli studenti, la creazione di corsi, l'erogazione dei corsi e la gestione dei contenuti.

Open edX è costruito in Python e usa Django come framework web. Utilizza MongoDB come backend di database. Quando si costruisce e si configura un ambiente Open edX, è necessario pensare al tempo di attività del servizio perché la piattaforma è ampiamente utilizzata da studenti e discenti come piattaforma aperta.

L'elevata disponibilità è un must per i database MongoDB, oltre che per il server delle applicazioni. Per il ripristino di emergenza, una solida strategia di backup è fondamentale in modo da sapere che puoi ripristinare i dati se qualcosa va davvero storto.

In questo blog esamineremo come eseguire il backup del database Open edX MongoDB.

Preparazione dell'archivio di backup

La prima cosa che dobbiamo fare è preparare lo storage per il backup di MongoDB. Puoi organizzare i backup sulla stessa infrastruttura dei servizi Open edX e quindi archiviarli fuori sede. È possibile utilizzare Storage Area Network (SAN) o Network Attached Storage dove è montato su uno dei server MongoDB. AWS fornisce un semplice servizio di archiviazione chiamato S3 per archiviare i tuoi backup, mentre Google Cloud Platform ha Cloud Storage.

È un servizio on demand e il modello di prezzo si basa sulla dimensione per GiB del backup. Per sicurezza, almeno puoi mettere il backup del tuo database Open edX su 2 aree diverse; che è sul tuo locale e sul cloud.

Backup manuale per MongoDB

In genere il backup per i database MongoDB utilizza l'utilità mongodump che viene fornita in bundle quando si installa il server MongoDB. Puoi fare un backup in uno dei server MongoDB, basta eseguire mongodump come mostrato di seguito:

$ 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

……

Creerà un backup sull'host MongoDB, puoi avere uno script per spostare i file di backup in un altro spazio di archiviazione.

Esegui il backup di MongoDB per Open edX utilizzando ClusterControl

ClusterControl supporta il backup MongoDB per la tua piattaforma Open edX. Supporta mongodump e abbiamo appena aggiunto il supporto per un nuovo metodo di backup chiamato PBM (Percona Backup for MongoDB), che sarebbe più appropriato per i cluster MongoDB partizionati. L'esecuzione del backup utilizzando mongodump in ClusterControl è molto semplice utilizzando una procedura guidata basata su GUI. Scegli la scheda Backup e quindi Crea backup. Ci sono due opzioni tra cui puoi scegliere, puoi creare immediatamente un backup o puoi pianificare il backup.

E poi fai clic su Continua:

Scegli mongodump come metodo di backup, quindi annota la directory della posizione in cui vuoi mettere il backup. In questo passaggio, puoi utilizzare una Storage Area Network o un Network Attached Storage montato sul tuo server MongoDB.

ClusterControl supporta anche il backup nel cloud, attualmente supportiamo Amazon Web Services (AWS), Google Cloud Platform e Microsoft Azure.

Puoi anche abilitare la crittografia per il tuo backup, questo è particolarmente importante se stanno archiviando nel cloud. Quindi, premi semplicemente Crea backup, attiverà un nuovo processo per il backup come mostrato di seguito:

Puoi anche utilizzare Percona Backup for MongoDB per un backup coerente del tuo MongoDB Replicaset e Sharded Cluster.. Basta selezionare percona-backup-mongodb come metodo di backup, richiede l'installazione di un agente su ogni nodo e l'archiviazione condivisa da montare su ogni nodo MongoDB.