El El programamongosync utiliza cambiar flujos para sincronizar datos entre los clústeres de origen y destino. mongosync no accede directamente al oplog registro de operaciones, pero cuando un flujo de cambios devuelve eventos del pasado, los eventos deben estar dentro del rango de tiempo.
mongosync Aplica las operaciones del oplog en el clúster de origen a los datos del clúster de destino después de la fase de copia de recopilación. Cuando las operaciones que mongosync no se han aplicado en el se eliminan del oplog en el clúster de origen, la sincronización falla y el mongosync finaliza.
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é sincronizar un conjunto de datos grande o si planea pausar la sincronización durante un período prolongado, podría exceder la ventana del registro de operaciones. Use la configuración para aumentar el tamaño de oplogSizeMB en oplog el clúster de origen.
Considerations
El clúster de destino debe tener suficiente almacenamiento en disco para acomodar el tamaño de los datos lógicos que se migrarán y las entradas del registro de operaciones de destino de 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 del registro de operaciones de inserción de la sincronización inicial.
Para usar la verificación integrada, debe tener un registro de operaciones más grande en el destino. Si habilita el verificador integrado y reduce el tamaño del registro de operaciones de destino, es posible que el verificador integrado no pueda mantener el ritmo, lo que provocará mongosync el error.
Si necesita reducir la sobrecarga de las entradas del registro de operaciones de destino y el verificador incorporado está deshabilitado, puede:
Utilice la
oplogSizeMBconfiguración para reducir el tamaño del registro de operaciones 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
oplogMinRetentionHoursdestino.
Monitorear el tamaño del registro de operaciones necesario para la sincronización inicial
Determinar la ventana de registro de operaciones
Para obtener la diferencia en segundos entre la primera y la última entrada oplog db.getReplicationInfo()en, ejecute. Si está replicando un clúster fragmentado, ejecute el comando en cada fragmento.
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.
Determinar el retraso de replicación de mongosync
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.
Validar el tamaño del registro de operaciones
Si el tiempo de retraso se acerca a la ventana mínima oplog, realice uno de los siguientes cambios:
Aumentar la
oplogventana. Usar para quereplSetResizeOplogseaminRetentionHoursmayor que laoplogventana actual.Nota
replSetResizeOplogno 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 nodomongosyncy que tenga una velocidad de copia más alta.