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

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

mongorestore is a tool that reads mongodump binary exports and restores the data to a MongoDB deployment. Use mongorestore to restore a sharded cluster from a mongodump backup.

Ensure you have a mongodump backup of your source cluster. To create one, see Back Up a Self-Managed Sharded Cluster with a Database Dump. If you have file system snapshots, see Restore a Self-Managed Sharded Cluster from 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()

Alternatively, you can use bsondump to inspect the config/collections.bson file from your dump directory:

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 to connect to mongos and restore the cluster. Exclude the config database to preserve the destination cluster's existing configuration:

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

Importante

The --drop option drops the collection before restoring. If you use --drop after pre-sharding collections, mongorestore removes the sharding configuration.

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