Se ha propuesto el mecanismo blksnap para crear instantáneas de dispositivos de bloques en Linux

La empresa Veeam, que desarrolla software para copias de seguridad y recuperación ante desastres, ha propuesto incluir en el núcleo de Linux un módulo blksnap que implementa un mecanismo para crear instantáneas de dispositivos de bloque y rastrear cambios en estos dispositivos. Para trabajar con las instantáneas, se ha preparado la utilidad de línea de comandos blksnap y la biblioteca blksnap.so, que permiten interactuar con el módulo del núcleo a través de llamadas ioctl desde el espacio de usuario.

El objetivo de crear el módulo es organizar la copia de seguridad de los almacenamientos y discos virtuales sin detener el funcionamiento; el módulo permite guardar en una instantánea el estado actual de todo el dispositivo de bloque, proporcionando un corte aislado para la copia de seguridad, independiente de los cambios que continúan ocurriendo. Una característica importante de blksnap es la posibilidad de crear simultáneamente instantáneas de varios dispositivos de bloque, lo que no solo asegura la integridad de los datos a nivel de dispositivo de bloque, sino que también logra la coherencia del estado de diferentes dispositivos de bloque en la copia de seguridad.

Para rastrear cambios en la subestructura de dispositivos de bloque (bdev), se ha añadido la capacidad de adjuntar filtros que permiten interceptar solicitudes de entrada/salida. En blksnap se ha implementado un filtro que intercepta las solicitudes de escritura, lee el valor antiguo y lo guarda en una lista separada de cambios que determina el estado de la instantánea. Con este enfoque, la lógica de trabajo con el dispositivo de bloque no cambia; la escritura en el dispositivo de bloque original se realiza tal como está, independientemente de las instantáneas, lo que elimina la posibilidad de corrupción de datos y permite evitar problemas incluso en caso de errores críticos inesperados en blksnap y desbordamiento del espacio asignado para cambios.

El módulo permite, entre otras cosas, identificar qué bloques han cambiado en el intervalo de tiempo entre la última y cualquier instantánea anterior, lo que puede ser útil para implementar copias de seguridad incrementales. Para guardar los cambios en relación con el estado de la instantánea, se puede reservar un rango arbitrario de sectores en cualquier dispositivo de bloques, lo que permite almacenar cambios en archivos separados dentro del sistema de archivos en dispositivos de bloques. El tamaño del área de almacenamiento de cambios puede incrementarse en cualquier momento, incluso después de haber creado la instantánea.

Blksnap se basa en el código del módulo veeamsnap, que forma parte del producto Veeam Agent for Linux, pero ha sido reformulado teniendo en cuenta las especificidades de su inclusión en el núcleo principal de Linux. La principal diferencia conceptual entre blksnap y veeamsnap es el uso de un sistema de filtros que se adjunta al dispositivo de bloques, en lugar de un componente separado bdevfilter que intercepta las operaciones de entrada/salida.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster