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

ClusterControl - Gerenciamento Avançado de Backup - MongoDB

A recuperação de desastres não é concluída sem um sistema de backup adequado. Quando algo ruim acontece, os dados podem ser restaurados usando o backup de preferência com o mais recente. Podemos querer evitar a restauração dos dados que não são atualizados. Provavelmente pode haver alguma informação que está faltando com o backup antigo. Essa é a razão pela qual ter uma boa prática de backup é crucial para a maioria dos sistemas hoje em dia.

MongoDB se tornou mais popular ano após ano. Muitas empresas começaram a usar o MongoDB como um de seus bancos de dados. Um dos recursos e provavelmente a razão pela qual o MongoDB é popular é devido à sua velocidade e o MongoDB é fácil de escalar. MongoDB é um dos bancos de dados suportados no ClusterControl. Você pode implantar, importar, dimensionar e até mesmo realizar o backup com o ClusterControl. Nesta postagem do blog, analisaremos o recurso Backup avançado para o conjunto de réplicas do MongoDB e o cluster fragmentado.

Tipos de backup do MongoDB

MongoDB suporta backup lógico e físico. Além disso, o MongoDB também suporta Point In Time Recovery (PITR). Vamos ver qual é a diferença entre todos os 3 tipos de backup.

Backup lógico

mongodump

Este utilitário criará uma exportação binária do conteúdo de um banco de dados. Além disso, o mongodump pode exportar dados de instâncias mongod ou mongos, pode exportar dados de implementações independentes, de conjunto de réplicas e de cluster fragmentado

Backup físico

NA

O backup físico no MongoDB só pode ser feito no nível do sistema. Neste momento, não há backup físico disponível no ClusterControl. A maneira como o backup físico funciona é criando um instantâneo no LVM ou dispositivo de armazenamento.

PITR

Backup Percona para MongoDB

Percona Backup para MongoDB herdado e substitui mongodb_consistent_backup, que já está obsoleto. É uma solução distribuída e de baixo impacto para obter backups consistentes para clusters fragmentados do MongoDB e conjuntos de réplicas. Este tipo de backup é lógico, mas ao mesmo tempo pode funcionar como um backup PITR.

Agora que sabemos qual é a diferença entre o tipo de backup.

Gerenciamento de backup do MongoDB

ClusterControl permite que você crie o backup em tempo real, bem como agendá-lo no horário desejado. Uma coisa que vale a pena mencionar, caso você queira agendar, o ClusterControl usará o fuso horário UTC. Portanto, você precisa escolher o horário certo que se adapte ao seu fuso horário para que a programação seja executada no horário menos movimentado.

Vamos em frente e tente usar a função de backup no ClusterControl. Além disso, também revisaremos um dos recursos avançados, que é fazer o upload do backup para a nuvem. A partir do ClusterControl 1.9.0, o MongoDB oferece suporte ao upload na nuvem que permite fazer upload do backup para seu provedor de armazenamento em nuvem preferido.

Backup Lógico do MongoDB

Vamos começar com o backup lógico. Antes que o recurso de upload do backup para a nuvem possa ser usado, você precisa integrá-lo ao seu provedor de nuvem preferido. Para o nosso caso, vamos integrá-lo com a nuvem AWS. Para fazer a integração completa da AWS, você pode seguir os seguintes passos:

  • Use o endereço de e-mail e a senha da sua conta da AWS para fazer login no Console de gerenciamento da AWS como usuário raiz da conta da AWS .

  • Na página IAM Dashboard, escolha o nome da sua conta na barra de navegação e escolha My Security Credentials.

  • Se você vir um aviso sobre como acessar as credenciais de segurança de sua conta da AWS, escolha Continuar para credenciais de segurança.

  • Expanda a seção Chaves de acesso (ID da chave de acesso e chave de acesso secreta).

  • Escolha Criar nova chave de acesso. Em seguida, escolha Baixar arquivo de chave para salvar o ID da chave de acesso e a chave de acesso secreta em um arquivo em seu computador. Depois de fechar a caixa de diálogo, você não poderá recuperar essa chave de acesso secreta novamente.

Supondo que você já tenha o cluster MongoDB pronto, iniciaremos nosso processo de backup. Primeiro, vá para o cluster MongoDB -> Backup -> Criar Backup


Na próxima página, você pode especificar se deseja habilitar a criptografia ou não. Para criptografia, o ClusterControl usará OpenSSL para criptografar o backup usando o algoritmo AES-256 CBC. A criptografia acontece no nó de backup. Se você optar por armazenar o backup no nó do controlador, os arquivos de backup serão transmitidos em formato criptografado por meio de socat ou netcat. A criptografia é considerada um dos recursos avançados de backup que podem ser utilizados, portanto, no nosso caso, habilitaremos essa opção. Você também pode definir o período de retenção do seu backup nesta página. Para o nosso caso, usaremos a configuração padrão de 31 dias.

Na terceira página, você precisa especificar o login para o provedor de nuvem , escolha/crie o bucket. Você também pode especificar a retenção para seu backup na nuvem, a configuração padrão é 180 dias.

Depois de clicar no botão Criar backup, o trabalho será iniciado instantaneamente e vai demorar um pouco dependendo do tamanho do seu banco de dados. Ao mesmo tempo, o backup será carregado para o armazenamento em nuvem (AWS). Você pode notar que os ícones “chave” e “nuvem” são destacados após a conclusão do backup, como a seguir:

Agora que você tem o backup pronto, para restaurar o backup o passo é muito simples. Tudo o que você precisa fazer é clicar no link “Restaurar” e clicar no botão “Concluir” na página de restauração como o seguinte:

Backup do MongoDB PITR

Como mencionado anteriormente, o Percona Backup for MongoDB é um tipo de backup PITR. Antes de poder usar esse tipo de backup, você precisa instalar o agente (pbm-agent) em todos os nós/instâncias do MongoDB. Antes disso, você também precisa montar um diretório compartilhado em todos os nós. Vamos começar!

Primeiro, você precisa configurar o servidor NFS. Para instalar um servidor NFS, você precisa escolher ou implantar qualquer máquina virtual, para o nosso caso instalaremos o servidor NFS no nó ClusterControl (Centos):

[[email protected] ~]# dnf install nfs-utils

Depois que o utilitário NFS estiver instalado, você poderá iniciar o serviço e habilitá-lo na inicialização do sistema:

[[email protected] ~]# # systemctl start nfs-server.service

[[email protected] ~]# # systemctl enable nfs-server.service

[[email protected] ~]# # systemctl status nfs-server.service

A próxima etapa é configurar o arquivo /etc/exports para que o diretório seja acessível pelos clientes NFS:

[[email protected] ~]# vi /etc/exports

/mnt/backups                    10.10.80.10(rw,sync,no_root_squash,no_subtree_check)

No nó de clientes que são nossos nós de banco de dados, precisamos instalar os pacotes NFS necessários também:

[[email protected] ~]# dnf install nfs-utils nfs4-acl-tools

Uma vez que os pacotes estejam instalados, podemos criar o diretório e montá-lo:

[[email protected] ~]# mkdir -p /mnt/backups

[[email protected] ~]# mount -t nfs 10.10.80.10:/mnt/backups /mnt/backups

Certifique-se de montar em todos os nós do banco de dados para que possamos instalar o pbm-agent. Considerando que todos os nós já possuem o diretório NFS montado, vamos proceder com a instalação do agente agora. Vá para o cluster MongoDB -> Backup -> Configurações -> Backup Percona

Depois de clicar no botão Instalar Percona Backup, a tela a seguir será exibida . Aqui, você precisa especificar o diretório compartilhado. Novamente, certifique-se de que o diretório foi montado em todos os nós do MongoDB. Uma vez que o Diretório de Backup tenha sido especificado, você pode clicar no botão Instalar e aguardar a conclusão da instalação.

A instalação bem-sucedida deve ser semelhante à captura de tela a seguir. Agora podemos prosseguir com o processo de backup:

Para criar o backup usando o Percona Backup, as etapas são simples. Infelizmente, você não pode usar a opção de criptografar o backup usando esse método. Para usar o recurso de upload para a nuvem, você precisa habilitar a opção antes de escolher o tipo de backup, caso contrário seu backup não será carregado. Você notará que o recurso de upload desaparecerá quando você escolher “percona-backup-mongodb”.

Na segunda página, você pode especificar a retenção local:

Quanto à última página, você pode especificar os detalhes da nuvem e retenção como no exemplo anterior. O processo de restauração é o mesmo do exemplo anterior, basta clicar no link “Restaurar” e seguir os passos na página de restauração:

Conclusão

Com o ClusterControl, você pode criar e carregar seu backup do MongoDB para a nuvem. O upload para a nuvem é um dos recursos novos e avançados do MongoDB que foi introduzido a partir do ClusterControl 1.9.0, fornecendo a integração com o provedor de nuvem com sucesso. Você também pode criptografar seu backup usando o ClusterControl se quiser proteger seu backup.