En corto
Con el disco ya agrandado del lado del hipervisor (qm resize 100 scsi0 +50G en Proxmox, Edit disk en VMware, la consola de tu nube):
| |
Sin reinicio. df -h / confirma.
Antes de empezar
- Snapshot o backup en el hipervisor. Crecer es seguro; equivocarse de partición no.
- Mira el layout:
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS. Ahí ves el número de partición, si hay LVM debajo y qué sistema de archivos toca. - Nombres: virtio-blk es
/dev/vda; virtio-scsi y SATA,/dev/sda; NVMe,/dev/nvme0n1con particionesp1,p2… (growpart /dev/nvme0n1 1). - A veces el espacio ya está: Ubuntu Server crea el LV usando solo parte del VG. Si
vgsmuestraVFreegrande, salta directo allvextend.
1. Que el kernel vea el disco nuevo
| Bus | Qué hacer |
|---|---|
virtio-blk (vda) | Nada: dmesg | tail muestra [vda] new size: … |
virtio-scsi, SATA, IDE (sda) | echo 1 > /sys/class/block/sda/device/rescan |
| Disco nuevo (no crecido) | echo "- - -" > /sys/class/scsi_host/host0/scan |
| NVMe en nube | Suele aparecer solo en un minuto; si no, echo 1 > /sys/class/nvme/nvme0/rescan_controller |
lsblk tiene que mostrar el tamaño nuevo en el disco antes de seguir; si no lo muestra, growpart dirá NOCHANGE.
2. growpart
| |
growpart estira la partición hasta el final del disco, mueve la cabecera de respaldo de GPT y avisa al kernel de la tabla nueva aunque la partición esté montada (usa partx --update). Solo funciona con la última partición; si hay una de swap detrás de la raíz, quítala primero (swapoff, fdisk para borrarla, y la vuelves a crear al final).
Sin growpart: parted /dev/sda resizepart 3 100% hace lo mismo con una pregunta de confirmación.
3a. LVM
| |
-r llama a resize2fs o xfs_growfs según lo que haya en el LV. Sin -r, hazlo tú: resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv o xfs_growfs /.
3b. Sin LVM
| |
Raspberry Pi y tarjetas SD
Mismo guion con otros nombres (imagen de Fedora ARM con LVM):
| |
Trampas
growpart: NOCHANGE: el kernel todavía no vio el tamaño nuevo. Vuelve al paso 1.growpartfalla en un locale que no es inglés (parsea la salida desfdisk):LC_ALL=C growpart /dev/sda 3.GPT PMBR size mismatchenfdisk -ldespués de crecer el disco: la cabecera de respaldo de GPT quedó donde terminaba el disco viejo.growpartla mueve; si lo hiciste a mano,sgdisk -e /dev/sda.- La partición no es la última. Swap o
/homedetrás de la raíz: o mueves esas, o añades un disco nuevo y lo sumas al VG (pvcreate /dev/sdb && vgextend ubuntu-vg /dev/sdb), que en LVM es más rápido que reordenar particiones. - Encoger es otra historia: ext4 solo desmontado; XFS nunca. Piénsalo antes de dar 2 TB “por si acaso”.
- Windows se agranda desde Administración de discos → Extender volumen; no aplica nada de esto.
Ver también
- Plantillas cloud-init en Proxmox: ahí el
qm resizedel lado del host. - LVM: no se activa el volume group, por si el paso 3 se pone raro.
- Mover los datos de k3s a otro disco, la alternativa cuando lo que se llena es un servicio concreto.