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.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Menu Docs

Restaure um cluster sharded autogerenciado a partir de dumps de banco de dados

mongorestore é uma ferramenta que lê exportações binárias do mongodump e restaura os dados para uma implantação do MongoDB. Use mongorestore para restaurar um cluster sharded de um backup do mongodump.

Certifique-se de ter um backup mongodump do seu cluster de origem. Para criar um, consulte Fazer backup de um cluster fragmentado autogerenciado com um dump de banco de dados. Se você tiver snapshots do sistema de arquivos, consulte Restaurar um cluster fragmentado autogerenciado a partir de snapshots.

1

Para evitar que as migrações de partes atrapalhem a restauração, conecte-se a mongos e interrompa o balanceador:

sh.stopBalancer()

Para verificar se você parou o balanceador, execute:

use config
while( sh.isBalancerRunning().mode != "off" ) {
print( "Waiting for Balancer to stop..." );
sleep( 1000 );
}
2

Para cada coleção fragmentada no cluster de origem, crie a coleção no cluster de destino e shard-a usando a mesma chave de shard com hash antes de restaurar os dados.

Para encontrar a chave de shard com hash para cada coleção, query o cluster de origem ativo:

use config
db.collections.find()

Como alternativa, você pode usar bsondump para inspecionar o arquivo config/collections.bson do seu diretório de dump:

bsondump /path/to/dump/config/collections.bson
{
"_id": "<database>.<collection>",
...
"key": { "<shardKeyField>": "<key>" },
...
}

Observação

Os valores válidos da chave de shard são 1 ou "hashed".

Para cada coleção fragmentada, shard a coleção no cluster de destino usando a mesma chave de shard com hash:

sh.shardCollection(
"<database-name>.<collection-name>",
{ <shardKeyField>: <key> }
)
3

Use mongorestore para conectar-se ao mongos e restaurar o cluster. Exclua o banco de dados config para preservar a configuração existente do cluster de destino:

mongorestore \
--host <host> \
--port 27017 \
--username <username> \
--password "<password>" \
--authenticationDatabase admin \
--nsExclude='config.*' \
/path/to/backup

Importante

A opção --drop descarta a coleção antes de restaurar. Se você usar --drop após coleções de pré-sharding, mongorestore removerá a configuração de sharding.

4

Após a conclusão da restauração, reinicie o balanceador:

sh.startBalancer()

Para confirmar que o balanceador está em execução:

sh.isBalancerRunning().mode
full
5

Conecte-se a mongos e execute sh.status() para verificar o status geral do cluster:

sh.status()

Para confirmar que todos os shards estão acessíveis e comunicando, insira um documento de teste em uma coleção temporária:

db.testRestore.insertOne({ test: 1 })

Em seguida, conecte-se a cada primário de shard e execute db.collection.find() para confirmar que o documento está presente:

db.testRestore.find()
Avalie esta página