De mi Manual de Proxmox VE 4.x: Solución de Problemas (P4-V2)

Saludos nuevamente.

En el post anterior, se describió el proceso de migración de un disco duro virtual de un tipo de almacenamiento a otro. Después de leerme mi propio manual, he llegado a la conclusión de que lo que hice es muy tedioso; y ahora que medito un poco sobre el asunto, creo que me dejé llevar por las enseñanzas de la vieja escuela y también por el entusiamo de haber resuelto el problema, sabiendo que la solución encontrada se ajustaba a lo que nos dieron una vez en la carrera: a un algoritmo ávido (o sea, no es la solución óptima, pero es una solución).

Luego de ver y analizar la otra variante que he aplicado hace unos minutos, me percaté, además, que… es la óptima.

Solución:

NOTA IMPORTANTE: La solución que se describirá a continuación es aplicable solamente a los casos en que se hayan restaurado los entornos virtuales a través del CLI o Shell del nodo siguiendo el método tradicional. No obstante, también se mostrará la secuencia de pasos de la variante rápida mediante la WebGUI.

Restauración directa mediante la WebGUI de Proxmox VE

Si el proceso de restauración se realiza mediante la WebGUI directamente, Proxmox VE se encarga de hacer los ajustes y conversiones necesarias [solito, solito] en segundo plano.Estos son los pasos:

1.- Ir al almacenamiento principal –> Content (Contenido)

De ahí se debe seleccionar el archivo de respaldo de la VM deseada:

VM 142 - Restauracion directa - 1

Y, ¿por qué no?, también echarle un vistazo a la configuración con la nueva opción “Show Configuration” para chequear que todo está bien:

VM 142 - Restauracion directa - Chequear configuracion

2.- Seleccionar almacenamiento destino y VMID que tendrá la VM

Sí, estas opciones son fundamentales debido a que ya se selecciona de antemano el almacenamiento donde se guardará eldisco duro virtual de la VM…

VM 142 - Restauracion directa - Seleccionar Storage - 2

Y el valor del parámetro VMID, que debe ser el mismo para que no haya confusión más adelante…

VM 142 - Restauracion directa - Establecer VMID - 3

3.- Restaurar VM

Sí, aquí es donde comienza el proceso de restauración:

VM 142 - Restauracion directa - Restaurando disco en un nuevo volumen logico LVM-Thin - 4

Como se dijo anteriormente, puede tomar un buen tiempo dada las características del servidor y el rendimiento de los discos duros físicos que posea:

VM 142 - Restauracion directa - Restaurando disco en un nuevo volumen logico LVM-Thin - 5

4.- Verificar que la VM se ha restaurado correctamente:

Este paso es fundamental para saber si todo está listo para continuar:

VM 142 - Restauracion directa - VM Restaurada exitosamente - 6

Y, de paso, ver el estado del LVM:

root@prx:~# lvdisplay

(…)

— Logical volume —

LV Path                /dev/pve/vm-142-disk-1

LV Name                vm-142-disk-1

VG Name                pve

LV UUID                kUJJMZ-FlWF-EWDx-0RoD-Wni9-R6sq-kl9bU3

LV Write Access        read/write

LV Creation host, time prx, 2016-10-15 10:52:47 -0400

LV Pool name           data

LV Status              available

# open                 0

LV Size                160.00 GiB

Mapped size            68.69%

Current LE             40960

Segments               1

Allocation             inherit

Read ahead sectors     auto

– currently set to     256

Block device           251:7

 

root@prx:~#

Como se ve, solamente se ha mapeado el 68.69% del espacio total que requiere el volumen lógico LVM-Thin.

5.- Encender nuevamente la VM recién respaldada

Muy rápido y sencillo este método de restauración, ¿verdad? Pero el objetivo de esta variante, que es arreglar el error cometido anteriormente, es el que viene a continuación.

Moviendo una imagen de disco virtual qcow2 a un volumen lógico LVM-Thin

Comprendido lo anterior, ahora se mostrará otra secuencia de pasos, pero partiendo del hecho de que la VM se restauró mediante el comando qmrestore de manera rápida y sin detenerse a ver la variante descrita anteriormente:

# qmrestore /var/lib/vz/dump/vzdump-qemu-142-2016_07_03-00_10_06.vma.gz 142

restore vma archive: zcat /var/lib/vz/dump/vzdump-qemu-142-2016_07_03-00_10_06.vma.gz|vma extract -v -r /var/tmp/vzdumptmp15474.fifo – /var/tmp/vzdumptmp15474

CFG: size: 437 name: qemu-server.conf

DEV: dev_id=1 size: 171798691840 devname: drive-scsi0

CTIME: Sun Jul  3 00:10:07 2016

Formatting ‘/var/lib/vz/images/142/vm-142-disk-1.qcow2’, fmt=qcow2 size=171798691840 encryption=off cluster_size=65536 preallocation=metadata lazy_refcounts=off refcount_bits=16

new volume ID is ‘local:142/vm-142-disk-1.qcow2’

map ‘drive-scsi0’ to ‘/var/lib/vz/images/142/vm-142-disk-1.qcow2’ (write zeros = 0)

progress 1% (read 1718026240 bytes, duration 30 sec)

progress 2% (read 3435986944 bytes, duration 34 sec)

(…)

progress 100% (read 171798691840 bytes, duration 3168 sec)

total bytes read 171798691840, sparse bytes 122477641728 (71.3%)

space reduction due to 4K zero blocks 24.4%

En las opciones de personalización del hardware del entorno virtual recién restaurado, específicamente la referente a los discos duros, aparece un botón que resuelve todo el problema: “Move disk”. En la página 102 de este manual se explica su funcionamiento.

Aplicando dicha opción, solamente cabe establecer el almacenamiento destino hacia donde se migrará la imagen virtual. Claro, se recomienda que la VM esté apagada previamente para evitar “sorpresas poteriores”. Aparte de eso, también se requiere d emucha paciencia porque este proceso puede tardar en dependencia del rendimiento del servidor, la velocidad y tasa de transferencia de sus discos duros.

La secuencia de pasos de esta variante de solución es la siguiente:

1.- Ir a las opciones de hardware de la VM –> Seleccionar el disco a migrar à Pulsar botón “Move disk”

VM 142 - Opcion Mover Disco - 1

2.- Seleccionar almacenamiento destino

En la nueva ventana que se muestra se debe seleccionar el almacenamiento hacia donde se moverá la imagen de disco virtual. Ahora bien, existe además una casilla de verificación llamada “Delete source”:

VM 142 - Opcion Mover Disco - 2

Como lo que se desea es quitar esta imagen del almacenamiento local principal, pues, esta opción se debe seleccionar. No obstante, puede darse el caso en que se desee conservar una copia de la imagen original, claro, teniéndola en otro tipo de almacenamiento para no ocupar un espacio que puede ser importante para el funcionamiento del nodo.

Una vez que ya se han establecido los parámetros necesarios, se pulsa el botón “Move disk”, así comenzará el proceso de migración…

VM 142 - Opcion Mover Disco - 3

Hasta que termine completamente

VM 142 - Opcion Mover Disco - 4

Completado el proceso, se pasa al siguiente paso.

3.- Verificar los nuevos cambios en el hardware de la VM

Para ello basta con chequear nuevamente las opciones de hardware de la VM y se notará inmediatamente el cambio:

VM 142 - Opcion Mover Disco - 5

Además, también se ve que no se ha mapeado todo el espacio del volumen lógico LVM-Thin:

root@prx:~# lvdisplay

(…)

  — Logical volume —

  LV Path                /dev/pve/vm-142-disk-1

  LV Name                vm-142-disk-1

  VG Name                pve

  LV UUID                nixz9e-znzA-1ur3-irIc-FRSi-f0JW-TFKGAZ

  LV Write Access        read/write

  LV Creation host, time prx, 2016-10-14 14:52:49 -0400

  LV Pool name           data

  LV Status              available

  # open                 1

  LV Size                160.00 GiB

  Mapped size            37.59%

  Current LE             40960

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  – currently set to     256

  Block device           251:7

 

root@prx:~#

Por lo que es mucho más acosejable debido a que solamente se ha mapeado el espacio que realmente se ha usado hasta el momento previo al respaldo de la VM.

4.- Encender nuevamente la VM

Y hasta aquí este post. Espero les resulte interesante. Una vez más se pone de manifiesto que hay que leer detenidamente, planificar lo que se va a hacer, y luego implementar las soluciones. Por lo menos, a mi me sirvió de lección. 🙂

14 Comments

  1. Saludos Hector:
    Mira tengo proxmox 4.2 virtualizado con VMware y a la hora de crea mi primera maquina virtual me da un error, (No accelerator found), pudieras explicarme porque me pasa eso.
    Gracias de antemano

    1. Saludos, Carlos.

      Primero que todo, debe tener en cuenta que tiene dos niveles de virtualización, en otras palabras, dos capas de abstracción sobre el sistema operativo donde está instalada la primera (VMware). Debe tener el soporte de virtualización nativa activado a nivel de BIOS primero, y luego activarla en el VMware.

      Espero le sirva. 🙂

  2. Hola Héctor, saludos y muchas felicidades por tan buen blog, la información relacionada con la virtualización, en especial usando PROXMOX, seguro estoy de que ha sacado de apuros a + de uno. Has esclarecido muchos misterios relacionados con el mismo con una paciencia increíble y una pedagogía magistral.
    Yo trabajo bien cerca de Ud. en el Palacio de Justicia.
    Quisiera saber si hay posibilidad de hacerle un par de preguntas a su correo electrónico.
    Saludos & Happy Hacking

    1. Saludos, Yusbel.

      Primero que todo, gracias por su comentario y sus elogios. Se agradecen muchísimo.

      Claro que puede, no faltaba más. Lo que, primeramente, debo crear mi cuenta de correo en mi nuevo trabajo. No obtante, si su cuenta de correo tiene entrada/salida internacional, le escribiré desde la mía.

      🙂

        1. Saludos, Kar.

          Primero que todo, gracias por su comentario.

          Yo me pondré en contacto con usted por correo. 🙂

  3. Hola, tengo un problema no me permite migrar maquinas virtuales me da el sigueinte error

    Feb 21 18:46:02 starting migration of VM 105 to node ‘pveIII’ (10.6.109.142)
    Found duplicate PV dvtlzv6R2Sch4AvHIcsXzoQreMei1QPY: using /dev/sdc not /dev/sdb
    Found duplicate PV PmEZczDGH11lrt0Fmd7WAgcvLYwjlqL3: using /dev/sdai2 not /dev/sdah2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sde2 not /dev/sdd2
    Found duplicate PV lWOtoKCcXXPQvDUATxeayCO1VIMnYjds: using /dev/sdu2 not /dev/sdt2
    Found duplicate PV dvtlzv6R2Sch4AvHIcsXzoQreMei1QPY: using /dev/sdv not /dev/sdc
    Found duplicate PV dvtlzv6R2Sch4AvHIcsXzoQreMei1QPY: using /dev/sdw not /dev/sdv
    Found duplicate PV iVJDF0wEjOKilw2ktBNZ6SAzfcWgLM2l: using /dev/sdg5 not /dev/sdf5
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdh2 not /dev/sde2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdx2 not /dev/sdh2
    Found duplicate PV lWOtoKCcXXPQvDUATxeayCO1VIMnYjds: using /dev/sdan2 not /dev/sdu2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdi2 not /dev/sdx2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdy2 not /dev/sdi2
    Found duplicate PV lWOtoKCcXXPQvDUATxeayCO1VIMnYjds: using /dev/sdao2 not /dev/sdan2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdj2 not /dev/sdy2
    Found duplicate PV iVJDF0wEjOKilw2ktBNZ6SAzfcWgLM2l: using /dev/sdz5 not /dev/sdg5
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdk2 not /dev/sdj2
    Found duplicate PV iVJDF0wEjOKilw2ktBNZ6SAzfcWgLM2l: using /dev/sdaa5 not /dev/sdz5
    Found duplicate PV b9Sliui2GRZqrLBZpecxF1gBC8A9tp3R: using /dev/sdl2 not /dev/sdag2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdab2 not /dev/sdk2
    Found duplicate PV b9Sliui2GRZqrLBZpecxF1gBC8A9tp3R: using /dev/sdm2 not /dev/sdl2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdac2 not /dev/sdab2
    Found duplicate PV PmEZczDGH11lrt0Fmd7WAgcvLYwjlqL3: using /dev/sdn2 not /dev/sdai2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdad2 not /dev/sdac2
    Found duplicate PV PmEZczDGH11lrt0Fmd7WAgcvLYwjlqL3: using /dev/sdo2 not /dev/sdn2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdae2 not /dev/sdad2
    Found duplicate PV b9Sliui2GRZqrLBZpecxF1gBC8A9tp3R: using /dev/sdaf2 not /dev/sdm2
    Volume group “centos” not found
    Cannot process volume group centos
    Volume group “centos” not found
    Cannot process volume group centos
    command ‘/sbin/vgs –separator : –noheadings –units b –unbuffered –nosuffix –options vg_name,vg_size,vg_free’ failed: exit code 5
    Found duplicate PV dvtlzv6R2Sch4AvHIcsXzoQreMei1QPY: using /dev/sdc not /dev/sdb
    Found duplicate PV PmEZczDGH11lrt0Fmd7WAgcvLYwjlqL3: using /dev/sdai2 not /dev/sdah2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sde2 not /dev/sdd2
    Found duplicate PV lWOtoKCcXXPQvDUATxeayCO1VIMnYjds: using /dev/sdu2 not /dev/sdt2
    Found duplicate PV dvtlzv6R2Sch4AvHIcsXzoQreMei1QPY: using /dev/sdv not /dev/sdc
    Found duplicate PV dvtlzv6R2Sch4AvHIcsXzoQreMei1QPY: using /dev/sdw not /dev/sdv
    Found duplicate PV iVJDF0wEjOKilw2ktBNZ6SAzfcWgLM2l: using /dev/sdg5 not /dev/sdf5
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdh2 not /dev/sde2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdx2 not /dev/sdh2
    Found duplicate PV lWOtoKCcXXPQvDUATxeayCO1VIMnYjds: using /dev/sdan2 not /dev/sdu2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdi2 not /dev/sdx2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdy2 not /dev/sdi2
    Found duplicate PV lWOtoKCcXXPQvDUATxeayCO1VIMnYjds: using /dev/sdao2 not /dev/sdan2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdj2 not /dev/sdy2
    Found duplicate PV iVJDF0wEjOKilw2ktBNZ6SAzfcWgLM2l: using /dev/sdz5 not /dev/sdg5
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdk2 not /dev/sdj2
    Found duplicate PV iVJDF0wEjOKilw2ktBNZ6SAzfcWgLM2l: using /dev/sdaa5 not /dev/sdz5
    Found duplicate PV b9Sliui2GRZqrLBZpecxF1gBC8A9tp3R: using /dev/sdl2 not /dev/sdag2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdab2 not /dev/sdk2
    Found duplicate PV b9Sliui2GRZqrLBZpecxF1gBC8A9tp3R: using /dev/sdm2 not /dev/sdl2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdac2 not /dev/sdab2
    Found duplicate PV PmEZczDGH11lrt0Fmd7WAgcvLYwjlqL3: using /dev/sdn2 not /dev/sdai2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdad2 not /dev/sdac2
    Found duplicate PV PmEZczDGH11lrt0Fmd7WAgcvLYwjlqL3: using /dev/sdo2 not /dev/sdn2
    Found duplicate PV yewiw0GfyyDMeZia6U0eGIUm2Uxd84Pb: using /dev/sdae2 not /dev/sdad2
    Found duplicate PV b9Sliui2GRZqrLBZpecxF1gBC8A9tp3R: using /dev/sdaf2 not /dev/sdm2
    Volume group “centos” not found
    Cannot process volume group centos
    Volume group “centos” not found
    Cannot process volume group centos
    Feb 21 18:48:18 ERROR: Failed to sync data – command ‘/sbin/lvs –separator : –noheadings –units b –unbuffered –nosuffix –options vg_name,lv_name,lv_size,lv_attr,pool_lv,data_percent,metadata_percent,snap_percent,uuid,tags’ failed: exit code 5
    Feb 21 18:48:18 aborting phase 1 – cleanup resources
    Feb 21 18:48:18 ERROR: migration aborted (duration 00:02:16): Failed to sync data – command ‘/sbin/lvs –separator : –noheadings –units b –unbuffered –nosuffix –options vg_name,lv_name,lv_size,lv_attr,pool_lv,data_percent,metadata_percent,snap_percent,uuid,tags’ failed: exit code 5
    TASK ERROR: migration aborted

    si puedes ayudarme a desifrar el misterio seria excelente

    1. Saludos, Juan José.

      Primero que todo, gracias por su comentario.

      Con respecto al problema que plantea, no da muchos elementos sobre la infraestructura de almacenamiento que usa. no obstante, esa salida que mostró anteriomente es similar a la de un LVM sobre iSCSI sin multipath (al cual se accede desde diferentes IPs o el dispositivo SAN/NAS que lo exporta, lo está haciendo a través de todas sus interfaces y el nodo Proxmox VE está leyendo de la misma manera). Si no tiene definido multipath, entonces debe decirle al exportador del dispositivo de bloques o target que solamente provea el servicio a través de una sola interfaz de red.

      Le digo esto porque en este blog expongo un caso similar. Por ello le sugiero que revise bien la configuración de la plataforma subyacente del almacenamiento que está provocando los errores que le sale a usted.

      Espero le sirva. 😀

  4. Hola Disculpa nuevamente realice el comando lvdisplay y vi mi volumenes logicos y encontre parte del problema que no me permite migrar y es esto

    — Logical volume —
    LV Path /dev/centos/home
    LV Name home
    VG Name centos
    LV UUID u1ejAz-boG5-mWIA-4Pv0-4udT-F35W-0yqQnX
    LV Write Access read/write
    LV Creation host, time postgresproduccion, 2016-08-30 17:09:17 -0300
    LV Status NOT available
    LV Size 39.45 GiB
    Current LE 10099
    Segments 1
    Allocation inherit
    Read ahead sectors auto

    — Logical volume —
    LV Path /dev/centos/root
    LV Name root
    VG Name centos
    LV UUID fVAVK3-7lM0-EeIr-uZ1A-T2ka-rAOO-J0G3oR
    LV Write Access read/write
    LV Creation host, time postgresproduccion, 2016-08-30 17:09:21 -0300
    LV Status NOT available
    LV Size 50.00 GiB
    Current LE 12800
    Segments 1
    Allocation inherit
    Read ahead sectors auto

    Volume group “centos” not found
    Cannot process volume group centos
    Volume group “centos” not found
    Cannot process volume group centos
    Volume group “centos” not found
    Cannot process volume group centos
    ahora bien que me recomiendas hacer para quitar ese error de echo esa maquina ya no esta en el proxmox no tengo ni idea algun tip

    1. Saludos nuevamente.

      ¿Qué es lo que sustenta a ese grupo de volúmenes? O sea, ¿qué es lo que subyace? ¿iSCSI o algo similar?

      Abunde un poco más al respecto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *