Skip to main content

Ampliación de disco (basado en qcow2) en sistema virtualizado KVM (proxmox)

Contexto

Proceso para ampliar un disco virtual qcow2 en Proxmox cuando el sistema operativo invitado usa LVM y la tabla de particiones GPT no reconoce el nuevo tamaño tras la ampliación.

Escenario inicial

  • Disco qcow2 ampliado desde ~36GB a 46GB en Proxmox
  • Sistema operativo no reconoce el espacio adicional
  • Estructura: sda1 (BIOS boot), sda2 (boot), sda3 (LVM PV)

Síntomas

fdisk -l /dev/sda
# Output:
# GPT PMBR size mismatch (75497471 != 96468991) will be corrected by write.
# The backup GPT table is not on the end of the device.

Prerequisitos

  • Backup: Crear snapshot en Proxmox antes de proceder
  • Acceso: Conexión SSH o consola al sistema invitado
  • Herramientas: gdisk, parted, lvm2 (generalmente preinstalados)

Proceso paso a paso

1. Verificar estado inicial

# Ver estructura actual del disco
fdisk -l /dev/sda

# Verificar PV/VG/LV actuales
pvscan
vgdisplay
lvscan

2. Corregir estructura GPT

# Abrir gdisk
gdisk /dev/sda

# Verificar problemas
v

# Entrar en modo experto y corregir
x          # Expert mode
e          # Relocate backup structures to end of disk
w          # Write changes and exit
y          # Confirm

3. Redimensionar partición

# Expandir la partición al 100% del disco disponible
parted /dev/sda resizepart 3 100%

4. Expandir Physical Volume

# Redimensionar el PV para usar todo el espacio de la partición
pvresize /dev/sda3

# Verificar el resultado
pvdisplay /dev/sda3

5. Expandir Logical Volume y filesystem

# Expandir el LV usando todo el espacio libre disponible
lvresize --extents +100%FREE --resizefs /dev/ubuntu-vg/ubuntu-lv

# El flag --resizefs ejecuta automáticamente resize2fs

6. Verificación final

# Verificar espacio disponible
df -h /

# Vista general de la estructura
lsblk

# Verificar estado LVM
vgdisplay
lvdisplay

Mensajes esperados

Durante gdisk verify (v)

Problem: The secondary header's self-pointer indicates that it doesn't reside at the end of the disk
Warning: There is a gap between the secondary partition table and secondary metadata
Caution: Partition 3 doesn't end on a 2048-sector boundary

Nota: Estos son problemas esperados tras ampliar el disco y se corrigen con el comando e en expert mode.

Durante lvresize

Physical volume "/dev/sda3" changed
Size of logical volume changed from <34.25 GiB to <44.25 GiB
resize2fs: on-line resizing required
The filesystem is now XXXXXX (4k) blocks long.

Consideraciones importantes

Seguridad

  • Sin downtime: Todo el proceso se ejecuta en caliente
  • Solo crecimiento: No se mueven ni reducen datos existentes
  • LVM como protección: Añade capa adicional de seguridad

Orden crítico

  1. Corregir GPT antes que redimensionar particiones
  2. Redimensionar partición antes que PV
  3. Expandir PV antes que LV

Troubleshooting común

  • "Disk in use" warning: Normal, se puede ignorar en operaciones de crecimiento
  • GPT mismatch: Esperado tras resize de qcow2, se corrige con gdisk
  • Alignment warnings: Generalmente no críticos en discos virtuales

Comandos de verificación post-proceso

# Verificar que no quedan problemas GPT
gdisk /dev/sda
v
q

# Estado final del disco
fdisk -l /dev/sda

# Estado LVM completo
pvs && vgs && lvs

# Espacio en filesystem
df -h /

Resultado esperado

  • Disco reconocido con nuevo tamaño completo
  • Sin mensajes de error en GPT
  • Espacio adicional disponible en el filesystem raíz
  • Sistema operativo funcionando normalmente

  • Proceso validado en Ubuntu 22.04 sobre Proxmox VE con discos qcow2
  • Generado el 26/09/2025 por Abdelkarim Mateos Sánchez - Administrador de Sistemas
Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris

Si necesitas soporte profesional puedes contratar con Castris soporte profesional.