Processo de backup
Os backups dependem da versão do MongoDB com que seu banco de dados de dados é compatível. Essa feature compatibility version varia da versão atual até a versão anterior. Para MongoDB 4.2, o FCV pode ser 4.0
ou 4.2
.
O processo de backup tira um snapshot do diretório de dados em seus intervalos de snapshots programados. Esse processo copia os arquivos de dados em uma implantação do MongoDB , enviando-os pela rede por meio do MongoDB Ops Manager para o armazenamento de snapshot existente. Sua implantação ainda pode lidar com operações de leitura e gravação durante o processo de cópia.
O processo de backup funciona dessa maneira, independentemente de como as capturas de imagem são armazenadas.
Observação
Com o novo processo de backup, não há mais sincronizações iniciais. Como resultado de não ter sincronizações iniciais, o Ops Manager pode oferecer suporte a uma gama maior de clientes, como aqueles que usam fortemente renameCollection.
Após o início do backup, o MongoDB Ops Manager faz o backup dos dados como um processo contínuo e contínuo. Esse processo continua criando snapshots desde que o banco de dados principal permaneça sincronizado com o banco de dados de dados.
Este processo funciona como sincronização de dados do conjunto de réplicas.
Processo de backup:
Executa uma sincronização inicial para fazer backup de todos os seus dados existentes em seu estado atual. Em clusters fragmentados, isso ocorre em cada shard e nos servidores de configuração.
Observação
Condições ou Ações que Reiniciam a Initial Sync
Durante o processo de sincronização inicial , determinadas ações ou condições podem reiniciar o processo de sincronização inicial . Evite as seguintes ações e condições:
Ações a serem evitadas durante a initial sync:
Reiniciando, desligando ou alterando a versão ou o valor FCV do banco de banco de dados de origem.
Renomeando a collection do banco de banco de dados de origem .
Alterando o valor $out no Aggregation Pipeline do banco de banco de dados de origem.
Reiniciando ou desligando o aplicativo MongoDB Ops Manager ou o Backup Daemon.
Reiniciar, desligar ou atualizar o MongoDB Agent.
Condições a serem evitadas durante a initial sync:
O Head Directory está cheio.
A conectividade de rede entre os componentes MongoDB Ops Manager está instável.
Tira snapshots do diretório
data
em uma implantação com a frequência especificada pelo agendamento de snapshots e, em seguida, transfere os snapshots para um sistema de armazenamento.Observação
Os clusters fragmentados também podem ativar checkpoints para permitir restaurações em pontos no tempo entre snapshots. Para saber como clusters fragmentados usam checkpoints, consulte checkpoints.
Importante
Você pode usar checkpoints em clusters que executam o MongoDB com feature compatibility version do 4.0 ou anterior. Os pontos de controle foram removidos das instâncias do MongoDB com FCV de 4.2 ou posterior.
Monitora o oplog constantemente e adiciona novas operações de banco de dados de dados ao backup mais recente para manter a cópia local dos dados do MongoDB Ops Manager atual.
O processo de backup funciona dessa maneira, independentemente de como as capturas de imagem são armazenadas.
Definição de backup e estados operacionais
Cada backup é definido como uma tarefa. Cada tarefa define quanto e com que frequência os dados são armazenados em backup. As tarefas de backup são definidas por projeto.
Estados operacionais
A tabela a seguir lista os estados de uma tarefa de backup:
Estado | Reter Snapshots Antigos | Criar Novos Snapshots |
---|---|---|
Active | Sim | Sim |
Stopped | Sim | No |
Inactive | No | No |
Estado | Reter Snapshots Antigos | Criar Novos Snapshots | Aplicar Oplogs |
---|---|---|---|
Active | Sim | Sim | Sim |
Stopped | Sim | No | No |
Inactive | No | No | No |
Alterar estados operacionais
Depois que as tarefas de backup estiverem ativas para um projeto, serão tarefas de backup sem tarefa adicional até que sejam paradas ou terminadas. O operador pode alterar o estado de uma cópia de segurança das seguintes formas:
Estado inicial | Estado desejado | Método |
---|---|---|
Inactive | Active | Clique em Start. |
Active | Stopped | Clique em Stop. |
Stopped | Active | Clique em Restart. |
Stopped | Inactive | Clique em Terminate. AVISO: Terminate exclui todos os backups retidos. |
Estado inicial | Estado desejado | Método |
---|---|---|
Inactive | Active after Initial Sync | Clique em Start. |
Active | Stopped | Clique em Stop. |
Stopped | Active after Initial Sync | Clique em Restart. |
Stopped | Inactive | Clique em Terminate. AVISO: Terminate exclui todos os backups retidos. |
Importante
Você pode receber um alerta Backup requires a resync
para suas tarefas de backup. Isso pode exigir que você sincronize novamente um backup. Este não é um estado diferente, mas o início de um novo fluxo de processo de backup. Depois que Initial
Sync
for concluído, a tarefa de backup se tornará Active novamente.
Fluxos de processos de backup
Uma vez criada, uma tarefa de backup passa pelo seguinte fluxo de processo:
Quando o cluster está pronto para seu snapshot agendado, ele determina um nó disponível ideal para isso. Na maioria dos casos, o
mongod
determina o membro secundário de menor prioridade como o nó de snapshot preferencial. Outras métricas podem ser consideradas para determinar o nó preferencial, como o quão atual é o secundário com o primary e o membro do snapshot escolhido anteriormente.Quando o processo
mongod
determina o nó de origem para o snapshot, o processo de backup abre um$backupCursor
no nó de destino.O
$backupCursor
, um mecanismo da camada do mecanismo de armazenamento, permite que os arquivos do banco de dados no armazenamento sejam copiados em um estado consistente enquanto ainda aceitam gravações.A função de backup do agente MongoDB copia e processa esses arquivos de dados.
A função de backup do agente MongoDB envia os arquivos de dados para o Ops Manager.
O processo de backup coleta e transfere esses arquivos para o repositório de snapshots que você escolher para armazenar o backup. Dependendo do armazenamento de snapshot que você escolheu para armazenar seu snapshot, um snapshot pode ser gravado como:
Bloqueia para uma loja de blocos. Chunks binários gravados em um banco de dados MongoDB no host do Ops Manager.
Blocos para um bucketAmazon Web Services S3 . Os metadados para esses blocos são gravados em um banco de banco de dados MongoDB no host do MongoDB Ops Manager .
Arquivos de snapshot em um armazenamento do sistema de arquivos.
Observação
Para saber mais sobre as características de cada método de armazenamento, consulte Opções de Configuração de Backup.
Backup inicial
O MongoDB Agent habilitado para backup se conecta e autentica com os bancos de dados associados à tarefa de backup.
A sincronização inicial começa e entra em sua fase
starting
. A sincronização inicial é um estado de transição entre Inactive e Active. A sincronização inicial passa por uma série de fases que são exibidas na página Backup para mostrar o progresso. O Backup transmite os dados existentes para o MongoDB Ops Manager em 10 pacotes compactados MB de documentos chamados fatias. O backup cria fatias no ponto no tempo em que o snapshot foi criado. O MongoDB Ops Manager captura os dados inseridos na instância quando o snapshot é iniciado separadamente.A fase
transferring
começa quando as fatias são transmitidas e armazenadas no oplog Store temporariamente em nome do Backup Daemon. O serviço Backup Daemon não pode se dedicar ao processamento do grande fluxo de fatias de sincronização inicial às custas do processamento de outras tarefas de backup. O armazenamento de oplog armazena as fatias até que o Backup Daemon possa baixá-las. O armazenamento de oplog é criado quando o primeiro armazenamento de snapshots é criado.Enquanto o Backup está transmitindo os dados, ele acompanha o oplog. Esse acompanhamento coleta todas as diferenças entre o estado do banco de banco de dados de implantação quando o backup começou e o estado atual do banco de dados de implantação. As entradas oplog são enviadas em pacotes compactados de 10 MB de documentos chamados fatias de oplog. Esses dois fluxos de fatias são coletados em paralelo para reduzir o tempo necessário para construir um snapshot completo.
A fase
building
começa quando o MongoDB Ops Manager recebe o primeiro lote de partes da sincronização inicial . Nessa fase, o MongoDB Ops Manager cria uma versão local do banco de dados com backup chamado de banco de dados de banco de dados principal no host que executa o serviço Backup Daemon .O MongoDB Ops Manager usa o serviço Backup Daemon para inserir os documentos armazenados no oplog Store no banco de dados principal.
A fase
applying oplogs
começa quando o MongoDB Ops Manager aplica as entradas de oplog com cauda ao banco de banco de dados principal.Durante a fase
fetching missing documents
, o MongoDB Ops Manager consulta o banco de banco de dados de sistema para documentos perdidos durante a inserção do documento . O MongoDB Ops Manager insere os documentos ausentes encontrados no banco de banco de dados de sistema no banco de banco de dados principal.Depois de inserir os documentos ausentes, a fase
creating indexes
começa quando o MongoDB Ops Manager cria todos os índices encontrados nos bancos de dados de sistema no banco de banco de dados principal. Quando os índices terminam, a sincronização inicial termina e a fase muda paracomplete
.Dependendo do armazenamento de snapshot que você escolheu para armazenar seu snapshot, um snapshot pode ser gravado como:
Bloqueia para uma loja de blocos.
Blocos para um bucketAmazon Web Services S3 . Os metadados para esses blocos são gravados em um banco de banco de dados MongoDB no host do MongoDB Ops Manager .
Arquivos de snapshot em um armazenamento do sistema de arquivos.
Observação
As características de cada método de armazenamento são abordadas nas Opções de Configuração de Backup.
Backups subsequentes
O banco de dados principal funciona como uma cópia completa do banco de banco de dados de sistema. Ele precisa de oplogs aplicados a ele regularmente para manter seus dados sincronizados com o banco de banco de dados do sistema. Os snapshots são gerados a partir dos dados armazenados no banco de banco de dados principal de acordo com seu agendamento de snapshots.
Depois que o primeiro backup completo for concluído, cada tarefa de backup ativo seguirá este processo:
O backup acompanha o oplog do sistema.
O backup agrupa rotineiramente novas oplog entradas de em de oplog oplog e as transfere para MongoDB Ops Manager o .
O MongoDB Ops Manager armazena as entradas de oplog no armazenamento de oplog .
O MongoDB Ops Manager aplica as novas entradas de oplog das fatias de oplog ao banco de banco de dados principal que armazena o backup do sistema.
MongoDB Ops Manager cria um novo snapshot e o armazena no armazenamento de snapshots conforme especificado em seu agendamento de snapshots.