Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Restauración de un clúster autogestionado a partir de vaciados de bases de datos

mongorestore es una herramienta que lee exportaciones binarias y restaura los mongodump datos en una implementación de MongoDB. Utilice para restaurar un clúster mongorestore mongodump fragmentado a partir de una copia de seguridad.

Asegúrese de tener una mongodump copia de seguridad de su clúster de origen. Para crear una, consulte Copia de seguridad de un clúster fragmentado autogestionado con un volcado de base de datos. Si tiene instantáneas del sistema de archivos, consulte Restaurar un clúster fragmentado autogestionado a partir de instantáneas.

1

Para evitar que las migraciones de fragmentos interrumpan la restauración, conéctese a mongos y detenga el balanceador:

sh.stopBalancer()

Para verificar que detuvo el balanceador, ejecute:

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

Para cada colección particionada en el clúster de origen, cree la colección en el clúster de destino y particiónela utilizando la misma clave de partición antes de la restauración de los datos.

Para encontrar la clave de partición de cada colección, query el clúster de origen en vivo:

use config
db.collections.find()

Alternativamente, puede usar para inspeccionar bsondump el config/collections.bson archivo de su directorio de volcado:

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

Nota

Los valores de la clave de partición válidos son 1 o "hashed".

Para cada colección particionada, particione la colección en el clúster de destino utilizando la misma clave de partición:

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

Utilicemongorestorepara conectarse amongosy restaurar el clúster. Excluya la base de datos config para preservar la configuración existente del clúster de destino:

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

Importante

La --drop opción elimina la colección antes de restaurarla. Si utiliza --drop después de pre-fragmentar las colecciones, elimina la configuración demongorestore fragmentación.

4

Una vez completada la restauración, reinicie el balanceador:

sh.startBalancer()

Para confirmar que el balanceador está ejecutándose:

sh.isBalancerRunning().mode
full
5

Conéctese a mongos y ejecute sh.status() para comprobar el estado general del clúster:

sh.status()

Para confirmar que todas las particiones son accesibles y se comunican entre sí, inserte un documento de prueba en una colección temporal:

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

Luego, conéctese a cada partición primaria y ejecute db.collection.find() para confirmar que el documento está presente:

db.testRestore.find()