-
Extraer discos de máquinas virtuales de PVE directamente desde una unidad LVM
Si tenemos el volumen local-lvm de proxmox en un disco aparte, y queremos rescatar los discos de esas máquinas virtuales directamente desde el volumen montándolo en otro Linux, procedemos de esta forma:
Primero, para ver los volúmenes tvm-thin que tiene ese disco, ejecutamos como root:
lvdisplay
Nos dará una salida como esta:
--- Logical volume --- LV Path /dev/pve/vm-211-disk-0 LV Name vm-221-disk-0 VG Name pve LV UUID aaaaaa-aaaa-aaaa-aaaa-aaaa-aaaa-aaaaaa LV Write Access read/write LV Creation host, time ibpve1, 2025-11-20 21:02:12 +0100 LV Pool name data LV Status NOT available LV Size 60,00 GiB Current LE 15360 Segments 1 Allocation inherit Read ahead sectors auto --- Logical volume --- LV Path /dev/pve/vm-221-disk-0 LV Name vm-211-disk-0 VG Name pve LV UUID bbbbbb-bbbb-bbbb-bbbb-bbbb-bbbb-bbbbbb LV Write Access read/write LV Creation host, time ibpve1, 2025-11-20 21:04:11 +0100 LV Pool name data LV Status NOT available LV Size 100,00 GiB Current LE 25600 Segments 1 Allocation inherit Read ahead sectors auto --- Logical volume --- LV Path /dev/pve/vm-231-disk-0 LV Name vm-231-disk-0 VG Name pve LV UUID cccccc-cccc-cccc-cccc-cccc-cccc-cccccc LV Write Access read/write LV Creation host, time ibpve1, 2025-11-23 02:51:50 +0100 LV Pool name data LV Status NOT available LV Size 60,00 GiB Current LE 15360 Segments 1 Allocation inherit Read ahead sectors auto
De esa salida podemos observar que hay tres discos de máquinas virtuales:
/dev/pve/vm-211-disk-0 /dev/pve/vm-221-disk-0 /dev/pve/vm-231-disk-0
Desactivamos el thin-pool:
vgchange -an pve
Activamos el thin-volume de las tres máquinas virtuales:
lvchange -ay /dev/pve/vm-211-disk-0 lvchange -ay /dev/pve/vm-221-disk-0 lvchange -ay /dev/pve/vm-231-disk-0
Clonamos los tres discos, por ejemplo, dentro de la carpeta /root:
qemu-img convert -p -f raw -O raw -S 4k /dev/pve/vm-211-disk-0 /root/vm-211-disk-0.raw qemu-img convert -p -f raw -O raw -S 4k /dev/pve/vm-221-disk-0 /root/vm-221-disk-0.raw qemu-img convert -p -f raw -O raw -S 4k /dev/pve/vm-231-disk-0 /root/vm-231-disk-0.raw
Verificamos que la clonación creó volúmenes correctos:
qemu-img info /root/vm-211-disk-0.raw qemu-img info /root/vm-221-disk-0.raw qemu-img info /root/vm-231-disk-0.raw
Desactivamos primero los LVs de las VMs y luego el VG completo::
sync lvchange -an /dev/pve/vm-211-disk-0 lvchange -an /dev/pve/vm-221-disk-0 lvchange -an /dev/pve/vm-231-disk-0 vgchange -an pve
Luego, opcionalmente, podemos expulsar el disco donde está el lvm:
blockdev --flushbufs /dev/sdh echo 1 > /sys/block/sdh/device/delete