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
/ /

Configurar el tamaño de bloque en un almacenamiento en bloques

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:

  1. El MongoDB Agent envía copias de archivos divididos en bloques.

  2. 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.

Si cambias el tamaño del bloque, el siguiente snapshot se ejecutará como un snapshot completo en lugar de uno incremental.

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.

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:

  1. Descubre la cantidad de espacio de disco disponible en el host que ejecuta el almacenamiento en bloques.

  2. 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:

    1db.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)
  3. Aumente el valor que encontró para dejar algo de margen.

    1. 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.

    2. 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

  4. 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:

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.

1
  1. Haga clic en el Admin link.

  2. Haga clic en Backup.

  3. Haga clic en Jobs.

2
3
4

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.

5

Volver

Gestiona S3 almacenamiento de Oplog

En esta página