Ampliar partición y sistema de archivos en un VPS Linux

3 min
Hosting VPS/VDS

Tras un upgrade de disco en su VPS Linux Infrawire, el disco virtual es más grande, pero la partición y el sistema de archivos conservan su tamaño anterior. Hay que ampliar ambos a mano, en caliente y sin desmontar la raíz.

Esta guía cubre las particiones clásicas (ext4 y XFS) y las instalaciones con LVM en Ubuntu 24.04, Debian 12, AlmaLinux 9 y Rocky 9.

📋 Requisitos previos

  • Un VPS cuyo disco ya se haya ampliado (el nuevo tamaño aparece en lsblk)
  • Acceso SSH como root (la IP y la contraseña root están en su área de cliente)
  • Una copia de seguridad reciente de sus datos importantes

1. Hacer una copia antes de tocar las particiones

Redimensionar un sistema de archivos ext4 o XFS montado es habitual, pero un error en la tabla de particiones puede destruir datos. Guarde primero lo esencial:

Bash
# Archivar los datos irremplazables tar -czf /root/backup-etc.tar.gz /etc rsync -avz /var/www/ USER@BACKUP_HOST:/backups/www/ # Guardar la tabla de particiones (útil para restaurarla) sfdisk -d /dev/vda > /root/vda-partition-table.txt

2. Identificar el disco, la partición y el sistema de archivos

Bash
lsblk -f df -hT /

Salida típica: disco vda de 80G, partición vda1 de 40G montada en /, sistema de archivos ext4 o xfs. Si la raíz está en /dev/mapper/..., usa LVM: vea la sección 5. El disco también puede llamarse sda o nvme0n1 (las particiones acaban entonces en p1).

3. Ampliar la partición con growpart

Instale la herramienta. En Ubuntu y Debian el paquete es cloud-guest-utils; en AlmaLinux y Rocky es cloud-utils-growpart:

Bash
# Ubuntu / Debian apt update && apt install -y cloud-guest-utils # AlmaLinux / Rocky dnf install -y cloud-utils-growpart

Amplíe después la partición número 1 del disco /dev/vda (fíjese en el espacio entre el disco y el número):

Bash
growpart /dev/vda 1

Si el mensaje dice NOCHANGE, la partición ya ocupa todo el espacio. Algunas imágenes tienen además una partición pequeña tras la raíz (un swap, por ejemplo): en ese caso growpart no puede ampliar la raíz y hay que eliminar o mover antes esa partición.

Compruebe que el kernel ve el nuevo tamaño:

Bash
lsblk /dev/vda # Si aún aparece el tamaño anterior: partprobe /dev/vda

4. Ampliar el sistema de archivos

Use el comando que corresponda a su tipo de sistema de archivos (lo muestra lsblk -f).

Para ext4:

Bash
resize2fs /dev/vda1

Para XFS (por defecto en AlmaLinux y Rocky). El argumento es el punto de montaje, no el dispositivo, y XFS solo puede crecer, nunca reducirse:

Bash
xfs_growfs /

5. Caso LVM: pvresize y lvextend

Cuando el volumen lógico raíz está sobre LVM, hay una capa más: partición, luego volumen físico, luego volumen lógico y por último el sistema de archivos.

Bash
lsblk pvs && vgs && lvs # 1. Ampliar la partición que contiene el volumen físico (aquí vda3) growpart /dev/vda 3 # 2. Avisar a LVM de que el volumen físico es mayor pvresize /dev/vda3 # 3. Extender el volumen lógico y su sistema de archivos de una vez (-r) lvextend -r -l +100%FREE /dev/mapper/VG_NAME-LV_NAME

La opción -r llama por usted a la herramienta adecuada (resize2fs o xfs_growfs). Adapte VG_NAME-LV_NAME a la salida de lvs, por ejemplo /dev/ubuntu-vg/ubuntu-lv. Para usar solo parte del espacio libre, sustituya -l +100%FREE por -L +10G.

6. Verificar el resultado

Bash
df -h / lsblk

La columna Size de df -h debe coincidir ahora con la nueva capacidad, y lsblk debe mostrar la partición ocupando todo el disco. No hace falta reiniciar: sus aplicaciones siguen funcionando durante toda la operación.

🛠️ Solución de problemas

growpart: command not found: el paquete no está instalado. Instale cloud-guest-utils (apt) o cloud-utils-growpart (dnf).

NOCHANGE: partition 1 could not be grown: o bien el disco no se amplió realmente (compare lsblk con lo que contrató), o bien hay otra partición justo después de la que quiere ampliar. Compruébelo con fdisk -l /dev/vda.

resize2fs: Bad magic number in super-block: el sistema de archivos probablemente es XFS y no ext4. Ejecute lsblk -f y use xfs_growfs /.

xfs_growfs: / is not a mounted XFS filesystem: pasó un nombre de dispositivo, o el sistema de archivos es ext4. Indique el punto de montaje y compruebe antes el tipo.

lvextend indica que no quedan extents libres: se saltó growpart o pvresize. Ejecute pvs y revise la columna PFree.


🎉 Su espacio de disco adicional ya es utilizable: sin reinicio, sin cortes, y df -h lo demuestra.

Mantente al día con las últimas ofertas, descuentos y promociones especiales.

Ver promociones

Utilizamos cookies

Utilizamos cookies analíticas para mejorar su experiencia en nuestro sitio. No vendemos datos a terceros. Más información en nuestra política de privacidad.