¿Qué es una copia de seguridad coherente con las aplicaciones?
En lo que respecta a las copias de seguridad, hay un amplio intervalo de opciones que debes tener en cuenta para lograr una recuperación de datos rápida y satisfactoria. Entre estas opciones se incluyen el tipo de copia de seguridad, la frecuencia, el origen, el destino y muchas otras. Hoy en día, ya no basta con que las soluciones de copia de seguridad se limiten a capturar archivos en un disco, dado que la mayoría de las organizaciones utilizan servidores para ejecutar aplicaciones. Las copias de seguridad de archivos «inconsistentes» no son adecuadas para alcanzar unos objetivos de tiempo de recuperación (RTO) y de punto de recuperación (RPO) óptimos.
Anteriormente hemos hablado de las copias de seguridad de « Backups coherentes», que son consistentes para un volumen del que se ha realizado una copia de seguridad mediante « Volume Shadow Copy Service (VSS)». Sin embargo, también es posible crear copias de seguridad consistentes de aplicaciones. La mayoría de las soluciones de copia de seguridad para máquinas virtuales y físicas del mercado ofrecen una opción para copias de seguridad coherentes con las aplicaciones, lo que hace que las aplicaciones estén disponibles inmediatamente después de que se recupere una máquina virtual o una máquina física.
Backups coherentes con las aplicaciones: cómo funcionan
Las copias de backup coherentes con las aplicaciones son aquellas que garantizan que todos los datos de una aplicación se capturen en un estado coherente, lo que asegura que dichos datos puedan restaurarse por completo sin corrupción ni problemas de integridad. Estas copias de backup van más allá de la simple copia de archivos o datos del disco, ya que se coordinan con la aplicación para suspender (pausar temporalmente o estabilizar) sus operaciones y garantizar que todos los datos en tránsito se graben en el disco antes de que comience el proceso de backup.
Los backups coherentes con la aplicación van un paso más allá de los backups coherentes ante fallos. Aunque los backups coherentes ante fallos crean backups coherentes de los archivos de un volumen utilizando el {3}, no tienen en cuenta los datos de la aplicación que puedan encontrarse en memoria, ni las operaciones I/O pendientes. Las copias de seguridad coherentes con las aplicaciones aprovechan los enlaces especiales proporcionados por el Volume Shadow Copy Service, denominados VSS writers. Los
VSS writers son componentes especiales específicos de la aplicación de Microsoft’s Volume Shadow Copy Service. Desempeñan la función específica de garantizar que los datos de la aplicación se vacíen correctamente de la memoria, se congelen el tiempo suficiente para que se pueda realizar una instantánea VSS y, después de realizar la instantánea, se descongelen. El proceso suele durar solo unos segundos.
Este proceso es importante para aplicaciones que requieren consistencia transaccional, como Microsoft SQL Server. Los Microsoft VSS writers para SQL Server son capaces de vaciar los datos de la memoria, congelar las operaciones SQL y, después de tomar la instantánea, liberar la congelación. Esto garantiza que los datos que se encuentran en la memoria y las operaciones de datos pendientes I/O se vacíen y se gestionen adecuadamente antes de que la operación de instantánea tome la VSS instantánea del disco.
Esto hace que la operación de backup sea «consistente con la aplicación», ya que no solo se hace backup del disco, sino también de la aplicación en un estado en el que se mantiene la consistencia transaccional. Si solo utilizamos una copia de seguridad consistente ante fallos sin activar las funciones coherentes con las aplicaciones, existe una gran probabilidad de que nos quedemos con una aplicación que no se encuentre en un estado consistente.
La consistencia de la aplicación no solo es una preocupación en el momento en que se lleva a cabo la operación de copia de seguridad. Es, y debe ser, una preocupación también para las operaciones de recuperación. Podemos restaurar con éxito un servidor de aplicaciones, como Microsoft Exchange Server o SQL Server, a partir de un backup coherente ante fallos. Sin embargo, debemos utilizar el proceso que requieren dichas aplicaciones para que la aplicación alcance un estado coherente. Esto puede incluir, entre otras cosas, la reproducción de registros. Por eso, el tiempo necesario para restaurar esos servidores incluirá no solo el tiempo que se tarda en restaurar los recursos de los archivos sin procesar —ya se trate de una máquina virtual VMware o Hyper-V o de una máquina física—, sino también el tiempo que se tarda en llevar la aplicación a un estado coherente.
Creación de jobs de backup coherentes con las aplicaciones con NAKIVO Backup & Replication
A continuación, vemos un ejemplo de un job de backup en NAKIVO Backup & Replication. Debe seleccionar App-aware mode así como cómo desea que proceda el job si encuentra errores con VSS en la página Options del asistente.

Si pasa el ratón por encima del icono del «signo de interrogación» situado junto al cuadro «app-ware», podrá ver una descripción detallada del proceso de «app-ware» y las dependencias. Tenga en cuenta la mención, en el caso de las máquinas virtuales de VMware, de {16}. VMware Tools se utiliza para el sistema operativo invitado, mientras que en estado de reposo se utiliza para los datos de la aplicación.

VSS Writers y Solución de problemas
Como se ha mencionado, VSS writers son los componentes específicos de aplicaciones con fines especiales de Volume Shadow Copy Servicede Microsoft. Estos pueden ser componentes de Microsoft o de terceros que, por lo general, se instalan junto con la propia aplicación. En el caso de los componentes de Microsoft VSS writer , estos se pueden ver instalados en función de una aplicación específica. Los controladores de dominio tendrán el escritor «NTDS», SQL Server tendrá el «SqlServerwriter» y Exchange Server tendrá el «Microsoft Exchange Writer». A la hora de solucionar problemas relacionados con VSS writers , si surge algún problema con los backups coherentes con las aplicaciones, disponemos de varias utilidades y recursos para la resolución de problemas.
Una excelente utilidad de línea de comandos para ver y solucionar los problemas de los VSS writers específicos que están activos, así como el estado de estos escritores, es el comando vssadmin . Si abres un símbolo del sistema y simplemente escribes vssadmin , podrás ver los comandos específicos que están disponibles con vssadmin.

Mediante el comando vssadmin list writers , podemos ver la lista detallada de los VSS writers especiales utilizados para diversas aplicaciones. Fíjate en que a continuación hemos ejecutado el comando en un Microsoft SQL Server. Aparece en la lista el SqlServerWriter . Además, fíjate en las notaciones State y Last error , ya que resultan muy útiles para ver el estado actual y cualquier error que pueda existir en ese VSS writerconcreto.

La siguiente captura de pantalla procede de un controlador de dominio {36} . Ten en cuenta que, para este servidor, el comando vssadmin list writers muestra el registrador NTDS , específico de los Servicios de dominio de Active Directory.

Como se ha señalado anteriormente, VMware Tools es una parte esencial del procesamiento coherente con las aplicaciones dentro de una máquina virtual. De forma predeterminada, el registro de VMware Tools no está activado. Al solucionar problemas con VSS en una máquina virtual, es posible que tengamos que habilitar el registro de VMware Tools dentro del sistema operativo invitado. Para ello, debemos editar o crear el archivo tools.conf en nuestra máquina virtual.
A continuación, se muestra que el archivo no estaba presente en nuestra máquina virtual Windows Server 2016 . Tras acceder al directorio C:ProgramdataVMwareVMware Tools , creamos el archivo de configuración. Asegúrate de que las extensiones estén visibles para nombrar correctamente el archivo.

Después de crear el archivo, debemos editarlo y añadir lo siguiente según el sistema operativo correspondiente. Ten en cuenta que, en Windows, hay que utilizar dos barras invertidas para la ruta de datos de las herramientas. También puedes utilizar una sola barra en Windows.
Sistemas invitados Windows
[logging]
log = true
vmtoolsd.level = debug
vmtoolsd.handler = file
vmtoolsd.data = c:windowstempvmtoolsd.log
Sistemas invitados Linux
vmtoolsd.data = /tmp/vmtoolsd.log
Después de crear o editar el archivo, basta con reiniciar el VMware Tools service.

El archivo de registro resultante contiene información de depuración, incluida la información de funcionamiento de VSS . A continuación se muestra un fragmento de un registro de depuración bastante limpio justo después de habilitar el modo de depuración de VMware Tools.

Además, es recomendable que, al solucionar cualquier error relacionado con VSS , consultes los registros de eventos de Windows, en particular los registros de Aplicaciones y del Sistema. Las entradas del registro de Aplicaciones aparecerán con el origen VSS , y las del registro del Sistema aparecerán bajo el origen volsnap. También hay Pasos específicos para la resolución de problemas de {57} que puedes consultar para examinar y solucionar errores relacionados con VMware Tools, como VSS .
Conclusión
El uso de backups de máquinas virtuales coherentes con las aplicaciones para aplicaciones críticas para el negocio es esencial para contar con una estrategia sólida de recuperación ante desastres al hacer backup de aplicaciones que dependen de la consistencia transaccional. Los backups coherentes con las aplicaciones permiten que todos los datos que se encuentran en memoria, así como las operaciones pendientes I/O , se vacíen al disco antes de que se realice el backup coherente del disco. Esto se consigue mediante Volume Shadow Copy Service escritores especiales que se comunican con la aplicación específica y congelan adecuadamente las operaciones el tiempo suficiente para que la aplicación se haga backup con consistencia transaccional. Para las organizaciones que desean proteger los datos y poder restaurar los datos de las aplicaciones lo más rápidamente posible, la restauración de copias de seguridad coherentes con las aplicaciones evita la necesidad de restaurar los datos de la aplicación por separado, como la reproducción de registros, etc. Esto garantiza que las organizaciones puedan cumplir tanto los objetivos de punto de recuperación como los objetivos de tiempo de recuperación.