Prácticas recomendadas de instantáneas de VMware
Las máquinas virtuales de VMware vSphere ofrecen potentes capacidades que proporcionan entornos ágiles, versátiles y eficientes para el software. Una de las funciones más útiles de vSphere es la posibilidad de realizar instantáneas y volver al estado anterior de una máquina virtual cuando sea necesario utilizando las instantáneas. Pero esta tecnología tiene sus limitaciones.
En este artículo, aprenderá sobre las instantáneas de VMware y sus casos de uso práctico. También le guiaremos a través de las prácticas recomendadas de instantáneas de VMware y le explicaremos cómo crear una instantánea en VMware vSphere Client y a través de PowerCLI.
¿Qué es una instantánea de VMware?
Una instantánea de VMware es una versión puntual de una máquina virtual, y esta versión se registra en los archivos correspondientes de la máquina virtual. Una instantánea se puede utilizar para volver al estado de una máquina virtual en un momento anterior, junto con los datos y otros ajustes. La instantánea de disco VMware es un registro de cambios de un disco virtual grabado en el archivo de instantánea correspondiente.
Una instantánea de VM incluye:
- Estado del disco de la máquina virtual, el contenido del disco de la máquina.
- Estado de memoria de la máquina virtual y estado de energía de la máquina virtual, la huella de memoria en el momento de la instantánea, que permite capturar el estado de energía de la máquina virtual.
- Ajustes de la máquina virtual, incluidos dispositivos, tarjetas de red virtuales, etc. Por ejemplo, podría tomar una instantánea de una máquina virtual sin un NIC virtual secundario (controlador de interfaz de red (NIC)). Entonces, si añades una NIC secundaria y vuelves a la instantánea, la NIC desaparecerá, ya que la instantánea incluye la configuración y no sólo los datos y el estado.
VM Backup vs Instantáneas
La principal diferencia entre backups e instantáneas es que los backups son copias de VM independientes de los archivos de la VM de origen, mientras que las instantáneas dependen de la VM original. Por eso, aunque una instantánea sea una versión puntual de una máquina virtual, incluidos los archivos, el estado y las configuraciones de la máquina virtual, no se puede utilizar como backup de una máquina virtual de vSphere. Si utilizas instantáneas como backups, puede que te encuentres con la imposibilidad de recuperar datos y máquinas virtuales tras un fallo.
- Las instantáneas dependen de los archivos de la máquina virtual de origen utilizados para crearlas. Las instantáneas pueden conocerse como discos de diferenciación, ya que en realidad son un conjunto de información delta en relación con el disco «base». A veces se denominan «cadenas» de instantáneas debido a esta interrelación entre el disco hijo/delta y los discos base de los que dependen. Si se borran los discos base de los que dependen las instantáneas, éstas no contendrán los datos necesarios para recrear los datos borrados.
- Los backups son copias de datos independientes que permiten recrear archivos de máquinas virtuales, discos y registros completos de máquinas virtuales sin depender de los datos de producción ni de los discos virtuales contenidos en la máquina virtual.
Casos prácticos de uso de las instantáneas de VMware
A menudo, las instantáneas se utilizan para operaciones rápidas del tipo «aclarar y repetir», especialmente en un entorno de desarrollo. Se puede crear una instantánea antes de probar un determinado proceso de software en una máquina virtual, como pruebas de aplicaciones, mejoras, actualizaciones o parches. La máquina virtual puede entonces revertirse rápidamente a un estado anterior, devolviendo la VM a la condición en la que se encontraba antes de ejecutar la actualización de software, mejora, etc.
VMware no admite la ejecución de instantáneas en producción ni las implantaciones a largo plazo de instantáneas. No deben dejarse activas durante mucho tiempo, ya que pueden reducir el rendimiento o provocar problemas de espacio en disco si no se controlan.
Aunque las instantáneas no son iguales que los backups, pueden utilizarse temporalmente para crear una copia de seguridad. Por ejemplo, la solución de NAKIVO utiliza esta técnica para hacer backups de VMware VM. La solución toma instantáneas de las máquinas virtuales para crear un backups de VM coherentes incluso si la VM está en ejecución (al crear un backup de VM a nivel de host). Después de haber creado con éxito un backup de VM, la instantánea se elimina.
Extensión de archivo de instantáneas de VMware
En la implementación de VMware, las instantáneas de máquinas virtuales se componen del siguiente conjunto de archivos que conforman la infraestructura de archivos de instantáneas:
- .vmdk – el disco base de la máquina virtual, que contiene los datos en bruto.
- -00000x.vmdk – el disco delta, que contiene la diferencia entre el estado actual del disco virtual y el estado del disco virtual en el momento en que se tomó la instantánea anterior. Los cambios del disco virtual se representan como un redo log. Los datos del disco VMDK hijo utilizado para una instantánea se guardan en formato SPARSE mediante el mecanismo Copy-On-Write.
- .vmsd – el archivo de base de datos para la instantánea. Contiene la información de la instantánea utilizada por el gestor de instantáneas. La base de datos contiene las relaciones entre las instantáneas y los discos hijos de cada instantánea.
- .vmsn – el archivo que incluye el estado activo de la máquina virtual, incluida la memoria. Esto le permite volver a un estado de ejecución de la máquina virtual cuando se revierte. Una instantánea creada sin incluir la memoria, la reversión a la instantánea será a una máquina virtual apagada.
Por defecto, los archivos de instantáneas de VMware se encuentran en el directorio VM. Pero puede configurar manualmente un directorio personalizado para almacenar instantáneas de una VM editando un archivo de configuración VMX de la VM. Esta opción puede ser útil cuando el rendimiento del disco para la máquina virtual no es suficiente.
¿Cómo funciona la tecnología de instantáneas de máquinas virtuales?
Ahora que sabemos qué archivos se crean cuando se toma una instantánea en entornos VMware, veamos el principio de funcionamiento que hay detrás de la creación de una instantánea de vSphere.
- Cuando solicitamos crear, eliminar o revertir instantáneas utilizando un cliente como VMware vSphere Client o PowerCLI, la solicitud se envía al servidor a través de la API de VMware.
- La solicitud para crear, eliminar o revertir una instantánea se envía al servidor que ejecuta la máquina virtual de destino. Sin embargo, esto sólo es válido para vCenter Server. Se omitirá si la solicitud de instantánea se envía directamente al host ESXi.
- Si la opción Instantánea de la memoria de la máquina virtual está activada, el host ESXi escribe la memoria de la máquina virtual en el disco. Durante este proceso, la máquina virtual se detendrá.
- El host ESXi modifica el archivo de base de datos de instantáneas de la máquina virtual (.vmsd) para que refleje los cambios en el gestor de instantáneas de la máquina virtual.
- El host ESXi llama a las funciones de la API Virtual DISK para realizar cambios en los archivos de disco hijo (-delta.vmdk y.vmdk), así como en la cadena de discos.
Creación de instantáneas
Cuando se crea una instantánea, se mantiene el estado del disco virtual en el momento de tomar la instantánea mientras se detienen todas las escrituras en el archivo VMDK. Para capturar los cambios, el sistema crea un archivo VMDK adicional (disco delta) para cada disco VMDK contenido en el almacén de datos y escribe los cambios en ese archivo. Si toma más de una instantánea, el sistema crea discos delta para cada disco VMDK de cada instantánea, representando las diferencias entre ellos.
Una gran cadena de instantáneas y los correspondientes archivos de disco delta reducen el rendimiento del almacenamiento de las máquinas virtuales. Cuando una máquina virtual necesita leer datos, el archivo VMDK del disco virtual padre y los archivos VMDK delta relacionados (archivos de instantáneas VMware) deben leerse juntos en orden secuencial. Esto es necesario para reconstruir el historial de cambios de datos (entrada de disco virtual) registrado en los archivos de instantáneas y dar salida a los datos solicitados para una máquina virtual. Los archivos de instantáneas crecen con el tiempo. Las instantáneas crecen más rápido si se realizan operaciones intensivas de disco en una máquina virtual (grabación/eliminación de datos).
Puedes crear varias instantáneas, volver a cualquier instantánea y crear nuevas instantáneas después de realizar cambios. Como resultado, puedes crear un árbol de instantáneas. En la imagen siguiente, puede ver un árbol de instantáneas cuando creamos la instantánea 3, volvimos a la instantánea 2 y, a continuación, creamos la instantánea 3a.
Eliminación de instantáneas
Al eliminar una instantánea, el sistema fusiona los cambios entre las instantáneas y los estados anteriores del disco. Todos los datos del disco delta, que incluyen información sobre la instantánea eliminada, se escriben en el disco VMDK original. El tiempo necesario para borrar una instantánea depende de la cantidad de datos que se hayan escrito en los discos virtuales desde la última instantánea. Veamos cómo se eliminan las instantáneas en diferentes situaciones.
Tenemos un disco base (VMDK) y dos instantáneas ilustradas en los diagramas correspondientes a nuestros ejemplos:
- El tamaño del primer archivo de instantánea de VMware es de 3,3 GB, y el tamaño de la segunda instantánea es de 2,2 GB.
- Las instantáneas utilizan los archivos VMDK delta correspondientes, pero para mayor comodidad, los nombres de las instantáneas son Snapshot_1 y Snapshot_2 en los diagramas.
- El punto You are here explica el estado actual de nuestra VM (puede ser después o antes de una instantánea).
Borrar la última instantánea
Cuando eliminamos la segunda instantánea de VMware, que es la última instantánea de nuestra cadena antes de nuestro estado actual de VM, los datos de la instantánea_2 se consolidan con el disco delta de la instantánea_2 padre. El tamaño de la primera instantánea aumenta en función del tamaño de la segunda instantánea eliminada (3,3 GB + 2,2 GB en nuestro ejemplo).
Borrar la primera instantánea
¿Qué ocurre cuando se elimina la primera instantánea de una cadena de instantáneas y el estado actual de la máquina virtual es el estado posterior a la última instantánea? Los datos de la instantánea_1 se transfieren al disco base y la instantánea_2 se conserva. El tamaño del disco base aumenta en función del tamaño del primer archivo de instantánea de VMware que estamos eliminando (20 GB + 3,3 GB en este ejemplo). No hay cambios en el archivo de instantáneas de VMware (en relación con Snapshot_2).
Eliminación de todas las instantáneas
Al eliminar todas las instantáneas, los archivos de instantáneas de VMware se consolidan y los datos se consignan en el disco base (se utiliza el nuevo algoritmo). Los datos de la instantánea_1 se consignan primero en el disco base. A continuación, los datos de Snapshot_2 se consignan en el disco base. El mismo proceso se realiza para todas las instantáneas siguientes si tiene más instantáneas. El tamaño del disco base aumenta después de escribir los cambios de datos registrados en los archivos de instantáneas de VMware.
Cuando se utiliza vSphere 5.0 y algoritmos anteriores, los archivos de instantáneas de VMware se consolidan escribiendo primero los datos en el disco de instantáneas padre(Snapshot_2 a Snapshot_1 en nuestro ejemplo) y, a continuación, todos los datos de la instantánea se consignan en el disco base.
Eliminación de una instantánea después del estado actual
En los tres ejemplos anteriores, el estado de la VM (marcado You are here en los diagramas) representa el estado después de todas las instantáneas de la cadena. En este ejemplo, el estado de la VM es después de la primera instantánea y antes de la segunda instantánea (que es la última instantánea en este caso).
Cuando borramos la última instantánea, ésta se elimina sin afectar a las instantáneas anteriores de la cadena. En este ejemplo no se escriben cambios en Snapshot_1 ni en el disco base. Si tuviéramos más instantáneas después de la segunda instantánea (tercera, cuarta, quinta, etc.), sus datos (los datos de los archivos de instantáneas posteriores) también se eliminan con los datos del segundo archivo de instantáneas de VMware.
Cómo se eliminan las instantáneas de VMware
A partir de vSphere 6.0, el controlador de réplica de instantáneas se utiliza para la consolidación de instantáneas al eliminar instantáneas. Este controlador también se utiliza para VMware Storage vMotion. Se minimiza el uso de discos de instantáneas auxiliares temporales y la consolidación de instantáneas puede realizarse en una sola pasada, incluso sin discos auxiliares. Los cambios de la VM se escriben en el disco VMDK activo, y el orden de escritura está protegido durante el proceso de consolidación de instantáneas de VMware.
Durante el proceso de consolidación, se realizan escrituras tanto en el disco activo como en el disco base enviándose acuses de recibo.
Cómo crear una instantánea en VMware vSphere Client
El siguiente tutorial utiliza el nuevo cliente vSphere HTML5 en vSphere 6.5. El mismo flujo de trabajo es válido para vSphere 6.7, vSphere 7.0, 7.0U1 y 7.0U2.
- Haga clic con el botón derecho del ratón en la máquina virtual en la que desea crear una instantánea y seleccione Instantáneas > Tomar instantánea.
- En el cuadro de diálogo Tomar instantánea, puedes asignar un nombre a la instantánea y crear una descripción para la misma si deseas añadir más detalles.
- La casilla Incluir la memoria de la máquina virtual nos permite seleccionar entre instantáneas con y sin memoria de la máquina virtual. Veamos las diferencias:
- Al seleccionar Incluir la memoria de la máquina virtual, se incluye en la instantánea un volcado del estado interno de la máquina virtual. Para realizar instantáneas con la memoria de la máquina virtual, ésta debe estar encendida; de lo contrario, no se podrá seleccionar esta opción. Al tomar una instantánea de una máquina virtual encendida, puede capturar el estado en vivo de la máquina virtual y volver a este estado en cualquier momento.
- Cuando esta opción no está seleccionada, la instantánea no captura el estado en vivo de la máquina virtual. Si necesita volver a la instantánea, su máquina virtual se restaurará con los mismos datos, pero en estado apagado. Después, la máquina virtual debe encenderse manualmente.
- Puede seleccionar la opción Quiesce guest file system para realizar una instantánea coherente con las aplicaciones para preservar la coherencia de los datos si se están ejecutando operaciones de escritura en la máquina virtual.
- Para ello, es necesario instalar VMware Tools, incluido el controlador de sincronización. Una instantánea con la opción de quiescencia es adecuada para hacer backup de los datos de la VM utilizando esta instantánea.
- VMware Tools con VMware Snapshot Provider inicia la creación de una instantánea VSS en un SO invitado (en un invitado Windows). Los escritores de Volume Shadow Copy Service (VSS) en un SO invitado reciben una solicitud y preparan las aplicaciones para crear una instantánea coherente con las aplicaciones. Todas las transacciones de escritura se escriben desde la memoria de la VM al disco de la VM. Cuando se completa esta operación, los escritores de VSS notifican a VMware Tools que una VM está lista para tomar una instantánea.
Nota: Al seleccionar la opción Incluir la memoria de la máquina virtual, el sistema de archivos huésped Quiesce queda inactivo. Puede seleccionar una de estas opciones si una máquina virtual está encendida.
- Haga clic en Crear para crear la instantánea y, a continuación, podrá ver el inicio de la tarea correspondiente en el panel Tareas recientes de vCenter.
Cómo gestionar las instantáneas de vSphere
- Después de crear una instantánea, podemos gestionarla haciendo clic con el botón derecho y seleccionando Instantáneas > Gestionar instantáneas.
- En el cuadro de diálogo Gestionar instantáneas , podemos ver las instantáneas que existen en una máquina virtual, así como las opciones:
- Revertir – volver a una instantánea existente. Utilice esta opción para restaurar el estado de la máquina virtual guardado en la instantánea.
- Editar: edita el nombre y la descripción de una instantánea.
- Eliminar: elimina la instantánea seleccionada; elimina la instantánea de Snapshot Manager. Si una instantánea es anterior a su estado actual, los datos de la instantánea se consolidan con el disco de instantánea padre o el disco virtual base de la máquina virtual.
- Eliminar todo: elimina todas las instantáneas de la máquina virtual actual.
También se muestra otra información pertinente, como el nombre de la instantánea, la hora de creación y el uso del disco.
Reglas de alarma instantánea
Cuando el tamaño de la instantánea aumenta significativamente, el rendimiento del disco de la máquina virtual se degrada. Por esta razón, debe vigilar el tamaño de sus instantáneas VMware VM para realizar medidas y eliminar/consolidar instantáneas antes de que se produzca un impacto negativo en el rendimiento de las instantáneas VMware. La configuración de una regla de alarma de instantáneas de VMware vSphere permite recibir notificaciones cuando el tamaño de la instantánea supera el valor adecuado establecido en los ajustes de notificación. Veamos con más detalle cómo configurar las notificaciones de instantáneas de vSphere en vSphere Client.
Vamos a configurar las notificaciones que se enviarán cuando el tamaño de una instantánea supere los 30 GB.
- Vaya a Hosts y Clusters y seleccione una VM. Haga clic con el botón derecho del ratón en la VM y, en el menú que se abre, haga clic en Alarmas > Nueva definición de alarma.
- Se abre el asistente de Definición de nueva alarma.
- Nombre y objetivos. Introduzca el nombre de la alarma, por ejemplo, uso de instantáneas de vSphere. Introduzca la descripción (opcional). Seleccione el tipo de máquina virtual de destino. Haga clic en Siguiente en cada paso del asistente para continuar.
-
- Regla de alarma 1. Establezca la regla como sigue:
- SI
- El tamaño de la instantánea de VMware es superior a 30 GB.
- ENTONCES
- Activar la alarma y Mostrar como Advertencia
- Enviar notificaciones por correo electrónico: EN
- Asunto: Puede utilizar el asunto predeterminado
- Correo electrónico a: introduzca su dirección de correo electrónico
- SI
- Regla de alarma 1. Establezca la regla como sigue:
-
- Regla de reinicio 1. Puede configurar la regla de restablecimiento de forma similar a como ha configurado la regla de alarma. La regla de restablecimiento se encarga de enviar un mensaje de notificación cuando dejan de cumplirse las condiciones de advertencia o críticas para una instantánea de vSphere.
-
- Revisión. Revise la configuración de sus reglas. Si todo es correcto, pulse Crear.
Para aprender a trabajar con instantáneas de vSphere en PowerCLI, consulte la siguiente sección.
Cómo crear instantáneas con PowerCLI
Una potente forma de interactuar con vSphere es mediante PowerCLI. PowerCLI puede utilizarse para crear, eliminar y revertir instantáneas. Veamos la sintaxis básica para hacerlo.
Creación de instantáneas con PowerCLI
Para crear una instantánea utilizando PowerCLI podemos utilizar la siguiente sintaxis:
get-vm testvm | new-snapshot -Memory -quiesce -name "Test snap"
Eliminación de una instantánea
Para eliminar una instantánea, podemos almacenar el nombre de la instantánea en una variable como $snap y utilizarla para eliminar la instantánea en cuestión:
Remove-Snapshot -Snapshot $snap -RemoveChildren
Volver a una instantánea
Para volver a una instantánea creada, podemos utilizar la siguiente sintaxis:
get-vm “testvm" | set-vm -snapshot "Test snap" -confirm:$false
Limitaciones de las instantáneas de VMware
Existen algunas limitaciones para las instantáneas de vSphere que debe conocer.
- Pueden surgir problemas a medida que el número de instantáneas crece con el tiempo. Las instantáneas pueden resultar difíciles de gestionar y ocupar demasiado espacio en disco. Tampoco están protegidos contra fallos de hardware.
- Mantener instantáneas de máquinas virtuales durante demasiado tiempo, un árbol de instantáneas grande o demasiados cambios introducidos en una máquina virtual y su sistema operativo invitado desde la última instantánea pueden tener un impacto negativo en el rendimiento de sus máquinas virtuales y hosts.
- Los discos RAW y los discos en modo físico RDM no son compatibles con las instantáneas de VMware. Sin embargo, RDM (Raw Device Mapping) con modo de compatibilidad virtual admite instantáneas.
- Los discos independientes no son compatibles con las instantáneas de VMware. Para crear una instantánea, las máquinas virtuales con discos independientes deben apagarse primero. Si la máquina virtual está encendida o suspendida, no se admiten instantáneas.
- VMware no proporciona instantáneas para los dispositivos PCI vSphere Direct Path I/O Devices.
- Las instantáneas de VMware tampoco están disponibles para los sistemas operativos invitados que utilizan un iniciador iSCSI en el invitado.
- Las máquinas virtuales configuradas con uso compartido del bus no son compatibles con las instantáneas de VMware.
- Los procedimientos relacionados con las instantáneas requieren mucho tiempo para las máquinas virtuales con VMDK de 2 TB o más.
- Las instantáneas no deben considerarse métodos de protección de datos (backups) y recuperación a largo plazo porque los archivos de las instantáneas no son recuperables si se pierden junto con una máquina virtual.
Prácticas recomendadas de VMware Snapshot
Intente seguir estas prácticas recomendadas de VMware cuando trabaje con instantáneas.
- No utilices instantáneas como backups. Las instantáneas no son suficientes como método de protección y recuperación de datos, ya que los archivos de instantáneas no son más que registros de cambios del disco virtual principal.
- Una cadena de instantáneas no debe superar las 32 instantáneas. Para mejorar el rendimiento, limite las instantáneas a 2 ó 3.
- Los archivos de instantáneas de VMware pueden crecer con el tiempo, ocupando potencialmente demasiado espacio en el almacén de datos y causando sobrecarga de almacenamiento. El consejo general es no almacenar instantáneas con más de 72 horas de antigüedad. Puede mostrar instantáneas con más de 3 días de antigüedad, por ejemplo, en PowerCLI.
Nota: El comando para mostrar instantáneas con más de 72 horas de antigüedad:
Get-VM | Get-Snapshot | Where {$_.Created -lt (Get-Date).AddDays(-3)} | Select-Object VM, Name, Created, SizeMB
- Las operaciones de borrado no deben realizarse en bloque porque pueden comprometer todos los cambios almacenados en los archivos delta a los archivos de instantáneas VMware padre o a los archivos VMDK del disco base.
- Tenga especial cuidado con el uso de instantáneas para máquinas virtuales de servidores de bases de datos de E/S intensiva con cambios rápidos de datos, ya que las instantáneas podrían llenar todo el espacio del almacén de datos.
- Si utiliza soluciones de terceros que se basan en instantáneas, asegúrese de que las instantáneas se eliminan con regularidad.
- Tenga cuidado si planea aumentar el espacio del disco de la máquina virtual mientras las instantáneas siguen almacenadas en él. Las instantáneas pueden dañarse, lo que puede provocar una pérdida inesperada de datos.
- Aproveche las alarmas de vCenter y los scripts de PowerCLI para estar al tanto de las instantáneas de máquinas virtuales y del uso del espacio del almacén de datos. Esto también permite realizar un seguimiento de la antigüedad de las instantáneas de las máquinas virtuales.
- Si su versión de vSphere es anterior a v5.0, elimine todas las instantáneas antes de ejecutar Storage vMotion. Storage vMotion sólo es compatible con máquinas virtuales con instantáneas posteriores a vSphere 5.0; con versiones anteriores, podría causar la pérdida de datos o hacer que las máquinas virtuales no estuvieran disponibles.
- Supervise los entornos VMware vSphere para evitar problemas y solucionarlos de forma proactiva.
Reflexiones finales
Las instantáneas proporcionan un potente mecanismo que permite volver a un estado conocido de una máquina virtual VMware. Esto incluye los archivos en disco, en memoria, así como la configuración presente en la máquina virtual en el momento en que se creó la instantánea. Especialmente en entornos de desarrollo, el uso de instantáneas puede ser muy beneficioso a la hora de probar la integración de código, actualizaciones u otras modificaciones que puedan necesitar más de una ejecución. Al revertir a una instantánea, se puede volver de forma rápida y eficaz a un estado bueno conocido.
Sin embargo, las instantáneas no son backups y sólo deberían estar presentes en entornos de desarrollo y no en producción. Además, no deben dejarse en una máquina virtual durante largos periodos de tiempo, ya que pueden provocar una degradación del rendimiento y un uso excesivo del espacio en disco. Utilice NAKIVO Backup & Replication para proteger los datos, las aplicaciones y las máquinas de VMware vSphere. Descargue la edición gratuita para probar el producto en su propio entorno.