--- title: "Cómo ampliar un volumen LVM en Ubuntu 24.04 sin reiniciar" description: "Amplía un volumen lógico LVM y su sistema de archivos ext4 o XFS en caliente en Ubuntu 24.04 con espacio libre del grupo, un disco ampliado o un disco nuevo." category: "Gestión de Almacenamiento" language: es source: https://cubepath.com/es/docs/gestión-de-almacenamiento/como-expandir-particiones-lvm updated: 2026-09-25 --- # Cómo ampliar un volumen LVM en Ubuntu 24.04 sin reiniciar LVM (Logical Volume Manager) añade una capa entre los discos y los sistemas de archivos que permite ampliar volúmenes sin reparticionar ni reiniciar. En este tutorial ampliarás un volumen lógico y su sistema de archivos en Ubuntu 24.04 en los tres casos que te encontrarás en la práctica: el grupo de volúmenes ya tiene espacio libre, el disco ha crecido (por ejemplo, tras ampliar el plan de un VPS) o has añadido un disco nuevo. Todo se hace en caliente, con el sistema de archivos montado. ## Requisitos previos - Un servidor con Ubuntu 24.04 LTS que use LVM, por ejemplo un servidor de CubePath instalado con el esquema LVM del instalador de Ubuntu Server. - Un usuario no root con privilegios `sudo`. - Una copia de seguridad reciente de los datos del volumen. Ampliar es una operación segura, pero un error de dispositivo no lo es. Los comandos de LVM son los mismos en Debian 12 y Rocky Linux 9. En Rocky, el grupo por defecto se llama `rl` y el sistema de archivos es XFS. ## Conceptos básicos de LVM LVM organiza el almacenamiento en tres niveles: | Nivel | Qué es | Comando para verlo | |-------|--------|--------------------| | Volumen físico (PV) | Un disco o partición preparado para LVM | `sudo pvs` | | Grupo de volúmenes (VG) | Un conjunto de PV que forma una reserva de espacio | `sudo vgs` | | Volumen lógico (LV) | Un "disco virtual" sacado del VG, donde va el sistema de archivos | `sudo lvs` | Para ampliar un sistema de archivos siempre hay que recorrer la cadena de abajo arriba: espacio en el PV, espacio libre en el VG, ampliar el LV y, por último, ampliar el sistema de archivos. ## Paso 1: Revisar la configuración actual Muestra los discos, particiones y volúmenes lógicos: ```bash lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS ``` ```output NAME SIZE TYPE FSTYPE MOUNTPOINTS sda 100G disk ├─sda1 1M part ├─sda2 2G part ext4 /boot └─sda3 98G part LVM2_member └─ubuntu--vg-ubuntu--lv 49G lvm ext4 / ``` Después, el estado de cada nivel de LVM: ```bash sudo pvs sudo vgs sudo lvs ``` ```output PV VG Fmt Attr PSize PFree /dev/sda3 ubuntu-vg lvm2 a-- <98.00g 49.00g VG #PV #LV #SN Attr VSize VFree ubuntu-vg 1 1 0 wz--n- <98.00g 49.00g LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert ubuntu-lv ubuntu-vg -wi-ao---- 49.00g ``` La columna `VFree` indica cuánto espacio libre tiene el grupo. Anota también el sistema de archivos del volumen (`ext4` en la salida de `lsblk`), porque determina cómo se amplía. Según lo que veas, sigue el caso que corresponda: - `VFree` es mayor que cero: ve al paso 2. - `VFree` es cero pero el disco es más grande que la partición del PV: ve al paso 3. - Has conectado un disco nuevo: ve al paso 4. ## Paso 2: Ampliar con el espacio libre del grupo Este es el caso más habitual en Ubuntu Server: el instalador crea `ubuntu-lv` con solo una parte del grupo de volúmenes y deja el resto sin asignar, como en el ejemplo anterior, donde el volumen raíz tiene 49 GB y hay otros 49 GB libres. Amplía el volumen lógico con todo el espacio libre y redimensiona el sistema de archivos en la misma orden: ```bash sudo lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv ``` - `-l +100%FREE` añade todas las extensiones libres del grupo. Para añadir una cantidad concreta, usa `-L +20G`. - `-r` (`--resizefs`) amplía también el sistema de archivos después de ampliar el volumen. Funciona con ext4 y XFS. ```output Size of logical volume ubuntu-vg/ubuntu-lv changed from 49.00 GiB (12544 extents) to <98.00 GiB (25087 extents). Logical volume ubuntu-vg/ubuntu-lv successfully resized. resize2fs 1.47.0 (5-Feb-2023) Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 25689088 (4k) blocks long. ``` Comprueba que el sistema de archivos ve el nuevo tamaño: ```bash df -h / ``` ```output Filesystem Size Used Avail Use% Mounted on /dev/mapper/ubuntu--vg-ubuntu--lv 97G 6.1G 86G 7% / ``` > Nota: si olvidas `-r`, el volumen crecerá pero `df` seguirá mostrando el tamaño anterior. Amplía el sistema de archivos a mano con `sudo resize2fs /dev/ubuntu-vg/ubuntu-lv` (ext4) o `sudo xfs_growfs /` (XFS, indicando el punto de montaje). ## Paso 3: Ampliar tras agrandar el disco Cuando amplías el disco de una máquina virtual (por ejemplo, al subir de plan un VPS), el disco crece, pero la partición que contiene el PV, el propio PV, el volumen lógico y el sistema de archivos siguen con su tamaño anterior. Hay que ampliarlos en ese orden. ### Detectar el nuevo tamaño del disco Comprueba si el sistema ya ve el tamaño nuevo: ```bash lsblk /dev/sda ``` Si el disco todavía muestra el tamaño antiguo y es un dispositivo SCSI (`sda`, `sdb`), pide al kernel que lo vuelva a leer: ```bash echo 1 | sudo tee /sys/class/block/sda/device/rescan ``` Los discos virtio-blk (`vda`) suelen detectar el cambio automáticamente; si no, reinicia el servidor. ### Ampliar la partición `growpart` extiende una partición hasta el final del disco sin tocar su inicio ni sus datos. Forma parte del paquete `cloud-guest-utils`: ```bash sudo apt install cloud-guest-utils ``` Amplía la partición 3 de `/dev/sda` (fíjate en el espacio entre el disco y el número): ```bash sudo growpart /dev/sda 3 ``` ```output CHANGED: partition=3 start=4198400 old: size=205516767 end=209715166 new: size=415231967 end=419430366 ``` Si recibes `NOCHANGE: partition 3 is size ... it cannot be grown`, el disco aún no muestra espacio adicional detrás de la partición: vuelve al apartado anterior. `growpart` solo puede ampliar la **última** partición del disco, o una que tenga espacio libre justo detrás. En el esquema por defecto de Ubuntu, la partición LVM es la última. ### Ampliar el volumen físico Indica a LVM que el PV ahora es más grande: ```bash sudo pvresize /dev/sda3 ``` ```output Physical volume "/dev/sda3" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized ``` Comprueba que el grupo tiene espacio libre: ```bash sudo vgs ``` ```output VG #PV #LV #SN Attr VSize VFree ubuntu-vg 1 1 0 wz--n- <198.00g 100.00g ``` ### Ampliar el volumen lógico y el sistema de archivos Ahora estás en el mismo punto que en el paso 2: ```bash sudo lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv df -h / ``` ## Paso 4: Ampliar añadiendo un disco nuevo En un servidor dedicado o una máquina virtual a la que has conectado otro disco, puedes añadirlo al grupo existente. El espacio de ambos discos se suma. > Advertencia: el disco nuevo se incorporará a LVM y cualquier dato que tenga se perderá. Además, si un grupo abarca varios discos y uno falla, se pierden los volúmenes que tuvieran datos en él. Para redundancia, crea el grupo sobre un RAID 1. Identifica el disco nuevo, que no tendrá particiones ni punto de montaje: ```bash lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS ``` ```output NAME SIZE TYPE MOUNTPOINTS sda 100G disk ├─sda1 1M part ├─sda2 2G part /boot └─sda3 98G part └─ubuntu--vg-ubuntu--lv 98G lvm / sdb 200G disk ``` Crea una tabla GPT con una partición de tipo LVM que ocupe todo el disco. Usar una partición en lugar del disco completo deja claro a otras herramientas que el disco está en uso: ```bash sudo parted -s -a optimal /dev/sdb mklabel gpt mkpart lvm 0% 100% set 1 lvm on ``` Inicializa la partición como volumen físico: ```bash sudo pvcreate /dev/sdb1 ``` ```output Physical volume "/dev/sdb1" successfully created. ``` Añádela al grupo de volúmenes: ```bash sudo vgextend ubuntu-vg /dev/sdb1 ``` ```output Volume group "ubuntu-vg" successfully extended ``` Verifica que el grupo tiene ahora dos PV y el espacio libre del disco nuevo: ```bash sudo pvs sudo vgs ``` ```output PV VG Fmt Attr PSize PFree /dev/sda3 ubuntu-vg lvm2 a-- <98.00g 0 /dev/sdb1 ubuntu-vg lvm2 a-- <200.00g <200.00g VG #PV #LV #SN Attr VSize VFree ubuntu-vg 2 1 0 wz--n- 297.99g <200.00g ``` Por último, amplía el volumen lógico y su sistema de archivos: ```bash sudo lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv df -h / ``` No hace falta tocar `/etc/fstab`: el volumen lógico conserva su nombre y su UUID. ## Ampliar otro volumen lógico Los pasos son idénticos para cualquier volumen, no solo para la raíz. Si tienes varios volúmenes en el mismo grupo, por ejemplo uno montado en `/var/lib/mysql`, amplía solo el que lo necesita con una cantidad concreta y deja el resto del espacio libre para el futuro: ```bash sudo lvextend -r -L +10G /dev/ubuntu-vg/mysql ``` Asignar solo lo necesario te da margen para repartir espacio después, algo importante si usas XFS, que no se puede reducir. ## Solución de problemas **`Insufficient free space: N extents needed, but only M available`.** El grupo no tiene suficiente espacio libre. Revisa `sudo vgs` y amplía primero el PV (paso 3) o añade un disco (paso 4). **`lvextend` amplía el volumen pero `df` muestra el tamaño antiguo.** No se usó `-r`. Amplía el sistema de archivos a mano con `resize2fs` (ext4) o `xfs_growfs` con el punto de montaje (XFS). **`pvresize` no cambia nada.** La partición todavía no se ha ampliado o el kernel no ve el nuevo tamaño del disco. Comprueba con `lsblk` que la partición es más grande que antes y repite `growpart`. **`growpart` falla con `failed to resize` o el kernel no actualiza la tabla.** Instala `cloud-guest-utils` y comprueba que la partición es la última del disco. Si la tabla está en uso y no se relee, ejecuta `sudo partprobe /dev/sda` o reinicia antes de `pvresize`. ## Conclusión Has ampliado un volumen lógico y su sistema de archivos en caliente en los tres casos habituales: espacio libre en el grupo, disco ampliado con `growpart` y `pvresize`, y disco nuevo con `pvcreate` y `vgextend`. Como siguientes pasos, puedes vigilar el uso de disco con alertas antes de quedarte sin espacio, crear el grupo de volúmenes sobre un RAID 1 con mdadm para tener redundancia o usar snapshots de LVM antes de actualizaciones importantes.