Cómo migrar máquinas virtuales de Hyper-V a Proxmox: guía paso a paso
Proxmox VE es un entorno virtual fiable para organizaciones de todos los tamaños, y trasladar máquinas virtuales desde otra solución de virtualización a Proxmox VE puede resultar complicado. En las últimas versiones, Proxmox ha añadido un asistente para automatizar parcialmente las migraciones desde VMware ESXi a Proxmox VE. Sin embargo, la migración de Hyper-V a Proxmox requiere pasos manuales. En esta entrada del blog se muestran los detalles de los pasos para migrar máquinas virtuales de Hyper-V a Proxmox y cómo configurar la migración.
Preparación de la máquina virtual de Microsoft Hyper-V para la migración
Para preparar su entorno para una migración a Proxmox VE, primero debe instalar los controladores VirtIO en el sistema operativo invitado de la máquina virtual de Hyper-V que desea migrar. Los controladores VirtIO son un conjunto de controladores para dispositivos virtuales de máquinas virtuales Proxmox que mejoran el rendimiento y la experiencia del usuario, de forma similar a VMware Tools . Es necesario instalar los controladores VirtIO antes de iniciar el proceso de migración para evitar problemas después de iniciar la máquina virtual en un host Proxmox.Para instalar los controladores VirtIO:
- Descargue los últimos controladores VirtIO estables o la versión ISO más reciente del recurso oficial . Esta imagen ISO también es necesaria para instalar QEMU Guest Agent.
- Inserte la imagen ISO descargada con los controladores VirtIO en la unidad de CD/DVD virtual de la Máquina virtual de Hyper-V de origen. El nombre de nuestra Máquina virtual de origen en este ejemplo es Win10test (Windows 10 es el sistema operativo invitado). Se trata de una máquina virtual de segunda generación que tiene un disco virtual VHDX de 20 GB (dinámico, no preasignado, el equivalente a un disco thin provisioned ) con un sistema operativo (SO) y datos.
- Abra Hyper-V Manager . Haga clic con el botón derecho del ratón en la máquina virtual que desea migrar de Hyper-V a Proxmox VE y, en el menú contextual, haga clic en Ajustes .
- En el panel izquierdo de la ventana Ajustes de la máquina virtual , haga clic en la opción Unidad de DVD . En el panel derecho, haga clic en Archivo de imagen , pulse Explorar y seleccione el archivo de imagen de los controladores VirtIO. En este ejemplo, el nombre del archivo es virtio-win-0.1.240.iso
Haga clic en Aceptar para guardar los ajustes.
- Inicie la máquina virtual de origen y conéctese a ella mediante la herramienta nativa Hyper-V VMConnect . Haga clic con el botón derecho en la máquina virtual y haga clic en Conectar .
- Abra el Explorador de Windows ( Este PC ) en el sistema operativo invitado y vaya a la unidad de DVD en la que se ha insertado la imagen ISO. Busque el archivo de instalación de los controladores VirtIO para Windows en la carpeta raíz de la imagen del DVD. Seleccione el archivo de instalación en formato . msi según su versión de Windows ( virtio-win-gt-x64.msi o virtio-win-gt-x86.msi ).
- Ejecute el archivo ejecutable para su versión de Windows (64 bits o 32 bits) y siga el asistente de instalación para instalar los controladores VirtIO.
- Instale QEMU Guest Agent . La ubicación del instalador es en la imagen ISO con los controladores VirtIO en el directorio guest-agent . Ejecute el archivo instalador para su versión de Windows (ejecutamos qemu-ga-x84_64.msi porque utilizamos Windows 10 de 64 bits como sistema operativo invitado).
- Verifique que el agente invitado se está ejecutando en un sistema operativo invitado de la Máquina virtual de Hyper-V de origen utilizando el siguiente comando de PowerShell:
Get-Service QEMU-GA
También puede comprobar el estado del servicio QEMU Guest Agent en la interfaz gráfica de usuario de Windows, en el complemento services.msc . Haga clic con el botón derecho en el icono Mi PC o Este PC , haga clic en Gestión y, en la ventana Administración de equipos , vaya a Servicios y aplicaciones > Servicios . Compruebe el servicio QEMU Guest Agent ; este servicio debe ejecutarse con el tipo de inicio automático .
- Apague la máquina virtual de origen en el host Hyper-V.
- Si la máquina virtual tiene puntos de control (instantáneas), eliminelos. La máquina virtual de nuestro ejemplo no tiene puntos de control.
Exportación de la máquina virtual de Hyper-V
Para exportar la máquina virtual de Hyper-V de origen que desea migrar de Hyper-V a Proxmox VE, haga clic con el botón derecho del ratón en la máquina virtual y seleccione Exportar en el menú contextual.
Especifique la ubicación donde desea guardar los archivos de la máquina virtual exportada y haga clic en Exportar .
En este ejemplo, los archivos se exportan a H:Exported en el host Hyper-V.
Transferencia de los archivos de la máquina virtual al servidor Proxmox
Copie los discos virtuales de la máquina virtual de Hyper-V exportada (VHD o VHDX ) al host Proxmox. Los discos virtuales se encuentran en el subdirectorio Discos duros virtuales de la máquina virtual exportada, en el directorio especificado para la exportación de la máquina virtual. Con WinSCP , el cliente SCP y SFTP que funciona a través de SSH, es conveniente copiar archivos desde una máquina Windows a una Linux, incluido un host Proxmox.
- Cree una nueva sesión en WinSCP e inicie sesión en su host Proxmox.
- Copie los discos virtuales VHD o VHDX de la máquina virtual de Hyper-V exportada al host Proxmox. Solo tiene que arrastrar y soltar los archivos en WinSCP.
- Compruebe los discos virtuales copiados de la Máquina virtual de Hyper-V en el host Proxmox para asegurarse de que el archivo es coherente y no está dañado. Abra la consola (terminal) en el host Proxmox y ejecute este comando:
qemu-img check -r all /home/user1/Downloads/Win10test.vhdx
Creación de una nueva máquina virtual en Proxmox
Cree una nueva máquina virtual en Proxmox. Puede hacerlo utilizando la interfaz web de Proxmox VE.
- Seleccione el host Proxmox en el Datacenter , haga clic con el botón derecho sobre él y seleccione Crear máquina virtual en el menú contextual. Configuraremos esta nueva máquina virtual para utilizar los discos virtuales importados para el proceso de migración.
- Se abre el asistente de creación de máquinas virtuales de Proxmox.
- General . Introduce el nombre de la máquina virtual (por ejemplo Win10-migrated ). Puede dejar el valor predeterminado del ID de la máquina virtual libre. En nuestro caso, el ID de la máquina virtual es 101.
- Sistema operativo . Seleccione No utilizar ningún medio . Tipo de sistema operativo invitado: Microsoft Windows ; versión: 10/2016/2019 .
- Sistema . En la sección Firmware , seleccione OVMF (UEFI) BIOS. En este caso, debe añadir un disco EFI basado en el dispositivo q35 y sin un TPM virtual (como en la máquina virtual de origen). Deje VirtIO SCSI único como controlador SCSI, tal y como sugiere el asistente. Hemos seleccionado UEFI porque estamos migrando una Máquina virtual de Hyper-V Gen-2.
- Discos . Deje los parámetros predeterminados, pero establezca el tamaño del disco virtual en 1 GB (se trata de un disco virtual temporal que se utiliza para crear una nueva máquina virtual; lo eliminaremos más adelante).
- CPU, memoria, red : seleccione los valores que desee. Puede establecer la misma CPU y memoria que la máquina virtual de origen.
- Una vez creada la nueva máquina virtual Proxmox, vaya a la máquina virtual Hardware ajustes, seleccione el disco duro virtual temporal de 1 GB que se ha creado recientemente, Disco duro (ide0) en este caso, y haga clic en Desconectar . Después de desconectar el disco virtual, el nombre del disco cambia a Disco 0 sin usar en nuestro caso.
- Elimine el disco virtual temporal de 1 GB. Seleccione Disco no utilizado 0 y haga clic en Eliminar .
Conversión de los archivos VHDX a QCOW2
Convierta el disco virtual Hyper-V (VHD o VHDX) en el host Proxmox al formato nativo de Proxmox (KVM) para utilizar más funciones (aprovisionamiento ligero). Abra la consola (terminal) en el host Proxmox y ejecute el siguiente comando con privilegios de root: qemu-img convert -f vhdx -O qcow2 -o preallocation=off /var/lib/vz/dump/disk.vhdx /var/lib/vz/images/VMID/disk.qcow2 Donde: -f vhdx se utiliza para especificar el formato de entrada (VHDX). -O qcow2 se utiliza para especificar el formato de salida (QCOW2). -o preallocation=off : habilita el aprovisionamiento dinámico para el archivo de disco virtual de destino (el disco solo ocupa espacio en función de los datos reales). /var/lib/vz/dump/disk.vhdx es el archivo VHDX de origen. /var/lib/vz/images/VMID/disk.qcow2 es la ubicación de destino (sustituya VMID por su ID de máquina virtual real en Proxmox).En nuestro ejemplo, el comando exacto para convertir Hyper-V a Proxmox formato de disco virtual (VHDX a QCOW2) es el siguiente: qemu-img convert -f vhdx -O qcow2 -o preallocation=off ./Win10test.vhdx /var/lib/vz/images/101/Win10-converted.qcow2 Espere hasta que se convierta el disco virtual. Como resultado, se crea un nuevo archivo. Hemos convertido Win10test.vhdx a Win10-converted.qcow2
Vuelva a escanear el almacenamiento de Proxmox para reconocer los nuevos discos virtuales: qm rescan
Después de volver a escanear los discos virtuales, el disco virtual convertido se muestra en la interfaz web de Proxmox.
Conectando los discos virtuales a la máquina virtual Proxmox
Añada el disco convertido con el estado Disco sin usar a la máquina virtual creada anteriormente (en nuestro caso, añadimos Win10-converted.qcow2 a la máquina virtual Win10-migrated en nuestro caso). Puede hacerlo en la interfaz web de Proxmox.
- Haga doble clic en el disco sin usar ( Disco sin usar 0 ) para conectarlo a la máquina virtual.
- Seleccione IDE (o SATA ). Si conecta el disco virtual importado y convertido a un controlador SCSI, aparecerá una pantalla azul de la muerte (BSOD) durante el inicio del sistema operativo invitado para esta máquina virtual. Después de iniciar desde el disco IDE o SATA, Windows instala los controladores para el hardware virtual de la máquina virtual Proxmox. A continuación, podemos reconfigurar el disco virtual para utilizar el controlador de disco SCSI.
- Añada el nuevo disco SCSI temporal de 1 GB que se ha creado recientemente. Es necesario crear un disco temporal conectado a un controlador SCSI para instalar los controladores necesarios para trabajar con controladores SCSI. Seleccione la máquina virtual creada durante la migración de Hyper-V a Proxmox ( Win10-migrated ), vaya a la sección Hardware , haga clic en Añadir y pulse Disco duro .
- Seleccione los parámetros del disco virtual como se ha explicado anteriormente, pero esta vez con el bus/dispositivo SCSI.
- Edite el orden de inicio. Seleccione su máquina virtual, vaya a Opciones > Orden de inicio . Haga doble clic en Orden de inicio o seleccione Orden de inicio y haga clic en Editar .
- Seleccione la casilla de verificación adecuada para habilitar el disco virtual que se ha convertido, importado y conectado a esta máquina virtual. De forma predeterminada, el nuevo disco no está seleccionado en la lista de orden de inicio.
- Mueva el disco importado y habilitado a la parte superior de la lista de inicio.
- Encienda la máquina virtual y conéctese a la consola de la máquina virtual. Seleccione la máquina virtual creada para la migración de Hyper-V a Proxmox, haga clic en Iniciar y, a continuación, haga clic en Consola . El sistema operativo invitado debería iniciarse ahora.
- Compruebe el hardware en el Administrador de dispositivos del sistema operativo Windows invitado. Haga clic con el botón derecho del ratón en el icono Mi PC o Este PC , haga clic en Gestión y seleccione Administrador de dispositivos . También puede ejecutar el complemento
devmgmt.mscdesde la línea de comandos.Debería ver dos unidades de disco: el disco virtual convertido/importado (en nuestro caso, un disco de 20 GB con aprovisionamiento dinámico conectado al controlador IDE) y el disco virtual SCSI temporal de 1 GB.
Debería ver un controlador SATA/AHCI estándar y un controlador VirtIO SCSI. Una vez instalado el controlador SCSI en la máquina virtual después de iniciar Windows desde el disco IDE o SATA, se instalan los controladores para utilizar el controlador SCSI. Estos controladores nos permiten iniciar el sistema operativo desde el disco conectado al controlador SCSI. Puede reiniciar la máquina virtual para asegurarse de que todo funciona correctamente.
- Apague la máquina virtual migrada a Proxmox.
- Desconecte el disco virtual conectado al controlador IDE. Seleccione el disco virtual en la sección Hardware de su máquina virtual migrada y haga clic en Desconectar . En nuestro ejemplo, ahora es Disco duro (ide0) (20 GB).
- Haga doble clic en este disco (ahora, nuestro disco de 20 GB es un disco sin usar: Disco sin usar 0 ) para conectarlo.
- Conecte este disco virtual al controlador SCSI (bus/dispositivo) y haga clic en Agregar .
- Nuestro disco virtual de 20 GB es ahora Disco duro (scsi1) . Seguimos manteniendo el disco SCSI temporal de 1 GB activo en esta máquina virtual.
- Edite el orden de inicio de la máquina virtual. Vaya a VM Opciones y haga doble clic en Orden de inicio , como se ha explicado anteriormente.
- Seleccione el disco virtual con Windows 10 que se ha conectado recientemente al controlador SCSI ( Win10-converted.qcow2 en este caso).
- Edite el orden de inicio: mueva este disco importado (desde Hyper-V con Windows 10) a la parte superior de la lista.
- Inicie la máquina virtual. El sistema operativo invitado Windows 10 debería iniciarse ahora desde el disco virtual SCSI.
- Una vez iniciado el sistema operativo invitado, abra el Administrador de dispositivos y compruebe los discos y los controladores de almacenamiento. Ahora vemos dos discos SCSI y dos controladores SCSI (véase la captura de pantalla siguiente). En este caso, cada disco SCSI está conectado a su propio controlador SCSI. La configuración que se muestra en el Administrador de dispositivos es correcta para nosotros en esta etapa.
- Si todo funciona correctamente, apague la máquina virtual.
- Inicie la máquina virtual de nuevo. Si el sistema operativo invitado inicia correctamente y todo funciona correctamente, puede desconectar y eliminar el disco virtual SCSI temporal de 1 GB de la máquina virtual Proxmox ( rm /var/lib/vz/images/101/vm-101-disk1.qcow2 ) y eliminar el disco virtual VHDX copiado desde el host Hyper-V de origen ( rm/home/user1/Downloads/Win10-test.vhdx ).
Garantizar la protección de las máquinas virtuales después de la migración con NAKIVO
Una vez finalizada la migración de Hyper-V a Proxmox, no olvide proteger sus máquinas virtuales en el entorno Proxmox utilizando una solución de copia de seguridad dedicada. Si sus máquinas virtuales Hyper-V de origen estaban protegidas antes de la migración, las máquinas virtuales convertidas no se protegerán automáticamente en Proxmox VE. NAKIVO Backup & Replication admite la protección de máquinas virtuales en entornos virtuales Hyper-V, Proxmox, VMware vSphere y Nutanix. La solución NAKIVO admite copias de seguridad sin agente para máquinas virtuales Proxmox. La configuración es sencilla: solo tiene que añadir hosts o clústeres Proxmox al inventario y crear jobs de backup. Puede recuperar máquinas virtuales completas o realizar una recuperación granular para restaurar rápidamente archivos u objetos individuales. La recuperación de datos es posible en la ubicación de origen o en ubicaciones personalizadas. También puede realizar una exportación de copia de seguridad para máquinas virtuales y recuperarlas en otra plataforma de virtualización. NAKIVO Backup & Replication admite:
- Copias de seguridad incrementales . Reduzca el consumo de espacio de almacenamiento copiando solo los datos modificados desde la última copia de seguridad. La configuración de copias de seguridad incrementales con copias de seguridad completas periódicas aumenta la fiabilidad de una cadena de copias de seguridad.
- Copias de seguridad coherentes con las aplicaciones . Asegúrese de que los datos de la copia de seguridad sean coherentes con los fallos y con las aplicaciones. Haga backup de las máquinas virtuales incluso si hay aplicaciones en ejecución y recupere los datos correctamente cuando sea necesario.
- Cifrado de los backups . Cifre los backups en tránsito y en reposo para garantizar . Configure el cifrado del lado del origen, de la red y del repositorio de backups en función de sus necesidades.
- Inmutabilidad de los backups . Proteja las copias de seguridad contra el ransomware mediante la inmutabilidad. Estos datos no pueden ser modificados, alterados ni eliminados por el ransomware.
- Múltiples ubicaciones de copia de seguridad . Implemente una política de copia de seguridad flexible y siga la regla de copia de seguridad 3-2-1 . La solución NAKIVO admite el almacenamiento de backups en discos locales, dispositivos NAS, recursos compartidos SMB y NFS, cintas y en la nube, incluidos Azure Blob, AWS S3 y otros almacenamientos de objetos compatibles con S3.
Conclusión
Para migrar una máquina virtual de Hyper-V a Proxmox, es necesario preparar la máquina virtual de origen instalando los controladores VirtIO, crear una nueva máquina virtual Proxmox, convertir el disco virtual exportado e importar el disco convertido a la máquina virtual Proxmox. Los discos virtuales SCSI ofrecen un mayor rendimiento, pero requieren una configuración adicional para funcionar correctamente. También es necesario arrancar desde el disco virtual conectado al controlador de disco virtual IDE o SATA, añadir un disco SCSI temporal para instalar los controladores y, a continuación, se puede conectar el disco de inicio al controlador SCSI. No olvide proteger sus datos con una solución de copia de seguridad avanzada como NAKIVO Backup & Replication.