En los últimos años, las copias instantáneas (también llamadas snapshots, puntos de control o checkpoints) de las Máquinas Virtuales han ganado popularidad como alternativa a las copias de seguridad. Las copias instantáneas permiten revertir el estado de un sistema a un estado previo sin necesidad de manipular unidades de memoria ni tener que esperar a que se complete una restauración. Sin embargo, a pesar de esas ventajas, los puntos de control no constituyen una verdadera alternativa a las copias de seguridad. De hecho, las copias instantáneas tienen varios inconvenientes importantes que los profesionales de la informática deberían tomarse muy en serio, pero empecemos por definir brevemente la diferencia entre puntos de control (checkpoints) y copias instantáneas (snapshots).
¿En qué se diferencia un punto de control (checkpoint) de una copia instantánea (snapshot)?
La respuesta breve es que no existe ninguna diferencia desde un punto de vista técnico. Son la misma cosa. El término snapshot (copia instantánea) fue popularizado por la plataforma VMware vSphere, plataforma de virtualización con la que se iniciaron muchos profesionales de las TI. Hyper-V siguió utilizando el mismo término durante algún tiempo, pero finalmente adoptó el término alternativo punto de control. Es decir, los dos términos designan una misma cosa pero aplicada en diferentes plataformas. VMware = Snapshot (Copia instantánea). Hyper-V = Checkpoint (Punto de control).
¿Cuándo deberíamos utilizar copias instantáneas?
Los puntos de control permiten revertir de forma casi instantánea un sistema a su estado previo. Lo que hace que una copia instantánea pueda hacer eso es que, a diferencia de una copia de seguridad, un snapshot no realiza una copia de nuestros datos.
Eso no significa que tengamos que evitar utilizar los puntos de control en cualquier caso. Los puntos de control tienen su función. Los puntos de control son muy eficaces para proteger una máquina virtual antes de un cambio de configuración. En el caso de que un cambio de configuración cause problemas a una máquina virtual, la copia instantánea será una forma efectiva de deshacer dicho cambio.
Los puntos de control también pueden ser útiles en caso de actualizaciones o ampliaciones de software. Si, por ejemplo, la actualización de un sistema operativo deja a una máquina virtual en un estado en el que no puede arrancar, una copia instantánea permitirá revertir el sistema operativo de la máquina virtual a su estado previo a la actualización. El mismo concepto básico se aplica a las actualizaciones de software y a la instalación de parches (patches).
Anatomía de una copia instantánea o snapshot
Para comprender por qué las copias instantáneas no constituyen una alternativa a las copias de seguridad, es necesario entender cómo funcionan. Existen diferentes tipos de puntos de control, pero para nuestro propósito, hablaremos de cómo trabajan en Hyper-V de Microsoft.
La gran mayoría de máquinas virtuales Hyper-V utilizan uno o varios discos duros virtuales. Un disco duro virtual es sencillamente un archivo VHD o VHDX que se comporta como un disco duro para una máquina virtual. Al igual que un disco duro físico, un archivo de disco duro virtual puede tener volúmenes, sistemas de archivos y, naturalmente, archivos. En circunstancias normales, un archivo de disco duro virtual se puede leer/escribir, es decir que la máquina virtual puede grabar y leer datos en el disco duro virtual. Aunque esto pueda parecer obvio, vamos a ver por qué es importante.
Cuando un administrador crea un punto de control para una máquina virtual Hyper-V, no realiza una copia de seguridad del archivo de disco duro virtual. Lo que hace Hyper-V es poner el disco duro virtual en un estado de solo lectura. Al estar el disco duro virtual en estado de solo lectura, Hyper-V crea un disco de diferenciación que se integra en la máquina virtual. Este disco de diferenciación es básicamente un archivo de disco duro virtual con una relación padre/hijo con el archivo de disco duro virtual original de la MV. A continuación, mostramos un esquema de esta configuración.
Dado que el disco duro virtual original de la MV es ahora un archivo de solo lectura, todas las operaciones de escritura son dirigidas al disco de diferenciación. Esto garantiza la integridad de los contenidos del disco duro virtual original.
Supongamos ahora que un administrador crea un punto de control para una máquina virtual Hyper-V y luego intenta actualizar una aplicación que estaba activa en la MV. Supongamos además que el proceso de actualización de la aplicación ha fallado, dejando la máquina virtual en un estado no deseado. El administrador podrá restaurar fácilmente el estado anterior aplicando el punto de control.
Cuando el administrador aplica el punto de control, Hyper-V borra el disco de diferenciación y reanuda las operaciones de lectura/escritura en el disco duro virtual original (en realidad existen varias opciones de aplicación del punto de control, pero este es el caso de uso más sencillo). Llegados a este punto, la máquina virtual vuelve a su funcionamiento normal.
¿Por qué los puntos de control no sustituyen a las copias de seguridad?
El principal motivo por el que los puntos de control no sustituyen a las copias de seguridad de una forma efectiva, es que el proceso de puntos de control no crea una copia del disco duro virtual. Por lo tanto, los puntos de control no representan una protección contra los fallos físicos del disco duro ni contra daños que afecten al archivo de disco duro virtual. En caso de daños o de destrucción de un disco duro virtual, las copias instantáneas de la máquina virtual resultarían inútiles debido a que dependen del archivo de disco duro virtual.
Otro aspecto a tener en cuenta es que los discos de diferenciación utilizados en el proceso de puntos de control suelen estar físicamente ubicados en el mismo volumen que el disco duro virtual. Por lo tanto, si el volumen resulta dañado, la probabilidad de perder tanto el disco duro virtual como los discos de diferenciación es alta.
Capacidad de recuperación limitada
Otro motivo importante por el que los puntos de control son un mal sustituto de las copias de seguridad es que no permiten recuperar elementos de forma individualizada. Un punto de control puede servir para revertir a un estadio previo una máquina virtual completa, pero no para recuperar un archivo o una aplicación de esa máquina virtual.
Esto nos lleva a abordar otro punto importante. Los puntos de control pueden causar problemas importantes a los servidores de aplicaciones. Las primeras versiones de Hyper-V eran conocidas por sus problemas de corrupción de datos al aplicar puntos de control en los servidores de aplicaciones. Microsoft acabó solucionando ese problema con la introducción de puntos de control de producción. Pero los puntos de control de producción no resuelven todos los problemas de consistencia que pueden causar los puntos de control.
Muchos servidores de aplicaciones tienen dependencias con otros servidores. Una aplicación puede, por ejemplo, estar vinculada a un servidor SQL, a una interfaz Web o a un servidor LDAP. Al utilizar un punto de control para revertir a un estado previo un servidor de aplicaciones, existe el riesgo de crear un problema de consistencia debido a que los otros servidores de dependencia no realizan un proceso similar. Naturalmente, el riesgo de que esto ocurra varía según la aplicación y el rol de la máquina virtual, pero la consistencia de la aplicación siempre debe ser tenida en cuenta al utilizar puntos de control.
Los puntos de control pueden perjudicar el rendimiento de las máquinas virtuales
Uno de los principales motivos por los que los puntos de control deben ser utilizados con cautela es que pueden degradar significativamente el rendimiento de una máquina virtual. Es probable que el impacto sobre el rendimiento no sea importante al principio, pero a medida que se creen puntos de control adicionales, ese impacto aumenta de forma muy significativa.
El motivo por el que los puntos de control pueden afectar al rendimiento tiene que ver con la forma en que trabajan. Como ya hemos comentado, los puntos de control redirigen las operaciones de escritura hacia un disco de diferenciación. Veamos, pues, qué ocurre cuando una máquina virtual realiza una operación de lectura.
La MV intenta leer datos del disco de diferenciación (recordemos que el disco de diferenciación es el que contiene los datos más recientes). Si la MV no encuentra lo que busca en el disco de diferenciación, intentará leer los datos en el disco duro virtual original.
Supongamos ahora que un administrador crea un punto de control adicional para una máquina virtual. Hyper-V tratará el disco duro de diferenciación como disco de solo lectura y creará un nuevo disco de diferenciación. A partir de ese momento, todas las operaciones de escritura serán redirigidas hacia ese disco de diferenciación. El siguiente diagrama refleja esa acción:
Ahora, cuando la máquina virtual intente realizar una operación de lectura, buscará primero los datos en el último disco de diferenciación creado. Si ese disco de diferenciación no contiene los datos solicitados, la máquina virtual los buscará en el disco de diferenciación creado previamente. Si tampoco encuentra los datos, Hyper-V intentará leer los datos en el disco duro virtual original. Por lo tanto, cada punto de control creado tiene el potencial de afectar un poco más al rendimiento de lectura de la máquina virtual. En última instancia, esto acaba reduciendo la rentabilidad.
Todo esto no significa que los puntos de control y las copias instantáneas no sean excelentes en la realización de su función (que no es la de realizar copias de seguridad), pero deben ser gestionados y mantenidos como lo que son.
Fuente: Tech 2 Business