Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
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 almacenamiento en bloques.

Cuando se respalda la implementación en un almacenamiento en bloques, ocurren 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 del tamaño del 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 tus blockstores incluyen copias de seguridad con archivos mayores de 100 GB, considera usar un tamaño de bloque de 2 MB o más. Si necesitas ayuda para elegir un tamaño de bloque, contacta con 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 requerir espacio adicional en disco:

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 tienes suficiente espacio en disco para cambiar el tamaño del bloque de una tarea determinada, completa 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. Escalar el valor que encontraste para dejar un margen de reserva.

    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 gigabytes eliminados de instantáneas previamente vencidas

      • 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. Haz clic en 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