Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Dimensionamiento del oplog

La El programa mongosync utiliza flujos de cambios para sincronizar datos entre los clústeres de origen y destino. mongosync no accede al oplog directamente, pero cuando un flujo de cambios retorna eventos del pasado, dichos eventos deben estar dentro del rango de tiempo oplog.

mongosync aplica operaciones en el oplog sobre los datos en la clúster de destino después de la fase de copia de colección. Cuando las operaciones que mongosync no ha aplicado se eliminan del oplog en el clúster de origen, la sincronización falla y mongosync termina.

Nota

mongosync no replica operaciones realizadas en el clúster de origen durante la sincronización con el clúster de applyOps destino.

Si prevés sincronizar un gran conjunto de datos, o si planeas pausar la sincronización durante un período prolongado, puedes exceder la oplog window. Utilice la configuración oplogSizeMB para aumentar el tamaño del oplog en el clúster de origen.

El clúster de destino debe disponer de suficiente almacenamiento en disco para albergar el tamaño lógico de los datos que se migran y las entradas de destino de oplog desde la sincronización inicial. Por ejemplo, para migrar 10 GB de datos, el clúster de destino debe tener al menos 10 GB disponibles para los datos y otros 10 GB para las entradas de oplog de inserción de la sincronización inicial.

Para usar la verificación integrada, debes tener un oplog más grande en el destino. Si activas el verificador incorporado y reduces el tamaño del oplog de destino, es posible que el verificador incorporado no pueda mantenerse al día, lo que puede causar que mongosync genere un error.

Si necesitas reducir la sobrecarga de los registros del destino del oplog y el verificador incorporado está desactivado, puedes:

  • Utilice la configuración oplogSizeMB para reducir el tamaño del oplog del clúster de destino.

  • Utilice la configuración para reducir o eliminar el período mínimo de retención del registro de operaciones del clúster de oplogMinRetentionHours destino.

1

Para obtener la diferencia en segundos entre la primera y la última entrada en oplog, ejecuta db.getReplicationInfo(). Si estás replicando un clúster fragmentado, ejecuta el comando en cada partición.

db.getReplicationInfo().timeDiff

El valor devuelto es la ventana mínima oplog del clúster. Si hay varios fragmentos, el número más pequeño es la ventana mínima oplog.

2

Para obtener el lagTimeSeconds valor, ejecute el comando /progress. El tiempo de retardo es el tiempo en segundos entre el último evento aplicado por mongosync y la hora del último evento actual en el clúster de origen.

Es una medida de qué tan lejos está el grupo de origen mongosync.

3

Si el tiempo de espera se acerca a la ventana mínima oplog, realice uno de los siguientes cambios:

  • Aumente la ventana oplog. Utiliza replSetResizeOplog para establecer minRetentionHours mayor que la ventana actual de oplog.

    Nota

    replSetResizeOplog no es compatible con Atlas. Para cambiar el tamaño del registro de operaciones en Atlas, consulte "Establecer ventana mínima de registro de operaciones".

  • Escala la instancia mongosync. Agrega CPU o memoria para escalar el nodo mongosync y que tenga una velocidad de copia más alta.

Nota

La ventana oplog y la tasa de cambio para el atraso de la replicación pueden variar durante la sincronización. Repita estos pasos durante una migración para supervisar el progreso.

Volver

Autenticación mediante la federación de identidades de cargas de trabajo

En esta página