¿Cómo crear una instantánea de una máquina virtual?

Las instantáneas de máquinas virtuales (VM) son una poderosa herramienta para proteger los datos y recuperar rápidamente el sistema en caso de fallos, errores o la necesidad de realizar operaciones arriesgadas. Le permiten guardar el estado de su máquina virtual en un momento específico en el tiempo para poder volver a él en cualquier momento. En este artículo, analizaremos en detalle el proceso de creación de instantáneas de máquinas virtuales, los diferentes métodos, herramientas y estrategias que le ayudarán a utilizar eficazmente esta importante función. Nos centraremos en ejemplos prácticos y las mejores prácticas para garantizar una protección fiable de sus entornos virtuales.

Contenido:

Conceptos básicos y ventajas de las instantáneas de VM

¿Cómo crear una instantánea de una máquina virtual? - Explicación de qué son las instantáneas de VM y por qué son útiles.
Una instantánea de una máquina virtual (VM) es, en esencia, una copia del estado del disco y la memoria RAM de la VM en un momento determinado. Incluye todos los datos contenidos en los discos virtuales, así como el estado actual de la memoria RAM, la configuración del hardware y la configuración de la red. Esto le permite «congelar» el estado de la VM y volver a él si es necesario. Imagínelo como un «punto de restauración» para su máquina virtual. El objetivo principal de una instantánea es proporcionar una forma rápida y sencilla de deshacer los cambios que puedan causar problemas. Por ejemplo, antes de instalar un nuevo software, actualizar el sistema o realizar cambios en la configuración, puede crear una instantánea. Si algo sale mal, puede volver rápidamente al estado anterior y funcional de la VM, sin perder tiempo en reinstalar el sistema operativo o restaurar los datos desde copias de seguridad. Es importante entender que las instantáneas no son un reemplazo de las copias de seguridad completas. Están diseñadas para soluciones temporales y recuperación rápida, no para el almacenamiento de datos a largo plazo. La dependencia de las instantáneas a largo plazo puede provocar problemas de rendimiento y pérdida de datos, especialmente si hay demasiadas instantáneas o ocupan mucho espacio.

Ventajas de usar instantáneas de VM

Las principales ventajas de usar instantáneas de VM incluyen:
  • Recuperación rápida después de errores: La capacidad de revertir rápidamente a un estado anterior de la VM reduce significativamente el tiempo de inactividad en caso de fallos o errores.
  • Pruebas y desarrollo: Las instantáneas permiten a los desarrolladores experimentar de forma segura con nuevo código o configuraciones, sabiendo que siempre pueden volver a un estado anterior.
  • Instalación de actualizaciones y parches: La creación de una instantánea antes de instalar actualizaciones garantiza la posibilidad de revertir rápidamente si la actualización causa problemas de compatibilidad u otras consecuencias no deseadas.
  • Creación de copias temporales para tareas de desarrollo o pruebas: Puede crear una instantánea de un sistema en funcionamiento y utilizarla para crear un entorno aislado para el desarrollo y las pruebas, sin afectar al sistema principal.

Cuándo no usar instantáneas de VM

Las instantáneas no son adecuadas para los siguientes escenarios:
  • Almacenamiento de datos a largo plazo: Las instantáneas no son un medio fiable para el almacenamiento de datos a largo plazo. Pueden provocar una disminución del rendimiento y la pérdida de datos en caso de que el disco base de la VM se dañe.
  • Reemplazo de la copia de seguridad: Las instantáneas no reemplazan las copias de seguridad completas. Las copias de seguridad deben crearse regularmente y almacenarse en otro lugar para proporcionar protección contra fallos graves, como daños en el almacenamiento o desastres naturales.
  • Máquinas virtuales con alta intensidad de escritura: Las instantáneas pueden afectar negativamente al rendimiento de las máquinas virtuales que escriben datos intensamente en el disco, por ejemplo, las bases de datos.
Ejemplo 1: Supongamos que planea actualizar la versión de PHP en su servidor web que se ejecuta en una máquina virtual. Antes de comenzar la actualización, cree una instantánea de la máquina virtual. Si después de la actualización el sitio web deja de funcionar debido a problemas de compatibilidad, puede volver rápidamente al estado anterior a la actualización restaurando la VM desde la instantánea.
# Ejemplo: Actualización de PHP en Ubuntu (¡antes de esto, cree una instantánea!)
sudo apt update
sudo apt upgrade php
Ejemplo 2: Un desarrollador está trabajando en un nuevo módulo para una aplicación web. Antes de comenzar a trabajar, crea una instantánea de la máquina virtual con la versión funcional de la aplicación. Si durante el desarrollo el módulo provoca fallos o errores, el desarrollador puede restaurar fácilmente la VM desde la instantánea y continuar trabajando con una versión limpia de la aplicación.
# Ejemplo: Instalación de Composer (¡antes de esto, cree una instantánea!)
sudo apt update
sudo apt install composer
Ejemplo 3: Un administrador del sistema planea realizar cambios en la configuración de la red de la máquina virtual. Antes de realizar los cambios, crea una instantánea de la VM. Si después de los cambios la VM pierde la conexión de red, el administrador puede volver rápidamente a la configuración anterior restaurando la VM desde la instantánea.
# Ejemplo: Modificación del archivo /etc/network/interfaces (¡antes de esto, cree una instantánea!)
sudo nano /etc/network/interfaces
# Realice los cambios necesarios
sudo systemctl restart networking
Consejo de experto: Siempre documente qué cambios planea realizar antes de crear una instantánea. Esto le ayudará a recordar para qué se creó la instantánea y simplificará el proceso de restauración si es necesario. El nombre de la instantánea debe ser informativo y reflejar la esencia de los cambios planificados. Por ejemplo, «Antes_de_la_actualización_PHP_7.4».
FunciónInstantáneas de VMCopia de seguridad
PropósitoRecuperación rápida después de errores, pruebasProtección de datos contra fallos graves, almacenamiento a largo plazo
Frecuencia de creaciónSegún sea necesario, antes de los cambiosRegularmente, según lo programado
Ubicación de almacenamientoEn el mismo almacenamiento que la VMEn otro lugar (almacenamiento separado, nube)
FiabilidadMenos fiable, dependencia del disco baseMás fiable, almacenamiento independiente

Creación de una instantánea en VMware vSphere

¿Cómo crear una instantánea de una máquina virtual? - <a href=Guía paso a paso con capturas de pantalla para crear una instantánea en VMware vSphere." title="Illustration for Step-by-step guide with screenshots for creating a snapshot in VMware vSphere." width="512" height="512" / class="wp-image-5341 wp-image-12401">
VMware vSphere proporciona una interfaz sencilla e intuitiva para crear y administrar instantáneas de máquinas virtuales. Las instantáneas de VMware le permiten capturar el estado de una máquina virtual, incluido el contenido de los discos y la memoria, lo que le permite volver rápidamente a un estado anterior si es necesario. Es importante entender que la creación de instantáneas puede tener un impacto en el rendimiento de la máquina virtual, especialmente para los sistemas con alta intensidad de escritura. Por lo tanto, se recomienda crear instantáneas solo cuando sea realmente necesario y eliminarlas una vez que se hayan completado las operaciones necesarias. VMware utiliza los llamados «delta disks» para almacenar los cambios realizados después de la creación de la instantánea. Estos discos crecen a medida que cambian los datos, y una gran cantidad de instantáneas o su almacenamiento prolongado puede provocar un aumento significativo del espacio ocupado y una disminución del rendimiento.

Creación de una instantánea a través de vSphere Client

La forma más común de crear una instantánea en VMware vSphere es a través de la interfaz gráfica de vSphere Client.
  • Paso 1: Conéctese a vSphere Client y seleccione la máquina virtual para la que desea crear una instantánea.
  • Paso 2: Haga clic con el botón derecho en la máquina virtual seleccionada y seleccione «Snapshot» -> «Take Snapshot».
  • Paso 3: Introduzca un nombre y una descripción para la instantánea. La descripción debe ser informativa para que pueda identificar fácilmente para qué se creó esta instantánea.
  • Paso 4: Marque la casilla «Memory» (si es necesario incluir el estado de la memoria en la instantánea). Incluir la memoria en la instantánea lleva más tiempo, pero le permite volver al mismo estado de la VM en el que se encontraba en el momento de la creación de la instantánea (por ejemplo, con las aplicaciones en ejecución).
  • Paso 5: Marque la casilla «Quiesce» (si es necesario que el sistema de archivos esté en un estado coherente). Quiesce congela el sistema de archivos durante la creación de la instantánea para garantizar la integridad de los datos. Este parámetro es especialmente importante para las máquinas virtuales con bases de datos u otras aplicaciones críticas.
  • Paso 6: Haga clic en «OK» para crear la instantánea.
Ejemplo 1: Creación de una instantánea antes de instalar una actualización de VMware Tools.
  • Conéctese a vSphere Client.
  • Seleccione la VM en la que necesita actualizar VMware Tools.
  • Haga clic con el botón derecho -> Snapshot -> Take Snapshot.
  • Nombre: «Antes_de_la_actualización_VMware_Tools».
  • Descripción: «Instantánea antes de actualizar VMware Tools a la versión 12.x».
  • Memory: No marcado.
  • Quiesce: Marcado.
  • Haga clic en «OK».
Ejemplo 2: Creación de una instantánea con la memoria incluida antes de depurar una aplicación.
  • Conéctese a vSphere Client.
  • Seleccione la VM con la aplicación que se está desarrollando.
  • Haga clic con el botón derecho -> Snapshot -> Take Snapshot.
  • Nombre: «Antes_de_la_depuración_de_la_aplicación».
  • Descripción: «Instantánea con la memoria incluida para la depuración de la aplicación».
  • Memory: Marcado.
  • Quiesce: No marcado.
  • Haga clic en «OK».

Creación de una instantánea con PowerCLI

Para automatizar la creación de instantáneas, puede utilizar PowerCLI, un cmdlet de PowerShell diseñado para administrar VMware vSphere.
# Conexión al vCenter Server
Connect-VIServer -Server vcenter.example.com -User administrator@vsphere.local -Password "Password123!"

# Obtención de la máquina virtual
$VM = Get-VM -Name "MyVM"

# Creación de la instantánea
New-Snapshot -VM $VM -Name "Antes_de_los_cambios" -Description "Instantánea antes de realizar cambios en la configuración" -Memory -Quiesce
Aclaración:
  • Connect-VIServer: Se conecta al vCenter Server. Reemplace vcenter.example.com, administrator@vsphere.local y "Password123!" con sus datos reales.
  • Get-VM: Obtiene el objeto de la máquina virtual con el nombre «MyVM». Reemplace «MyVM» con el nombre de su máquina virtual.
  • New-Snapshot: Crea una instantánea de la máquina virtual.
    • -VM: Especifica la máquina virtual para la que se va a crear la instantánea.
    • -Name: Especifica el nombre de la instantánea.
    • -Description: Especifica la descripción de la instantánea.
    • -Memory: Incluye el estado de la memoria en la instantánea.
    • -Quiesce: Garantiza la coherencia del sistema de archivos.
Ejemplo 3: Creación automática de una instantánea antes de ejecutar un script utilizando PowerCLI.
# Conexión al vCenter Server
Connect-VIServer -Server vcenter.example.com -User administrator@vsphere.local -Password "Password123!"

# Obtención de la máquina virtual
$VM = Get-VM -Name "MyVM"

# Creación de la instantánea
New-Snapshot -VM $VM -Name "Antes_del_script" -Description "Instantánea antes de ejecutar el script" -Memory:$false -Quiesce:$true

# Ejecución del script (reemplace con la ruta a su script)
.\MyScript.ps1

# Desconexión del vCenter Server
Disconnect-VIServer -Confirm:$false
Consejo de experto: Utilice PowerCLI para automatizar la creación y la administración de instantáneas, especialmente si necesita crear instantáneas regularmente para una gran cantidad de máquinas virtuales. Escriba un script que cree automáticamente instantáneas antes de realizar ciertas tareas y las elimine una vez completadas, para evitar la acumulación de instantáneas obsoletas.

Creación de una instantánea en Microsoft Hyper-V

Microsoft Hyper-V, una plataforma de virtualización integrada en Windows Server, también proporciona capacidades para crear instantáneas, denominadas «puntos de control» (Checkpoints). Los puntos de control de Hyper-V le permiten guardar el estado de una máquina virtual en un momento determinado, de forma similar a las instantáneas en VMware. Sin embargo, es importante tener en cuenta que Microsoft distingue dos tipos de puntos de control: estándar y de producción (Production Checkpoints). Los puntos de control estándar capturan el estado de la memoria de la máquina virtual, lo que puede ser útil para la depuración o las pruebas, pero no se recomienda para los sistemas de producción, ya que puede provocar problemas de integridad de los datos. Los puntos de control de producción utilizan tecnologías de copia de seguridad a nivel del sistema operativo invitado (por ejemplo, VSS en Windows) para garantizar la integridad de los datos y se recomiendan para su uso en entornos de producción.

Creación de un punto de control a través de Hyper-V Manager

La forma más sencilla de crear un punto de control es utilizar la interfaz gráfica de Hyper-V Manager.
  • Paso 1: Abra Hyper-V Manager.
  • Paso 2: Seleccione la máquina virtual para la que desea crear un punto de control.
  • Paso 3: Haga clic con el botón derecho en la máquina virtual seleccionada y seleccione «Checkpoint».
  • Paso 4: Hyper-V creará un punto de control que se mostrará en el panel «Checkpoints» para la máquina virtual seleccionada.
Ejemplo 1: Creación de un punto de control antes de instalar una actualización del sistema operativo Windows Server.
  • Abra Hyper-V Manager.
  • Seleccione la VM con Windows Server.
  • Haga clic con el botón derecho -> Checkpoint.
  • Después de crear el punto de control, puede instalar de forma segura las actualizaciones de Windows.

Creación de un punto de control de producción

Para crear un punto de control de producción, debe configurar su uso en la configuración de la máquina virtual.
  • Paso 1: Abra Hyper-V Manager.
  • Paso 2: Seleccione la máquina virtual para la que desea utilizar puntos de control de producción.
  • Paso 3: Haga clic con el botón derecho en la máquina virtual seleccionada y seleccione «Settings».
  • Paso 4: En la configuración, seleccione la sección «Checkpoints».
  • Paso 5: Seleccione la opción «Production Checkpoint». Puede seleccionar «Standard Checkpoint» para crear puntos de control estándar, pero para los sistemas de producción se recomienda utilizar «Production Checkpoint».
  • Paso 6: Haga clic en «OK» para guardar los cambios.
Ahora, al crear un punto de control para esta máquina virtual, Hyper-V utilizará un punto de control de producción.

Creación de un punto de control con PowerShell

Para automatizar la creación de puntos de control, puede utilizar PowerShell.
# Obtención de la máquina virtual
$VM = Get-VM -Name "MyVM"

# Creación del punto de control
Checkpoint-VM -Name $VM.Name -SnapshotName "Antes_de_los_cambios"
Aclaración:
  • Get-VM: Obtiene el objeto de la máquina virtual con el nombre «MyVM». Reemplace «MyVM» con el nombre de su máquina virtual.
  • Checkpoint-VM: Crea un punto de control de la máquina virtual.
    • -Name: Especifica el nombre de la máquina virtual.
    • -SnapshotName: Especifica el nombre del punto de control.
Para crear un punto de control de producción, asegúrese de que la opción «Production Checkpoint» esté seleccionada en la configuración de la máquina virtual, como se describió anteriormente. PowerShell utilizará esta configuración al crear el punto de control. Ejemplo 2: Creación automática de un punto de control antes de ejecutar un script utilizando PowerShell.
# Obtención de la máquina virtual
$VM = Get-VM -Name "MyVM"

# Creación del punto de control
Checkpoint-VM -Name $VM.Name -SnapshotName "Antes_del_script"

# Ejecución del script (reemplace con la ruta a su script)
.\MyScript.ps1
Ejemplo 3: Verificación del tipo de punto de control.
Get-VM -Name "MyVM" | Get-VMSnapshot | Select-Object Name, SnapshotType
Consejo de experto: Utilice siempre puntos de control de producción (Production Checkpoints) para las máquinas virtuales de producción para garantizar la integridad de los datos. Los puntos de control estándar deben utilizarse solo para pruebas y depuración, cuando sea necesario capturar el estado de la memoria de la máquina virtual. Elimine regularmente los puntos de control obsoletos para evitar problemas de rendimiento y falta de espacio en disco.

Gestión y recuperación desde instantáneas

Después de crear una instantánea de una máquina virtual, es importante saber cómo administrarla eficazmente y, si es necesario, restaurar la máquina virtual desde la instantánea. Tanto VMware vSphere como Microsoft Hyper-V proporcionan herramientas para administrar instantáneas y puntos de control, incluida la capacidad de eliminar, restaurar y ver información sobre las instantáneas. La administración incorrecta de las instantáneas puede provocar problemas de rendimiento, falta de espacio en disco e incluso pérdida de datos. Por lo tanto, es importante entender cómo utilizar correctamente estas herramientas y seguir las mejores prácticas de administración de instantáneas. Un punto clave es la eliminación regular de instantáneas obsoletas que ya no son necesarias y el monitoreo del uso del espacio en disco. También es importante recordar que la restauración desde una instantánea provocará la pérdida de todos los cambios realizados en la máquina virtual después de la creación de la instantánea.

Administración de instantáneas en VMware vSphere

En VMware vSphere, la administración de instantáneas se realiza a través de Snapshot Manager, disponible en vSphere Client.
  • Snapshot Manager: Abra vSphere Client, seleccione la máquina virtual y vaya a la pestaña «Snapshots». Aquí verá una lista de todas las instantáneas creadas para esta máquina virtual.
  • Restauración desde una instantánea: Seleccione la instantánea desde la que desea restaurar la máquina virtual y haga clic en «Revert». Confirme la restauración para volver al estado de la máquina virtual en el momento de la creación de la instantánea.
  • Eliminación de una instantánea: Seleccione la instantánea que desea eliminar y haga clic en «Delete». Si desea eliminar todas las instantáneas, haga clic en «Delete All». Atención: La eliminación de una instantánea solo elimina el archivo de instantánea, no los datos contenidos en él. Los datos se combinarán con el disco base de la máquina virtual.
  • Edición del nombre y la descripción de la instantánea: Seleccione una instantánea y haga clic en «Edit» (icono del lápiz). Aquí puede cambiar el nombre y la descripción de la instantánea.
Ejemplo 1: Restauración de una máquina virtual desde una instantánea después de una actualización fallida.
  • Abra vSphere Client.
  • Seleccione la VM en la que hubo una actualización fallida.
  • Vaya a la pestaña «Snapshots».
  • Seleccione la instantánea «Antes_de_la_actualización».
  • Haga clic en «Revert».
  • Confirme la restauración.

Administración de instantáneas con PowerCLI en VMware

PowerCLI también proporciona capacidades para administrar instantáneas.
# Conexión al vCenter Server
Connect-VIServer -Server vcenter.example.com -User administrator@vsphere.local -Password "Password123!"

# Obtención de la máquina virtual
$VM = Get-VM -Name "MyVM"

# Obtención de la lista de instantáneas
Get-Snapshot -VM $VM

# Restauración desde una instantánea
Get-Snapshot -VM $VM -Name "Antes_de_los_cambios" | Revert-Snapshot -Confirm:$false

# Eliminación de una instantánea
Get-Snapshot -VM $VM -Name "Antes_de_los_cambios" | Remove-Snapshot -Confirm:$false

# Eliminación de todas las instantáneas
Get-Snapshot -VM $VM | Remove-Snapshot -Confirm:$false
Aclaración:
  • Get-Snapshot: Obtiene una lista de instantáneas o una instantánea específica de la máquina virtual.
  • Revert-Snapshot: Restaura la máquina virtual desde una instantánea. -Confirm:$false desactiva la solicitud de confirmación.
  • Remove-Snapshot: Elimina una instantánea. -Confirm:$false desactiva la solicitud de confirmación.
Ejemplo 2: Creación de un informe de instantáneas de máquinas virtuales utilizando PowerCLI.
# Conexión al vCenter Server
Connect-VIServer -Server vcenter.example.com -User administrator@vsphere.local -Password "Password123!"

# Obtención de la lista de máquinas virtuales y sus instantáneas
$Report = Get-VM | Get-Snapshot | Select-Object VMName, Name, Created, SizeMB

# Exportación del informe a un archivo CSV
$Report | Export-Csv -Path "C:\SnapshotsReport.csv" -NoTypeInformation

Administración de puntos de control en Hyper-V

En Hyper-V, la administración de puntos de control se realiza a través de Hyper-V Manager.
  • Hyper-V Manager: Abra Hyper-V Manager, seleccione la máquina virtual y en el panel «Checkpoints» verá una lista de todos los puntos de control creados para esta máquina virtual.
  • Restauración desde un punto de control: Seleccione el punto de control desde el que desea restaurar la máquina virtual, haga clic con el botón derecho y seleccione «Apply». Confirme la restauración para volver al estado de la máquina virtual en el momento de la creación del punto de control.
  • Eliminación de un punto de control: Seleccione el punto de control que desea eliminar, haga clic con el botón derecho y seleccione «Delete». Si desea eliminar todos los puntos de control, seleccione la máquina virtual, haga clic con el botón derecho y seleccione «Delete Checkpoint Subtree». Atención: La eliminación de un punto de control solo elimina el archivo de punto de control, no los datos contenidos en él. Los datos se combinarán con el disco base de la máquina virtual.
  • Cambio de nombre de un punto de control: Seleccione un punto de control, haga clic con el botón derecho y seleccione «Rename».
Ejemplo 3: Eliminación de todos los puntos de control para una máquina virtual.
  • Abra Hyper-V Manager.
  • Seleccione la VM para la que desea eliminar todos los puntos de control.
  • Haga clic con el botón derecho -> Delete Checkpoint Subtree.
  • Confirme la eliminación.

Administración de puntos de control con PowerShell en Hyper-V

PowerShell también proporciona capacidades para administrar puntos de control en Hyper-V.
# Obtención de la máquina virtual
$VM = Get-VM -Name "MyVM"

# Obtención de la lista de puntos de control
Get-VMSnapshot -VMName $VM.Name

# Restauración desde un punto de control
Get-VMSnapshot -VMName $VM.Name -Name "Antes_de_los_cambios" | Restore-VMSnapshot -Confirm:$false

# Eliminación de un punto de control
Get-VMSnapshot -VMName $VM.Name -Name "Antes_de_los_cambios" | Remove-VMSnapshot -Confirm:$false

# Eliminación de todos los puntos de control
Get-VMSnapshot -VMName $VM.Name | Remove-VMSnapshot -Confirm:$false
Aclaración:
  • Get-VMSnapshot: Obtiene una lista de puntos de control o un punto de control específico de la máquina virtual.
  • Restore-VMSnapshot: Restaura la máquina virtual desde un punto de control. -Confirm:$false desactiva la solicitud de confirmación.
  • Remove-VMSnapshot: Elimina un punto de control. -Confirm:$false desactiva la solicitud de confirmación.
Consejo de experto: Realice auditorías periódicas de las instantáneas y los puntos de control para asegurarse de que no haya instantáneas obsoletas que ocupen espacio y afecten el rendimiento. Automatice el proceso de eliminación de instantáneas obsoletas con scripts de PowerShell o PowerCLI. Establezca políticas de almacenamiento de instantáneas que definan el período máximo de almacenamiento de instantáneas y puntos de control, así como las responsabilidades de su creación y eliminación.