La copia de seguridad basada en almacenamiento en bloques funciona de manera diferente según el compatibilidad de características entre versiones del tienda de bloques.
Cuando realiza una copia de seguridad de su implementación en un almacén de bloques, se producen las siguientes acciones:
El MongoDB Agent envía copias de archivos divididos en bloques.
El Servicio de Copia de seguridad guarda estos bloques en el almacenamiento en bloques.
Los diferentes blockstores tienen diferentes tamaños por defecto y rangos de tamaños para los bloques.
Tipo de almacenamiento en bloques | Rango de tamaño de bloque | Tamaño por defecto |
|---|---|---|
MongoDB | 64 KB a 15 MB | 1 MB |
S3 | 64 KB a 16 MB | 16 MB |
El tamaño de bloque predeterminado del almacenamiento en bloques de MongoDB es de 1 MB. Esto mejora el rendimiento de las snapshots.
Si sus almacenes de bloques incluyen copias de seguridad con archivos de más de 100 GB, considere usar un tamaño de bloque de 2 MB o superior. Si necesita ayuda para elegir un tamaño de bloque, contacte con el soporte de MongoDB.
Considerations
snapshot completa después del cambio en el tamaño de bloque
Si cambias el tamaño del bloque, el siguiente snapshot se ejecutará como un snapshot completo en lugar de uno incremental.
El aumento del tamaño del bloque aumenta el rendimiento y el uso del disco
En general, aumentar el tamaño de bloque resulta en snapshot más rápidas y restauraciones, pero requiere más espacio en disco. Considere estos factores que compiten entre sí al determinar si debe ajustar el tamaño del bloque.
En estas dos excepciones, el rendimiento mejora a medida que aumenta el tamaño del bloque sin necesidad de espacio en disco adicional:
carga de trabajo | impacto |
|---|---|
Actualización y eliminación intensivas | No importa cuán pequeño hagas el tamaño de bloque, todo el archivo de bloques se reescribe. Dado que todo el archivo siempre se reescribe, el espacio de almacenamiento no cambia si se cambia el tamaño del bloque. |
Solo inserción | Los bloques existentes nunca cambian. La gestión de bloques se simplifica a medida que se incrementa el tamaño de bloque. Esto permite obtener el mejor rendimiento posible en el snapshot y la restauración. |
Verifica la capacidad del disco antes de cambiar el tamaño del bloque
Antes de cambiar el tamaño del bloque, verifica que el almacenamiento en bloques de MongoDB pueda caber en el espacio actual del disco después del cambio. Las instantáneas después del cambio no pueden desduplicar bloques de instantáneas anteriores. Los tamaños de bloque no coincidirán. Esto da como resultado que el uso de disco de cada almacenamiento en bloques aumente en la medida de las implementaciones que respaldan.
Las Blockstores que no pueden almacenar bloques nuevos se bloquean. Esto bloquea las copias de seguridad. Libera espacio en el disco para devolver el almacenamiento en bloques a su funcionamiento normal.
Para comprobar si tiene suficiente espacio en disco para cambiar el tamaño del bloque de un trabajo determinado, complete el siguiente procedimiento:
Descubre la cantidad de espacio de disco disponible en el host que ejecuta el almacenamiento en bloques.
Estima la cantidad en que aumenta la utilización del almacenamiento en bloques cuando añade los bytes comprimidos de la siguiente snapshot. Revisa los bytes comprimidos de la snapshot más reciente de la tarea de copia de seguridad para hacer esa estimación.
Para revisar los bytes comprimidos, ejecute la siguiente query:
1 db.getSiblingDB("backupjobs").snapshots.findOne( 2 { 3 rsId : <rsId>, 4 groupId : <groupId>, 5 completed: true 6 }, { 7 compressedSize: 1 8 }, { 9 sort: { 10 startTime: -1 11 } 12 } 13 ) Aumente el valor que encontró para dejar algo de margen.
El uso de almacenamiento en bloques aumenta con la primera snapshot que se toma tras aumentar el tamaño del bloque. Las snapshots posteriores con ese nuevo tamaño de bloque también incrementan el blockstore. No todos sus bloques se deduplican con esa primera snapshot.
Si Ops Manager recupera espacio usando un almacenamiento en bloques (una tarea de limpieza intra-almacenamiento en bloques), el almacenamiento en bloques necesita una mayor cantidad de espacio de búfer. Durante una tarea de limpieza intra-almacenamiento en bloques, el almacenamiento en bloques asigna espacio temporalmente para lo siguiente:
los bytes muertos de instantáneas previamente caducadas
dos copias de los bytes vivos de todas las instantáneas completadas previamente
dos copias de los bytes de la nueva snapshot
Compara el espacio en disco encontrado en el paso 1 y en el paso 3. El espacio en disco calculado en el paso 3 debe encajar en el espacio en disco encontrado en el paso 1.
Si su host carece del espacio suficiente en el disco para cambiar el tamaño de bloque de una tarea determinada, intente una de las siguientes soluciones:
Agrega más espacio en disco para los blockstores.
Finalizar y reiniciar las copias de seguridad. Esto purga todas las instantáneas existentes.
Ejecutar una o más tareas de limpieza desde la página de administración de prioridad de limpieza para borrar algunos bytes muertos. Para ver cuánta data puedes limpiar realmente en cada tarea, revisa la página de administración de Uso de Recursos.
Agrega un nuevo almacenamiento en bloques y luego programa un trabajo de mantenimiento entre almacenamientos en bloques para algunas de las tareas de copia de seguridad.
Deje el tamaño del bloque sin cambios.
Ops Manager muestra el banner para aumentar el tamaño de bloque si nunca configuró el tamaño de bloque para una o más copias de seguridad con compatibilidad de características entre versiones 4.2 o posterior y un almacenamiento en bloques de MongoDB. Para descartar el banner, establece cualquier tamaño de bloque para todas las tareas de copia de seguridad. Puedes establecer el antiguo tamaño por defecto de bloque de 64 KB.
Si necesita ayuda, comuníquese con soporte de MongoDB
Nota
El uso de almacenamiento en bloques de almacenamiento aumenta drásticamente y luego incrementa gradualmente después de cambiar el tamaño de bloque. Este uso se reduce a medida que expiran las instantáneas tomadas con el antiguo tamaño de bloque. Como Ops Manager mantiene instantáneas mensuales entre uno y siete años, este uso podría tardar mucho en volver a los niveles previos al cambio del tamaño de bloque.
Procedimiento
Seleccione el tamaño mínimo de bloque deseado en el menú desplegable.
El rango de tamaños mínimos de bloque incluye:
64 KB
128 KB
256 KB
512 KB
1 MB
2 MB
4 MB
8 MB
15 MB (MongoDB) o 16 MB (S3)
Nota
El tamaño mínimo de bloque actualizado solo se aplica a los archivos nuevos y actualizados en las instantáneas futuras. Los bloques existentes no se redimensionan.