Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Restaurar um conjunto de réplicas autogerenciado de backups do MongoDB

Este procedimento descreve o processo de obtenção de dados do MongoDB e restauração desses dados em um novo conjunto de réplicas. Use essa abordagem para semear implantações de teste a partir de backups de produção ou como parte da recuperação de desastres.

Importante

Você não pode restaurar um único conjunto de dados para três novas instâncias do mongod e então criar um conjunto de réplica. Se você copiar o conjunto de dados para cada instância do mongod e depois criar o conjunto de réplica, o MongoDB forçará os secundários a executar uma sincronização inicial. Os procedimentos deste documento descrevem formas corretas e eficientes de implantar um conjunto de réplicas restauradas.

You can also use mongorestore to restore database files using data created with mongodump. See Back Up and Restore with MongoDB Tools for more information.

Os backups oferecem um snapshot do estado atual do banco de dados. Ao restaurar de um backup, o banco de dados restaurado não inclui alterações feitas após a conclusão do backup, o que pode resultar em perda de dados.

1

The backup files may come from a file system snapshot. The MongoDB Cloud Manager produces MongoDB database files for stored snapshots and point in time snapshots. For Ops Manager, an on-premises solution available in MongoDB Enterprise Advanced, see also the Ops Manager Backup overview.

Considerações para mecanismos de armazenamento criptografados

Para mecanismos de armazenamento criptografado que usam o modo de criptografia AES256-GCM, AES256-GCM exige que cada processo use um valor de bloco de contador exclusivo com a chave.

Para mecanismo de armazenamento criptografado configurado com cifra AES256-GCM:

  • Restauração a partir de um hot backup

    Se você restaurar a partir de arquivos obtidos por meio de backup "quente" enquanto o mongod estiver em execução, o MongoDB detectará chaves "sujas" na inicialização e rolará automaticamente sobre a chave do banco de dados para evitar a reutilização de IP (Vector de Inicialização).
  • Restaurando a partir do Cold Backup

    No entanto, se você restaurar a partir de arquivos obtidos por meio de backup "frio" enquanto o mongod não estiver em execução, o MongoDB não detectará chaves "sujas" na inicialização e a reutilização de VI anulará as garantias de confidencialidade e integridade.

    Para evitar a reutilização das chaves após restaurar de um snapshot de sistema de arquivos frio, o MongoDB adiciona uma nova opção de linha de comando --eseDatabaseKeyRollover. Quando iniciada com a opção --eseDatabaseKeyRollover, a instância mongod rola as chaves de banco de dados configuradas com AES256-GCM cifra e sai.

2

Se você estiver restaurando de uma cópia de segurança do sistema de arquivos (ou qualquer cópia de segurança com o banco de dados do local), solte o banco de dados do local.

Você também deve especificar as mesmas opções de inicialização que foram usadas quando o snapshot foi criado.

mongod --dbpath /data/db <startup options>

Connect mongosh to the mongod instance and drop the local database.

use local
db.dropDatabase()

Desligue o standalone.

3

Inicie uma instância do mongod como um novo conjunto de réplica de nó único. Especifique o caminho para os arquivos de dados da cópia de segurança com a opção --dbpath e o nome do conjunto de réplica com a opção --replSet . Para conjunto de réplica do servidor de configuração (CSRS), inclua a opção --configsvr. Inclua quaisquer outras opções conforme apropriado para sua implantação.

Você também deve especificar as mesmas opções de inicialização que foram usadas quando o snapshot foi criado.

Observação

Se os nós do seu conjunto de réplicas forem executados em hosts diferentes ou se você desejar que os clientes remotos se conectem à sua instância, você deverá especificar a configuração net.bindIp (ou --bind_ip).

Aviso

Antes de vincular sua instância a um endereço IP acessível publicamente, você deve proteger seu cluster contra o acesso não autorizado. Para obter uma lista completa de recomendações de segurança, consulte Lista de verificação de segurança para implantações autogerenciadas. No mínimo, considere habilitar a autenticação e fortalecer a infraestrutura de rede.

mongod --dbpath /data/db --replSet <replName> <startup options>

Observação

Todas as coleções MongoDB têm UUIDs por padrão. Quando o MongoDB restaura collections, as collections restauradas retêm seus UUIDs originais. Ao restaurar uma collection onde nenhum UUID estava presente, o MongoDB gera um UUID para a collection restaurada.

Para mais informações sobre UUIDs de coleção, consulte Coleções.

4

Na mesma máquina em que um dos mongod está sendo executado (neste tutorial, mongodb0.example.net), inicie mongosh. Para se conectar ao mongod escutando localhost na porta padrão do 27017, basta emitir:

mongosh

Depending on your path, you may need to specify the path to the mongosh binary.

If your mongod is not running on the default port, specify the --port option for mongosh.

5

Use rs.initiate() em um e apenas um membro do conjunto de réplicas:

rs.initiate( {
_id : <replName>,
members: [ { _id : 0, host : <host:port> } ]
})

O MongoDB inicia um conjunto que consiste no membro atual e que utiliza a configuração padrão do conjunto de réplicas.

O MongoDB oferece duas opções para restaurar membros secundários de um conjunto de réplicas:

Observação

Se o seu banco de dados for grande, a sincronização inicial pode levar muito tempo para ser concluída. Para bancos de dados grandes, pode ser preferível copiar os arquivos do banco de dados em cada host.

Use a seguinte sequência de operações para " semear " membros adicionais do conjunto de réplicas com os dados restaurados, copiando os arquivos de dados do MongoDB diretamente.

1

Utilize --shutdown ou db.shutdownServer() para garantir um desligamento limpo.

2

Copie o diretório de dados do primário para o dos outros membros do conjunto de réplicas dbPath.

3
4

In a mongosh session that is connected to the primary, add the secondaries to the replica set using the rs.add() method. See Deploy a Self-Managed Replica Set for more information about deploying a replica set.

Use a seguinte sequência de operações para "compartilhar" membros adicionais do conjunto de réplicas definido com os dados restaurados usando a operação de sincronização inicial padrão.

1

Por exemplo, se o membro do conjunto de réplicas tiver uma storage.dbPath ou --dbpath de /data/db, você deverá garantir que o diretório exista e esteja vazio.

2
3

Conecte-se ao primário usando o shell mongo e adicione cada secundário ao conjunto de réplicas usando rs.add().

Quando você adiciona um membro ao conjunto de réplicas, a Sincronização inicial copia os dados do primário para o novo membro.