Uso de la tecnología de copias de sombra de volumen de Microsoft para hacer backups coherentes
Al crear una copia de seguridad de una máquina virtual o física con aplicaciones en ejecución, especialmente aquellas que escriben datos de forma intensiva en archivos y bases de datos, es fundamental garantizar la coherencia de los datos de la copia de seguridad. Disponer de datos de copia de seguridad coherentes facilita las recuperaciones sin corrupción de datos ni retrasos. Con este fin, Microsoft desarrolló la tecnología VSS.
Esta entrada del blog explica qué es el Servicio de Copias de Sombra de Volumen (VSS), cómo funciona y por qué esta tecnología es importante para realizar copias de seguridad de máquinas virtuales y físicas basadas en Windows.
¿Qué es VSS?
El Servicio de instantáneas de volumen (VSS), una característica nativa de los sistemas operativos Windows, facilita la creación de backups coherentes con las aplicaciones. Para lograr la coherencia de los datos del backup, ocurre lo siguiente:
- El VSS detiene temporalmente las operaciones de escritura realizadas por las aplicaciones.
- Los búferes de la memoria se escriben en el disco, es decir, se vacían, y el sistema de archivos se congela.
- Se crea una instantánea de volumen, también denominada «copia de sombra», en el sistema operativo Windows.
La copia de sombra de volumen, también conocida como Servicio de instantáneas de volumen, es un conjunto de COM (Modelo de Objetos Componentes) interfaces de Windows que proporcionan el marco necesario para crear backups coherentes para diferentes aplicaciones. VSS se lanzó por primera vez con Windows XP y Windows Server 2003.
Por qué se necesita la tecnología VSS
La coherencia de los datos de las aplicaciones es importante para las copias de backup de máquinas virtuales y máquinas físicas. La coherencia garantiza que las aplicaciones que se ejecutan en máquinas virtuales o físicas sean totalmente funcionales después de su restauración a partir de una copia de backup.
Sin VSS, se obtiene una copia de backup inconsistente. Este tipo de copia de backup se crea simplemente copiando cada bloque tal y como se encuentra en el momento de la copia. Supongamos que una aplicación, como una base de datos o una aplicación del sistema, utiliza continuamente un archivo. Esta aplicación modifica constantemente los datos del archivo abierto escribiendo o eliminando bloques. Mientras se copia la primera parte del archivo, los bloques utilizados por otras partes del mismo están cambiando. Para cuando las demás partes del archivo se copian en el repositorio de backups, los bloques de la primera parte ya han cambiado. El resultado son bloques de datos que no son coherentes y que no representan un único momento concreto en el tiempo.
Una forma de evitar esta situación es el backup de máquina virtual ( basado en instantáneas ). Cuando se inicia el proceso de backup, se toma una instantánea, es decir, una copia exacta de la máquina virtual. Durante este proceso, todos los discos de las máquinas virtuales (que se representan como archivos « .vmdk » en entornos VMware) pasan a ser de solo lectura. Para almacenar los cambios realizados durante el proceso de backup en el disco maestro, VMware ESXi crea un archivo delta vinculado al archivo principal « .vmdk ». Después de crear el archivo delta, el software de backup comienza a copiar datos del archivo de solo lectura « .vmdk ». Cuando finaliza el proceso de backup, el archivo delta se fusiona con el archivo « .vmdk ».
Este enfoque puede funcionar bien para sistemas de archivos con una carga no muy elevada, como el almacenamiento interno de archivos o los servidores web. Sin embargo, si el proceso de copia de seguridad se inicia en el momento en que se están ejecutando determinadas transacciones y hay operaciones de E/S (entrada/salida) en curso, se pueden perder datos. Cuando se utilizan aplicaciones o bases de datos como Microsoft SQL Server, Active Directory o Exchange Server, no basta con cerrar el archivo y añadirle datos a continuación. En este caso, el Servicio de instantáneas de volumen (VSS) puede ser de ayuda. Esta tecnología permite crear copias puntuales de archivos que están abiertos y en uso sin comprometer la integridad ni la usabilidad de dichas copias.
Cómo funciona el Servicio de instantáneas de volumen
Para comprender cómo funciona el VSS, primero debemos repasar los componentes que conforman esta función. Los componentes principales de VSS son:
- El proveedor de VSS es el componente central de VSS, que crea copias de sombra (instantáneas) de los volúmenes. El proveedor de VSS puede tener una implementación de software o de hardware. El proveedor de VSS de software de «copia al escribir» está incluido en el sistema operativo Windows. Los proveedores de hardware se suelen utilizar con almacenamiento SAN (red de área de almacenamiento). Los proveedores de hardware descargan la carga del sistema operativo del host al crear una copia de sombra.
- Los escritores son componentes de software que escriben datos en archivos y bases de datos para garantizar la coherencia. Cada aplicación compatible con VSS añade su escritor al sistema operativo durante la instalación. Algunos ejemplos de aplicaciones que proporcionan un escritor VSS son Microsoft SQL Server y Exchange Server.
- El solicitante es un componente de software que ordena al proveedor VSS que inicie o detenga su actividad (creación, eliminación o importación de copias de sombra). El solicitante puede ser un componente nativo de Windows (como NTBackup o Snapshot Manager para Hyper-V) o una aplicación de terceros, como un software de copias de seguridad.
- El servicio VSS es un componente del sistema operativo que garantiza que todos los demás componentes puedan comunicarse y funcionar entre sí.
Las instantáneas se toman a nivel de volumen, y VSS opera con bloques (y los bloques son utilizados por los archivos). Por eso no se pueden tomar instantáneas de archivos o carpetas. Una copia de sombra se puede almacenar en el mismo volumen o en otro volumen. El espacio del volumen asignado al almacenamiento de copias de sombra se denomina «área de diferencias».
La carpeta «System Volume Information» se utiliza para almacenar los archivos de copia de sombra de VSS. Estos archivos tienen identificadores del tipo 3517271a-d214-3a47-c5ea-01137a4fe675.
La tecnología VSS puede utilizarse como herramienta nativa de Windows para guardar copias en un momento determinado (instantáneas) de los volúmenes de disco. Estas copias permiten revertir los cambios y volver al estado guardado de todo el volumen o de archivos concretos. No obstante, se recomienda crear una copia de backup propiamente dicha que se guarde en un soporte externo para garantizar una protección de datos más fiable.
VSS es un procedimiento incremental: Windows puede crear varias instantáneas de volumen una tras otra. Después de crear la primera copia de sombra, VSS realiza un seguimiento de los cambios en los discos dividiendo los datos en bloques de 16 KB. Si se producen cambios en el disco, el servicio escribe este bloque completo en una copia de sombra. Como resultado, no es necesario copiar el conjunto completo de datos con cada nueva instantánea, sino que solo se copian los bloques modificados.
Requisitos y limitaciones principales de VSS :
- Se requieren al menos 300 MB de espacio en disco para crear instantáneas VSS.
- El número máximo de instantáneas de volumen es de 64 de forma predeterminada.
- El sistema Windows asigna el 10 % del espacio del volumen a las copias de sombra.
Tenga en cuenta que las instantáneas VSS activadas por una aplicación de copia de seguridad suelen eliminarse después del job de backup.
Herramientas nativas para la gestión de las copias de sombra de VSS
Puede utilizar las herramientas nativas de Windows para la gestión de las copias de sombra de volumen. Saber cómo funcionan con las instantáneas puede ayudar a comprender mejor la tecnología VSS y a resolver posibles problemas (por ejemplo, una instantánea VSS temporal que no se elimina después de hacer un backup completo).
Algunas opciones de VSS están disponibles en la interfaz gráfica de usuario de Windows, pero se puede acceder a todas las opciones desde la línea de comandos, lo cual nos resulta más interesante. Hay dos herramientas de VSS que se pueden utilizar en Windows PowerShell o CMD:
vssadmin– Disponible en todas las versiones de Windows a partir de Windows XP (incluido Windows 10), excepto Windows 8.diskshadow– Disponible únicamente en las versiones de Windows Server. Se trata de una implementación avanzada de vssadmin , que permite no solo trabajar en modo interactivo, sino también crear scripts.
Ten en cuenta que estas dos utilidades son diferentes y funcionan en contextos distintos. Una copia de sombra creada en vssadmin no se puede gestionar en diskshadow y viceversa. Puede ver la instantánea creada con una herramienta diferente, pero no puede realizar ninguna acción con ella.
La API del Servicio de instantáneas de volumen (VSS) está disponible para permitir que las aplicaciones de copia de seguridad utilicen VSS y creen copias de seguridad coherentes con las aplicaciones para garantizar la coherencia de los datos de copia de seguridad.
Las máquinas virtuales de VMware que ejecutan Windows utilizan el componente VMware VSS como controlador VSS en un sistema operativo Windows invitado para la puesta en estado de reposo. El controlador se instala al instalar VMware Tools. En otros casos, cuando se utilizan versiones antiguas de Windows, se utiliza un controlador SYNC. Aquí hay un Lista de sistemas operativos invitados compatibles sistemas para la puesta en estado de reposo coherente con las aplicaciones en entornos VMware.
Cómo se crea una copia de sombra
Una vez creada una copia de sombra (instantánea de volumen), su tamaño es de 0 bytes. Cuando se escriben nuevos datos, estos se escriben en el disco (donde normalmente deberían estar), pero los datos antiguos se escriben en una copia de sombra para que puedas restaurarlos más tarde. Como resultado, el tamaño de la copia de sombra aumenta.
Existen dos enfoques principales para escribir datos al crear una instantánea:
Redirect on write (RoW): Escribir nuevos bloques en una instantánea (copia de sombra) y guardar metadatos con información sobre en qué bloques del disco deben escribirse. Este enfoque implica una escritura rápida de datos, pero una lectura lenta de los mismos. Si necesitas revertir al estado inicial en el que se creó la instantánea, basta con eliminarla, lo que lleva unos segundos (es casi instantáneo). El enfoque RoW se utiliza para crear instantáneas de los discos virtuales de las máquinas virtuales (VMDK) en VMware ESXi y VMware estación de trabajo.Copy on Write (CoW): Escribir nuevos bloques en el lugar necesario del disco y enviar el contenido de los bloques reescritos a una instantánea. La escritura es lenta, pero la lectura es rápida. Las instantáneas anteriores (estados de datos anteriores) se eliminan en unos segundos (casi al instante). El enfoque CoW se utiliza para las instantáneas VSS.
Dada la gran cantidad de aplicaciones diferentes que pueden escribir datos en los discos, Microsoft creó una interfaz unificada con VSS para notificar a todas las aplicaciones que se va a crear una instantánea después de iniciar su creación. La idea del mensaje de notificación es: El sistema creará una instantánea: detén tus actividades de escritura y vacía los búferes de escritura en los discos para que los datos alcancen un estado coherente.
El flujo de trabajo para crear una instantánea VSS es el siguiente:
- El solicitante de VSS comprueba los servicios disponibles con los que puede comunicarse, enumera los escritores y recopila los metadatos.
- Después de recopilar una lista de escritores, el solicitante se comunica con el proveedor de VSS e indica qué datos desea incluir en la instantánea y dónde debe ubicarse esta. En la mayoría de los casos, la instantánea se encuentra en el mismo volumen del disco original. En otros casos, los proveedores de hardware SAN pueden crear un volumen independiente para una instantánea, denominado «instantánea de almacenamiento».
-
Preparación para el backup. Este paso implica solicitar el estado real de los escritores VSS (después de obtener los metadatos) y prepararse para la operación más importante, en la que los escritores deben actuar uno tras otro. Se notifica a los escritores que deben prepararse para la creación de la instantánea. Se vacía el búfer del sistema y se congela la aplicación para garantizar que se pueda realizar una copia coherente de los datos. Cada escritor debe completar su tarea en el tiempo asignado, que por defecto es de 60 segundos. Microsoft Exchange Server solo dispone de 20 segundos para esta operación (este tiempo lo establece Microsoft).
Nota: 20 segundos es un periodo breve. Si una aplicación no puede completar la tarea en este tiempo, los escritores devuelven un error y no se realiza la instantánea. Si el rendimiento del almacenamiento no es suficiente para cumplir este límite de tiempo, puede intentar actualizar su hardware para solucionar este problema. Por ejemplo, puede cambiar los discos duros (HDD) por dispositivos de almacenamiento SSD. Como alternativa, puede intentar migrar otras cargas de trabajo a otro almacenamiento y utilizar almacenamiento dedicado exclusivamente para la máquina en la que se ejecuta Microsoft Exchange Server. Compruebe los registros para detectar qué escritor ha fallado en la tarea de creación de la instantánea.
-
Si todo está bien y la actividad del sistema está congelada, VSS indica que el proveedor puede crear una copia de sombra. Solo hay 10 segundos para crear una instantánea. Las solicitudes de E/S del sistema de archivos no están disponibles temporalmente durante este periodo. Este es el momento en el que también se puede crear una instantánea de la máquina virtual. Una vez transcurridos los 10 segundos, todos los escritores se desbloquean y las operaciones de entrada/salida (E/S) vuelven a estar activas.
Nota: Si los proveedores de VSS tardan más de 10 segundos en confirmar la copia de sombra, la operación falla.
- VSS indica a los programas de escritura que las aplicaciones pueden desbloquear las solicitudes de E/S y continuar escribiendo datos en los discos. Si utilizamos una aplicación de backup y se ha creado una instantánea de backup mediante el servicio VSS de Windows, la instantánea de VSS se puede eliminar. Esta operación la puede realizar la propia aplicación de backup. Como alternativa, puede eliminar una instantánea de volumen con
diskshadowovssadmin.Si tiene problemas con VSS, reiniciar el equipo puede solucionarlos en muchos casos cuando otros métodos no funcionan. Algunos problemas relacionados con las limitaciones de tiempo (por ejemplo, 10 segundos para crear una instantánea) pueden solucionarse actualizando el hardware, incluidos los dispositivos de disco, o reduciendo la carga del sistema.
Intente crear una instantánea manualmente y compruebe si se ajusta al tiempo asignado de 20 segundos (utilizando Exchange Server como ejemplo). En caso de fallo, reinicie el sistema, reduzca la carga y vuelva a intentarlo.
A partir de Windows Server 2012, VSS admite recursos compartidos de archivos SMB en Windows. La tecnología VSS resulta muy útil con los recursos compartidos de archivos, ya que los usuarios y las aplicaciones pueden escribir en ellos de forma continua, lo que hace que hacer backup de los recursos compartidos sea un reto sin VSS. NAKIVO Backup & Replication 10.7 es compatible con backup de recursos compartidos.
Cómo funciona el Servicio de instantáneas de volumen en la solución de NAKIVO
Hemos analizado cómo funciona VSS en general. Ahora veamos cómo funciona la tecnología VSS al crear copias de seguridad de máquinas virtuales de VMware vSphere con un software de copia de seguridad específico como NAKIVO Backup & Replication.
En resumen, el Servicio de instantáneas de volumen funciona de la siguiente manera: el solicitante inicia el proveedor de VSS. El proveedor redirige a los escritores para que escriban los datos en un archivo de registro y comienza a crear la instantánea del volumen. Una vez que el solicitante envía la señal de parada al proveedor (normalmente después de que la instantánea esté lista), este comienza a transferir los datos del archivo de registro al volumen.
En este caso, NAKIVO Backup & Replication se convierte en un solicitante de VSS al hacer backup de una máquina virtual de VMware vSphere utilizando VSS.
- Antes de que comience el backup de la máquina virtual, la solución NAKIVO escribe los datos a través de su escritor VSS.
- Al iniciarse el backup, NAKIVO Backup & Replication solicita al proveedor de VSS que comience a trabajar. El escritor redirige los datos al archivo de registro mientras el volumen se «congela».
- NAKIVO Backup & Replication comienza a crear una instantánea en la capa de la máquina virtual. Esto puede tardar desde unos segundos hasta varios minutos, dependiendo de la carga del almacenamiento VMFS. Durante este tiempo, el escritor sigue escribiendo datos en el archivo de registro.
- Se ha creado correctamente una instantánea de la máquina virtual. NAKIVO Backup & Replication, como solicitante, envía la señal al proveedor para que deje de funcionar.
- El proveedor VSS transfiere los cambios del archivo de registro al volumen. NAKIVO Backup & Replication copia el bloque de datos de la instantánea de la máquina virtual al repositorio de backups.
Se puede configurar el modo App-aware para garantizar la coherencia de los datos de la copia de backup en el asistente, en el paso
Options. De esta forma, se habilita VSS en un equipo con Windows para realizar la copia de seguridad de dicho equipo.
Conclusión
El Servicio de instantáneas de volumen (VSS) es una tecnología excelente para mantener la coherencia de los backups de máquinas virtuales, pero solo funciona en equipos con Windows. Para crear backups coherentes de equipos con Linux, debe implementar scripts especiales de pre-congelación y post-descongelación. La solución de NAKIVO también ofrece backups coherentes automatizados para servidores y estaciones de trabajo Linux.



