MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como fazer backup do seu banco de dados Open edX MongoDB

Open edX é um projeto de código aberto para aprendizado online desenvolvido pela equipe do MIT e Harvard. É um aplicativo baseado na web com muitos componentes, como voltado para o aluno, autoria do curso, entrega do curso e gerenciamento de conteúdo.

O Open edX é construído em Python e usa o Django como um framework web. Ele usa o MongoDB como um back-end de banco de dados. Ao construir e configurar um ambiente Open edX, é preciso pensar no tempo de atividade do serviço, pois a plataforma é amplamente utilizada pelo aluno e aprendiz como uma plataforma aberta.

Alta disponibilidade é uma necessidade para bancos de dados MongoDB, além do servidor de aplicativos também. Para recuperação de desastres, uma estratégia de backup sólida é fundamental para que você saiba que pode restaurar os dados se algo der muito errado.

Neste blog, revisaremos como fazer backup de seu banco de dados Open edX MongoDB.

Preparando o armazenamento de backup

A primeira coisa que precisamos fazer é preparar o armazenamento para o backup do MongoDB. Você pode preparar os backups na mesma infraestrutura dos serviços Open edX e arquivá-los fora do local. Você pode usar o Storage Area Network (SAN) ou o Network Attached Storage onde ele é montado em um dos servidores MongoDB. A AWS fornece um serviço de armazenamento simples chamado S3 para arquivar seus backups, enquanto o Google Cloud Platform possui Cloud Storage.

É um serviço sob demanda e o modelo de preço é baseado no tamanho por GiB do seu backup. Por segurança, pelo menos você pode colocar o backup do banco de dados Open edX em 2 áreas diferentes; que está em sua premissa e na nuvem.

Backup manual para MongoDB

Normalmente, o backup para bancos de dados MongoDB está usando o utilitário mongodump que é fornecido quando você instala o servidor MongoDB. Você pode fazer um backup em um dos servidores MongoDB, basta executar o mongodump conforme mostrado abaixo:

$ 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

……

Ele criará um backup no host do MongoDB, você pode ter um script para mover os arquivos de backup para algum outro armazenamento.

Faça backup do MongoDB para Open edX usando ClusterControl

ClusterControl suporta backup MongoDB para sua plataforma Open edX. Ele suporta mongodump e acabamos de adicionar suporte para um novo método de backup chamado PBM (Percona Backup for MongoDB), que seria mais apropriado para clusters MongoDB fragmentados. Fazer backup usando mongodump no ClusterControl é muito fácil usando um assistente baseado em GUI. Escolha a guia Backup e, em seguida, Criar backup. Existem duas opções que você pode escolher, você pode criar um backup imediatamente ou pode agendar o backup.

E então clique em Continuar:

Escolha mongodump como método de backup e anote o diretório de localização onde você deseja colocar o backup. Nesta etapa, você pode usar uma rede de área de armazenamento ou armazenamento anexado à rede que está montado em seu servidor MongoDB.

ClusterControl também oferece suporte a backup na nuvem, atualmente oferecemos suporte a Amazon Web Services (AWS), Google Cloud Platform e Microsoft Azure.

Você também pode habilitar a criptografia para seu backup, isso é especialmente importante se você estão arquivando na nuvem. Em seguida, basta pressionar Criar Backup, ele acionará um novo trabalho para o backup conforme mostrado abaixo:

Você também pode usar o Percona Backup for MongoDB para backup consistente do seu MongoDB Replicaset e Sharded Cluster.. Basta selecionar o percona-backup-mongodb como método de backup, ele requer que você instale um agente em cada nó e armazenamento compartilhado a ser montado em cada nó MongoDB.