La copia de seguridad basada en Blockstore funciona de manera diferente según el FCV 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 agente MongoDB envía copias de archivos divididos en bloques.
El servicio de respaldo escribe estos bloques en el almacén de bloques.
Para los trabajos de respaldo con FCV 4.0 o anterior, el demonio de respaldo realiza las siguientes acciones:
Toma una instantánea de la base de datos principal
Divide esta instantánea en bloques
Escribe estos bloques en el almacén de bloques.
Los diferentes almacenes de bloques tienen distintos tamaños predeterminados y rangos de tamaños para los bloques.
Tipo de almacén de bloques | Rango de tamaño de bloque | Tamaño predeterminado |
|---|---|---|
MongoDB | 64 KB a 15 MB | 1 MB |
S3 | 64 KB a 16 MB | 16 MEGABYTE |
Para las copias de seguridad con FCV 4.2 o posterior, Ops Manager cambió el tamaño predeterminado del bloque del almacén de bloques de MongoDB de 64 KB a 1 MB. Este cambio mejora el rendimiento de las instantáneas.
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.
Tipo de almacén de bloques | Rango de tamaño de bloque | Tamaño predeterminado |
|---|---|---|
MongoDB | 64 KB a 15 MB | 64 KB |
S3 | 64 KB a 16 MB | 16 MEGABYTE |
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 del bloque resulta en instantáneas y restauraciones más rápidas, pero requiere más espacio en disco. Considere estos factores contrapuestos 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 sea el tamaño del bloque, se reescribe todo el archivo. Como siempre se reescribe todo el archivo, el espacio de almacenamiento no cambia si se modifica el tamaño del bloque. |
Sólo inserción | Los bloques existentes nunca cambian. La gestión de bloques se simplifica a medida que aumenta su tamaño. Esto permite el mejor rendimiento posible en instantáneas y restauraciones. |
Compruebe la capacidad del disco antes de cambiar el tamaño del bloque
Antes de cambiar el tamaño del bloque, compruebe que su almacén de bloques de MongoDB quepa en el espacio de disco actual tras el cambio. Las instantáneas posteriores al cambio no pueden deduplicar bloques de instantáneas anteriores. Los tamaños de bloque no coincidirán. Esto provoca que el uso del disco de cada almacén de bloques aumente según el tamaño de las implementaciones que respalda.
Los almacenes de bloques que no pueden almacenar nuevos bloques fallan. Esto impide las copias de seguridad. Libere espacio en el disco para que el almacén de bloques vuelva a funcionar correctamente.
Para comprobar si tiene suficiente espacio en disco para cambiar el tamaño del bloque de un trabajo determinado, complete el siguiente procedimiento:
Descubra la cantidad de espacio en disco disponible en el host que ejecuta el almacén de bloques.
Calcule cuánto aumenta el uso del almacenamiento en bloque al añadir los bytes comprimidos de la siguiente instantánea. Revise los bytes comprimidos de la instantánea más reciente del trabajo de copia de seguridad para realizar esa estimación.
Para revisar los bytes comprimidos, ejecute la siguiente consulta:
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 del almacenamiento del almacén de bloques se dispara con la primera instantánea tomada tras aumentar el tamaño del bloque. Las instantáneas posteriores con ese nuevo tamaño de bloque también amplían el almacén de bloques. No todos los bloques se deduplican con esa primera instantánea.
Si Ops Manager recupera espacio usando un almacén de bloques (una tarea de limpieza interna del almacén de bloques), este necesita mayor espacio de búfer. Durante una tarea de limpieza interna del almacén de bloques, este 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 instantánea
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.
Ejecute uno o más trabajos de limpieza desde la página de administración "Prioridad de Limpieza" para borrar algunos bytes inactivos. Para ver cuántos datos puede limpiar realmente con cada trabajo, consulte la página de administración "Uso de Recursos".
Agregue un nuevo almacén de bloques y luego programe una tarea de limpieza entre almacenes de bloques para algunos de los trabajos de respaldo.
Deje el tamaño del bloque sin cambios.
Ops Manager muestra el mensaje para aumentar el tamaño de bloque si nunca lo configuró para una o más copias de seguridad con FCV 4.2 o posterior y un almacén de bloques de MongoDB. Para cerrar el mensaje, configure cualquier tamaño de bloque para todos los trabajos de copia de seguridad. Puede configurar el tamaño de bloque predeterminado anterior de 64 KB.
Si necesita ayuda, comuníquese con el soporte de MongoDB
Nota
El uso del almacenamiento del almacén de bloques se dispara y aumenta gradualmente tras cambiar el tamaño del bloque. Este uso se reduce a medida que caducan las instantáneas tomadas con el tamaño de bloque anterior. Dado que Ops Manager conserva instantáneas mensuales durante entre uno y siete años, este uso podría tardar bastante tiempo en volver a los niveles previos al cambio de tamaño del bloque.
Procedimiento
Seleccione el tamaño de bloque mínimo 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 MEGABYTE
8 MEGABYTE
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 futuras instantáneas. Los bloques existentes no se redimensionan.