GNU/Linux >> Tutoriales Linux >  >> Linux

Migrar máquina virtual de VMware ESXi a Proxmox VE

Hola queridos lectores, hoy vamos a migrar una máquina virtual de VMware ESXi a Proxmox VE.

Hoy no estamos trabajando en nuestro entorno de laboratorio sino en el entorno de producción. Hemos programado un tiempo de inactividad para este proceso de migración. Estamos migrando un servidor NTP virtual de nuestro antiguo ESXi al nuevo Proxmox Cluster.

Preparación para la migración

Tenemos una matriz de discos RAID5 como almacén de datos para nuestro antiguo hipervisor ESXi y almacenamiento replicado Gluster FS como almacenamiento compartido en Proxmox Cluster. Sabemos que VMware ESXi almacena discos de VM en formato de imagen VMDK y para Proxmox necesitamos el formato de imagen de disco QCOW2. Entonces, cambiaremos el formato de imagen de VMDK a QCOW2. Para obtener más información sobre Proxmox, puede visitar nuestras otras publicaciones sobre Proxmox.

Podemos importar directamente el disco de VMware a Proxmox Hypervisor, pero utilizará el tamaño de disco completo asignado para la imagen del disco virtual. Importar la imagen del disco como aprovisionamiento delgado ahorraría algo de espacio en disco y nos permitiría comprometer demasiado espacio en disco entre máquinas virtuales.

Para importar un disco de máquina virtual con aprovisionamiento delgado y eliminar el espacio de disco innecesario utilizado por la imagen de disco, usaremos otro host de virtualización CentOS intermedio con la utilidad qemu-img y la herramienta de compresión virt-sparsify, pigz instalada en él.

En este artículo realizamos todas las operaciones desde la interfaz de línea de comandos. Por lo tanto, necesitaremos acceso de shell para los 3 hosts. Para habilitar el acceso SSH en VMware ESXi, consulte este documento. También necesitaremos permitir que el cliente SSH utilice archivos de imagen de disco SCP desde el host ESXi; vaya a Redes -> Reglas de firewall -> Cliente SSH en el portal de host ESXi. Haga clic en Acciones y luego en Habilitar.

Preparación de la imagen de disco de VMware ESXi

Identifique la máquina virtual de destino dentro de ESXi.

# vim-cmd vmsvc/getallvms

O use grep para filtrar salidas innecesarias

# vim-cmd vmsvc/getallvms | grep -i ntp

Aquí encontramos que la ID de la VM es 19 y su archivo de configuración se encuentra dentro de datastore2/NTP-1 directorio.

Ahora apague la máquina virtual de destino y verifique el estado de energía de la VM

# vim-cmd vmsvc/power.getstate 19

Navegue al directorio de VM y determine el nombre del disco virtual

VMware utiliza el formato de imagen de disco VMDK para almacenar datos. En ESXi, utiliza un archivo de metadatos y nombres de imagen de disco reales como IMAGENAME-flat.vmdk. Aquí encontramos que tenemos esos 2 archivos, NTP-1.vmdk (metadatos) y NTP-1-flat.vmdk.

Como el disco virtual NTP-1-flat.vmdk tiene un tamaño mayor, vamos a comprimirlo para que no nos cueste más tiempo transferir datos de ESXi al host CentOS.

# pigz -v -1 -k -p8 NTP-1-flat.vmdk

Nota:si tiene conexiones de red de alta velocidad entre servidores, puede omitir la compresión.

Después de completar la compresión, SCP la imagen de disco comprimida y el archivo de metadatos a nuestro host de virtualización de CentOS intermedio para convertir y dispersar la imagen de disco.

Convierta VMDK a QCOW2 y disperse la imagen de disco QCOW2

Para convertir la imagen de disco de formato VMDK a QCOW2 necesitaremos qemu-img utilidad que debe estar preinstalada en el host de CentOS Virtualizations. También puede instalarlo con el siguiente comando

# yum install -y qemu-img

Navegue al directorio de imagen de disco y descomprima el archivo de imagen de disco

# pigz -v -d NTP-1-flat.vmdk.gz

Convertir formato de archivo de VMKD a QCOW2

# qemu-img convert -p -O qcow2 NTP-1.vmdk  NTP-1.qcow2

Instale virt-sysprep herramientas en el host de CentOS

# yum install -y /usr/bin/virt-sysprep

Para evitar el problema del tamaño del directorio temporal, estamos creando un tmp directorio dentro de nuestros vmdata directorio y permisos completos para todos los usuarios

# mkdir /vmdata/tmp
# chmod 777 -R tmp

Esparza el archivo de imagen de disco con formato qcow2

# virt-sparsify --tmp tmp --compress NTP-1.qcow2 ntp-1-sparsed.qcow2

Cargue el nuevo archivo de imagen de disco disperso en Proxmox VE Host

Implementar VM en Proxmox VE desde una imagen de disco QCOW2 existente

Creemos una VM en Proxmox VE

qm create 120  --name ntp-1  \
    --sockets 1 --cores 2 --vcpus 2 --cpu host \
    --memory 4096 \
    --ostype l26 --arch x86_64 \
    --agent enabled=1 \
    --scsihw virtio-scsi-pci \
    --bootdisk scsi0 \
    --boot c

Aquí 120 es la ID de VM en Proxmox

Importe la imagen de disco ntp-1-sparsed.qcow2 a la VM

# qm importdisk 120 /path/to/image/ntp-1-sparsed.qcow2 glusterFSname --format=qcow2
# qm set 120 --scsi0 glusterFSname:120/vm-120-disk-0.qcow2

Configurar redes para la VM

# qm set 120 --net0 model=virtio,bridge=vmbr0,firewall=1,tag=10

Aquí hemos usado la ID de VLAN 10 para la LAN del servidor, use su ID de VLAN para el tipo de puerto de conmutador etiquetado/troncal.

Verificar configuración de máquina virtual

# qm config 120
 

Inicie la máquina virtual

# qm start 120

Eso es todo, su VM se migró con éxito de VMware ESXi a Proxmox VE.


Linux
  1. ¿Cómo convertir VMDK (disco de máquina virtual) a VDI usando VBoxManage?

  2. Cómo crear una segunda partición primaria o adicional en una máquina virtual OpenStack

  3. Cómo agregar memoria, vCPU, disco duro a una máquina virtual Linux KVM

  4. Inicie un sistema operativo nativo en un disco duro como una máquina virtual

  5. ¿Puedo hacer una máquina virtual a partir de una máquina física con Windows XP?

Cómo extender el tamaño del disco de la máquina virtual KVM en Linux

Cómo acceder a la máquina virtual Proxmox con el cliente SPICE

Cómo crear máquinas virtuales Proxmox desde el panel de interfaz de usuario web de Proxmox VE

Cómo clonar una máquina virtual en VirtualBox

¿Cómo crear una nueva Máquina Virtual en Proxmox?

Cómo aumentar el espacio de disco virtual de la máquina virtual en VirtualBox y VMware