Exportación e importación de Hyper-V: Qué, por qué y cómo
Uno de los muchos beneficios de la virtualización es la portabilidad, lo que significa que puede mover fácilmente máquinas virtuales (VM) seleccionadas de una ubicación a otra sin experimentar tiempo de inactividad o interrupción del servicio. La portabilidad dentro de un entorno Hyper-V está garantizada gracias a las funciones de exportación e importación de Hyper-V, que permiten copiar y mover fácilmente una máquina virtual Hyper-V a una ubicación de destino y, a continuación, restaurar la máquina virtual a como estaba en el momento de la exportación.
¿Cómo funcionan las funciones de exportación e importación de Hyper-V? Al exportar una máquina virtual Hyper-V, se puede crear una copia de los archivos de configuración de la máquina virtual, los archivos VHD y las instantáneas de la máquina virtual. Después de eso, debe especificar si desea que la copia de la VM se ubique dentro de un Host Hyper-V o mover una VM exportada a través de hosts Hyper-V. Por último, la máquina virtual archivada puede utilizarse posteriormente en caso de fallo del hardware o pérdida de datos para restaurar los datos de la máquina virtual.
La entrada del blog de hoy trata de descubrir si las funciones Exportar e Importar de Hyper-V pueden considerarse una alternativa eficaz para hacer backups de máquinas virtuales y cómo se comparan con las soluciones integrales de protección de datos.
¿Qué es Hyper-V Export?
La exportación de Hyper-V es el proceso de exportación de una máquina virtual seleccionada, incluidos los archivos de su disco duro virtual, los archivos de configuración de la máquina virtual y las instantáneas de Hyper-V, a una única unidad. Esta operación puede realizarse cuando la máquina virtual está conectada o desconectada. En versiones anteriores de Windows (anteriores a Windows Server 2012), solo se podían exportar máquinas virtuales Hyper-V cuando estaban desactivadas. La exportación de Hyper-V sólo puede realizarse bajo demanda.
Además, antes no se podía exportar una máquina virtual directamente a un recurso compartido de red. En versiones anteriores de Windows, primero había que exportar la máquina virtual a un espacio de almacenamiento local y copiarla a través de la red a una ubicación de destino donde se almacenaban los ficheros de archivo. Con la versión de Windows Server 2012, se eliminó este problema.
Hyper-V Export se puede utilizar para archivar una máquina virtual que ya no necesita, o como un backup ad-hoc que le permite capturar los datos de la máquina virtual en un momento específico. Además, Hyper-V Export puede utilizarse con fines de prueba. Por ejemplo, puede crear una copia de la máquina virtual de producción y exportarla a un entorno que no sea de producción para realizar pruebas y solucionar problemas.
El proceso de exportar máquinas virtuales Hyper-V se compara a menudo con tomar instantáneas de Hyper-V, así como con hacer backups. La exportación de máquinas virtuales no es tan rápida como la toma de instantáneas pero, a diferencia de las instantáneas de Hyper-V, permite crear una copia completa de la máquina virtual existente y enviarla para su almacenamiento a otra ubicación. Al mismo tiempo, Hyper-V Export no puede considerarse un backup de VM completo. No aplica técnicas de compresión, deduplicación y cifrado, ampliamente utilizadas por las soluciones de protección de datos y que permiten reducir las necesidades de espacio de almacenamiento y utilizar de forma más eficaz el espacio disponible en disco.
¿Qué es Hyper-V Import?
Hyper-V Import le permite recuperar las máquinas virtuales seleccionadas que haya exportado previamente a partir de un conjunto de archivos de configuración. Las máquinas virtuales Hyper-V pueden importarse a un host Hyper-V de origen o a uno nuevo. Anteriormente, Hyper-V Import tenía que ir precedido de Hyper-V Export. Sin embargo, a partir de Windows Server 2012 R2, ahora puede importar máquinas virtuales Hyper-V sin haberlas exportado previamente. Al realizar la importación de Hyper-V, la máquina virtual se registra en el host Hyper-V.
La importación de Hyper-V puede ser de uno de los siguientes tipos:
- Registro in situ. En este caso, los archivos fuente no se modifican ni se mueven en modo alguno. Además, el ID único de la VM sigue siendo el mismo, lo que significa que la VM ya está registrada en el host Hyper-V. Si intenta importar la máquina virtual sin eliminar primero la máquina virtual de origen con el ID, la operación fallará.
Este tipo de importación se puede utilizar si desea ejecutar la máquina virtual desde la ubicación de origen, o si la máquina virtual ha fallado y necesita registrarla de nuevo con el host Hyper-V. Una vez finalizada la operación de importación, los archivos de exportación se convierten en archivos de estado de ejecución y no se pueden eliminar.
- En este caso, los archivos exportados se copian en una ubicación de destino y el ID único de la VM sigue siendo el mismo que en el momento de la Exportación de Hyper-V. Por lo tanto, es mejor eliminar la máquina virtual original antes de que comience la operación de importación para que sus ID no choquen. Si no, se encontrará con el mismo error mencionado anteriormente.
Una vez finalizada la operación de importación de Hyper-V, los archivos exportados permanecerán intactos y podrán eliminarse o importarse de nuevo.
- Al recuperar una máquina virtual archivada, debe elegir el tipo de importación Copia. En este caso, los archivos de la VM se copian en la ubicación de destino y se asigna un nuevo ID único a la VM, lo que significa que puede importar la VM preconfigurada al mismo host Hyper-V varias veces.
Cómo exportar máquinas virtuales Hyper-V
Puede exportar máquinas virtuales Hyper-V utilizando Hyper-V Manager y ejecutando los cmdlets de PowerShell. Voy a describir estos enfoques en detalle y le guiará a través de cada paso de la exportación de Hyper-V VMs.
Uso de Hyper-V Manager
Para exportar máquinas virtuales Hyper-V, debe iniciar el asistente de exportación de máquinas virtuales:
1. Abra Hyper-V Manager.
2. Haga clic con el botón derecho en la máquina virtual de la lista. Como puedes ver, he elegido la VM en ejecución.
3. Seleccione Exportar para abrir el asistente de Exportación de Máquinas Virtuales.
4. Haga clic en Examinar para especificar la ubicación a la que debe exportarse la máquina virtual.
5. Supervise el progreso de la operación de exportación de Hyper-V en la columna Estado.
6. Una vez finalizada la operación, abra la carpeta para comprobar que todo se ha exportado correctamente.
Como puede ver en la captura de pantalla anterior, la máquina virtual seleccionada, incluidos sus discos duros virtuales, los archivos de configuración de la máquina virtual y las instantáneas de la máquina virtual, se han exportado correctamente a una nueva ubicación.
Uso de PowerShell
El siguiente método consiste en ejecutar cmdlets de PowerShell, que pueden ayudarle a automatizar el proceso de exportación de máquinas virtuales Hyper-V. Después de crear un script PowerShell funcional, puede programar el script para que se ejecute automáticamente mediante el Programador de tareas. De este modo, podrá hacer backup de sus máquinas virtuales en ejecución de forma periódica, sin que se produzcan caídas del sistema o interrupciones del servicio.
Para exportar máquinas virtuales Hyper-V con PowerShell, debe ejecutar el siguiente cmdlet:
Export-VM -Name DemoVM -Path 'C:\Virtual Hard Disks\Exported VMs'
Recuerde ejecutar PowerShell como Administrador para que los cmdlets funcionen como se requiere.
Tras comprobar la carpeta de destino, puede ver que la VM y los archivos correspondientes se han exportado correctamente.
El siguiente cmdlet se puede utilizar para exportar todas las máquinas virtuales disponibles a la raíz de la unidad C (C:).
Get-VM | Export-VM -Path C:\
Cómo importar máquinas virtuales Hyper-V
Como se ha mencionado anteriormente, incluso puede importar máquinas virtuales Hyper-V que no se hayan exportado previamente. Para ello, también puede utilizar Hyper-V Manager o comandos PowerShell.
Uso de Hyper-V Manager
Para importar una VM Hyper-V, debe seguir los siguientes pasos:
1. Abra Hyper-V Manager.
2. En la sección Acciones, seleccione Importar máquina virtual para abrir el asistente de importación de máquinas virtuales.
3. En la sección Antes de empezar, lea lo que puede hacer este asistente y haga clic en Siguiente.
4. En la sección Localizar carpeta, debe seleccionar la carpeta que contiene la máquina virtual que desea importar.
5. En la sección Seleccionar máquina virtual, elija la máquina virtual que desea importar.
6. En la sección Elegir tipo de importación, en función de sus necesidades particulares, debe elegir entre los tres tipos de importación: Registrar la máquina virtual in situ, Restaurar la máquina virtual y Copiar la máquina virtual. En este caso, voy a demostrar cómo se puede copiar la VM y asignarle un nuevo ID único.
7. En la sección Elegir destino, puede especificar las carpetas en las que se almacenarán los archivos de la máquina virtual. Tiene dos opciones: importar los archivos de la VM a las carpetas predeterminadas de Hyper-V o almacenar la VM en una ubicación diferente seleccionando las carpetas manualmente.
8. En la sección Elegir carpetas de almacenamiento, haga clic en Examinar para seleccionar la carpeta donde se almacenarán los discos duros virtuales de esta máquina virtual.
9. En la sección Resumen, puede consultar las selecciones que ha realizado en este asistente. Haga clic en Finalizar si desea cerrar el asistente e importar una máquina virtual Hyper-V.
10. Los archivos se están copiando en la ubicación de destino.
Una vez completada la operación, puede encontrar la VM importada en el host Hyper-V seleccionado utilizando Hyper-V Manager.
Uso de PowerShell
Como sabe, existen tres tipos de importación en un entorno Hyper-V, y puede utilizar el cmdlet Import-VM para realizar varios tipos de importación de Hyper-V.
Para realizar el registro in situ de la máquina virtual seleccionada, primero debe eliminar la máquina virtual de origen que tiene el mismo ID. Para ello, ejecute el siguiente cmdlet:
Get-VM DemoVM | Remove-VM
A continuación, puede ejecutar el cmdlet Import-VM para asegurarse de que la máquina virtual se registra in situ y se utiliza el ID único existente.
Import-VM –Path 'C:\Virtual Hard Disks\Exported VMs\DemoVM\Virtual Machines\9C21B83D-EF80-4566-BF25-DDA50FEE2FFE.vmcx'
La siguiente opción es restaurar la máquina virtual. En este caso, los archivos exportados se copiarán y se moverán a la nueva ubicación y, en este caso, se utilizará el ID existente. Este tipo de importación también requiere que elimine la máquina virtual de origen antes de iniciar la operación de restauración.
Import-VM -Path 'C:\Virtual Hard Disks\Exported VMs\Hyper-V Server 2012\Virtual Machines\6E62C696-E3A1-41C3-A975-0E1CC9E67A31.vmcx' -Copy -VhdDestinationPath 'C:\Program Files\Imported VMs\VHD Files' -VirtualMachinePath 'C:\Program Files\Imported VMs\VM Files'
La operación de importación debería completarse en unos segundos.
Para que este cmdlet funcione, debe especificar claramente una ruta completa a la ubicación donde se almacena actualmente el archivo .vcmx de origen y una ruta completa al lugar donde deben copiarse los archivos .vcmx y .vhdx.
Por último, puede copiar la máquina virtual utilizando el siguiente cmdlet de PowerShell. En este caso, no es necesario eliminar la máquina virtual de origen, ya que se creará un nuevo ID único para la máquina virtual importada. Utilizando este método puede importar esta máquina virtual al mismo host varias veces.
Import-VM -Path 'C:\Virtual Hard Disks\Exported VMs\DemoVM\Virtual Machines\9C21B83D-EF80-4566-BF25-DDA50FEE2FFE.vmcx' -Copy -GenerateNewId
Conclusión
Para exportar o importar máquinas virtuales Hyper-V, puede utilizar Hyper-V Manager o ejecutar scripts PowerShell. Cada uno de estos enfoques tiene sus propias ventajas y usos prácticos, y usted debe elegir entre los dos en función de sus necesidades individuales.
La función de exportación e importación de Hyper-V se puede utilizar como una alternativa de copia de seguridad, es decir, puede crear una copia de las máquinas virtuales en ejecución y recuperarlas si se corrompen o fallan. Sin embargo, el proceso de exportación e importación de máquinas virtuales Hyper-V requiere mucha intervención manual por su parte y sólo puede automatizarse mediante secuencias de comandos PowerShell. Por lo tanto, en comparación con las soluciones de backups completas, la exportación e importación de Hyper-V tiene unas funciones bastante limitadas, que sólo permiten proteger entornos Hyper-V pequeños, además de requerir mucho de su tiempo y esfuerzo.
Si desea que el proceso de protección de las máquinas virtuales Hyper-V sea fácil, rápido y seguro, debería considerar la instalación de una solución avanzada de protección de datos. NAKIVO Backup & Replication es una solución fiable y potente, que puede ayudarle a proteger múltiples entornos por una fracción del precio.