Búsqueda de sitios web

Importar, exportar y clonar máquinas virtuales en Hyper-V


A diferencia de VMWare, Hyper-V no tiene una función integrada para clonar máquinas virtuales (la clonación solo está disponible en Virtual Machine Manager). Para crear una copia completa de una máquina virtual existente, deberá usar las funciones de importación y exportación de Hyper-V. En este artículo, mostraremos cómo clonar una máquina virtual en Hyper-V mediante la importación y exportación con la GUI del Administrador de Hyper-V, PowerShell y el Centro de administración de Windows (WAC).

Al clonar una máquina virtual que ejecuta Windows, recuerde que la copia de la VM tendrá el mismo SID que la fuente. Debe usar la herramienta Sysprep para restablecer el SID invitado de Windows. Si ha creado una imagen de referencia de Windows, ejecute el siguiente comando en ella antes de clonar:

%WINDIR%\system32\sysprep\sysprep.exe /generalize /shutdown /oobe

La máquina virtual se apagará y se generarán nuevos SID en el próximo inicio tanto en una máquina virtual de origen como en su copia clonada. Además, no se recomienda clonar una VM unida al dominio de Active Directory.

Exportar e importar máquinas virtuales en Hyper-V Manager

Primero, exporte una VM a un directorio separado. Abra la consola del administrador de Hyper-V, haga clic con el botón derecho en una máquina virtual y seleccione Exportar en el menú contextual.

En Hyper-V en Windows Server 2012 R2 y posteriores (incluido el servidor Hyper-V gratuito), puede exportar incluso máquinas virtuales en ejecución sin detenerlas.

Especifique el directorio al que desea exportar la máquina virtual.

El estado de exportación de la VM se mostrará en el panel de estado de la VM en su consola Hyper-V.

Muchos administradores utilizan la exportación de máquinas virtuales como el método más sencillo para realizar una copia de seguridad de una máquina virtual en Hyper-V.

Puede exportar un punto de control específico (instantánea) de una máquina virtual. Para hacerlo, simplemente haga clic con el botón derecho en el punto de control requerido en el árbol de puntos de control y seleccione Exportar.

Para importar una máquina virtual, haga clic en un nombre de host en el Administrador de Hyper-V y seleccione Importar máquina virtual.

Luego, especifique una ruta al directorio donde se encuentran las carpetas con los archivos de VM importados. Cuando importa una VM en Hyper-V, se le ofrecen 3 opciones de registro de VM en el host:

  • Registre la máquina virtual en el lugar (utilice la ID única existente): para registrar una VM en el directorio que contiene los archivos importados (la ID de la VM sigue siendo la misma)

  • Restaurar la máquina virtual (usar la ID única existente): para copiar los archivos de la VM a otra carpeta (se conserva la ID de la VM original)

  • Copiar la máquina virtual (crear una nueva ID única): para copiar una VM a otro directorio y generar una nueva ID de VM

Cada VM en un host de Hyper-V tiene una ID que debe ser única dentro del host. Si importa o clona una VM a otro host, no necesita cambiar la ID de la VM.

Si intenta importar una VM con una ID duplicada, se produce el siguiente error:

The operation failed because a virtual machine with the same identifier already exists. Select a new identifier and try the operation again.

Para crear un clon de VM con una nueva ID, hemos seleccionado la tercera opción. El asistente le solicita que especifique la carpeta en la que desea colocar los archivos de la máquina virtual. De forma predeterminada, se utilizan las carpetas especificadas en la configuración del host de Hyper-V.

Luego seleccione el directorio donde se almacenarán los discos virtuales de la máquina virtual (archivos vhdx).

Luego aparecerá una nueva máquina virtual clonada en su consola Hyper-V.

¿Cómo exportar, importar y clonar máquinas virtuales Hyper-V con PowerShell?

Echemos un vistazo a cómo clonar una máquina virtual Hyper-V mediante la exportación/importación mediante PowerShell.

Para exportar una máquina virtual, ejecute el siguiente comando:

Export-VM -Name win10 -Path 'C:\VHD\export'

Si desea exportar una VM en ejecución, puede usar la opción CaptuteLiveState que determina cómo exportar la memoria de la VM. Hay tres opciones disponibles:

  • CaptureSavedState

    - para exportar la memoria (por defecto)

  • CaptureDataConsistentState

    - para exportar un estado de máquina virtual desde el punto de control de producción de Hyper-V

  • CaptureCrashConsistentState

    - no guardar el contenido de la memoria

Export-VM -Name win10 -Path 'C:\VHD\export' -CaptureLiveState CaptureCrashConsistentState

Si desea exportar el estado de la VM desde el punto de control específico, especifique su nombre.

Primero, muestre la lista de puntos de control disponibles para la VM:

Get-VMSnapshot -VMName win10

Luego exporte el punto de control por su nombre:

Export-VMSnapshot -Name “win10 - (6/17/2021 - 3:12:205 PM) Standard” -VMName win10 -Path 'C:\VHD\export'

Después de exportar la máquina virtual, puede importarla. Si desea registrar la VM en su lugar, ejecute el siguiente comando:

Import-VM -Path "C:\VHD\export\win10\Virtual Machines\212cadd2-6543-bc2d-ca11-321ffa223f3b.vmcx"

En la opción Ruta, especifique la ubicación del archivo de configuración de VM (el formato de archivo VMCX reemplazó el formato XML de los archivos de configuración de VM en Hyper-V Server 2016). Para copiar una VM a otra carpeta con la misma ID, use el

Copy

opción. Para generar una nueva ID de máquina virtual, use el

GenerateNewId

opción:

Import-VM -Path "C:\VHD\export\win10\Virtual Machines\212cadd2-6543-bc2d-ca11-321ffa223f3b.vmcx" -VhdDestinationPath "C:\VHD\win10_2" -VirtualMachinePath "C:\VHD\win10_2"
VhdDestinationPath

especifica el directorio en el que se copiarán los archivos VHDX de la máquina virtual y

VirtualMachinePath

establece el directorio de los archivos de configuración de la máquina virtual. Si las opciones no están configuradas, los archivos de VM se copiarán en el directorio predeterminado especificado en la configuración del host de Hyper-V (

C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines\

).

También puede configurar las carpetas para almacenar puntos de control (

SnapshotFilePath

) y archivo de paginación (

SmartPagingFilePath

).

Tenga en cuenta que la máquina virtual clonada apareció en la consola de Hyper-V con el nombre de la máquina virtual de origen. Vamos a cambiarle el nombre, pero primero necesitamos su VMID:

get-vm | select VMNAME,VMId

Como puede ver, hay dos máquinas virtuales con el mismo nombre y diferentes ID en el host. Cambie el nombre de la VM con una ID que sea diferente de la ID de la VM importada. Copie el ID de la nueva VM y cámbiele el nombre:

get-vm | Where-Object {$_.VMId -eq "9a9d3332-f332-a231-8abc-9221aab32287"} | Rename-VM -NewName win10_2

Luego, también puede cambiar el nombre del archivo del disco duro virtual:

Get-VHD -VMId 9a9d3332-f332-a231-8abc-9221aab32287| Select Path | Rename-Item -NewName win10_2.vhdx
Remove-VMHardDiskDrive -VMName win10_2 -ControllerType SCSI -ControllerLocation 0 -ControllerNumber 0
Add-VMHardDiskDrive -VMName win10_2 -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 0 -Path "C:\VHD\win10_2\win10_2.vhdx"

Cambie la dirección MAC de su adaptador virtual (puede especificar una nueva dirección MAC estática o configurar la obtención de la dirección MAC dinámicamente).

Set-VMNetworkAdapter -VMName win10_2 -DynamicMacAddress
Start-VM -Name win10_2

Antes de conectar su nueva VM a la red, se recomienda cambiarle el nombre y cambiar su dirección IP a una nueva (si está utilizando DHCP en su LAN, puede omitir este paso). Luego podrá conectarse a su nueva VM a través de PowerShell Direct usando el cmdlet Invoke-Command o Enter-PSSession:

Enter-PSSession -ComputerName win10_2 -Credential (Get-Credential)
Rename-Computer win10_2
Remove-NetIPAddress -InterfaceAlias “Ethernet” -AddressFamily IPV4
New-NetIPAddress -IPAddress 192.168.13.71 -InterfaceAlias “Ethernet” -AddressFamily IPv4 -PrefixLength 24
Restart-Computer

¿Cómo clonar máquinas virtuales Hyper-V usando el Centro de administración de Windows?

Puede clonar una máquina virtual Hyper-V directamente sin exportar ni importar en Windows Admin Center v2009 o posterior.

Ejecute WAC, seleccione la sección Máquinas virtuales y luego haga clic en VM -> Administrar -> Clonar.

Luego especifique el nombre de su nueva VM y seleccione el directorio donde desea colocar sus archivos.

Tenga en cuenta que existe la opción "Ya ejecuté Sysprep en mi máquina virtual" en el asistente de clonación. Si no generalizó la imagen con Sysprep y no habilitó esta opción, Hyper-V creará una instantánea de la máquina virtual de origen, ejecutará Sysprep y la clonará en una nueva máquina virtual (la máquina virtual de origen se reiniciará varias veces y no estar disponible para su uso durante el proceso). Luego, la máquina virtual de origen volverá a su estado original y se eliminará la instantánea.

Al clonar cualquier máquina virtual con un sistema operativo invitado que no sea Windows, habilite siempre la opción descrita anteriormente.

Espere hasta que se clone la máquina virtual. El nuevo ID se asignará automáticamente a una nueva máquina virtual.

Artículos relacionados