====== Extender root de máquina virtual con espacio libre del disco ======
Desde la actualización de agosto de 2017 es posible **elegir un tamaño personalizado para el disco root** o **redimensionar un disco existente**, pero para que ese espacio se pueda utilizar hay que asignar ese espacio manualmente en el sistema operativo.
Las plantillas de Ubuntu 14.04 y 16.04 tiene el root montado sobre LVM, usando una partición lógica del sistema de particionado tradicional DOS. Esta guía está escrita para estas plantillas, aunque recomendamos no saltarse en ningún caso el apartado de //Comprobar la configuración// por si acaso.
===== Comprobar la configuración =====
Antes de continuar debes confirmar que el sistema sobre el que apliques estas instrucciones tiene esta misma configuración, ya que puedes destruir el sistema si las aplicas mal.
Primero, comprueba que se está utilizando LVM:
# df -h /
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/mapper/Ubuntu14--vg-root 8,5G 6,3G 1,8G 79% /
El comando ''df -h '' muestra el montaje de ''/'' en ''/dev/mapper/Ubuntu--vg-root'', lo que nos confirma que el sistema sí está montado sobre LVM.
Ahora comprueba el nombre del volumen lógico utilizando para el root.
# lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
root Ubuntu-vg -wi-ao--- 6.03g
swap1 Ubuntu-vg -wi-ao--- 748.00m
También comprueba el nombre del grupo de volúmenes asociado y su volumen físico.
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda5 Ubuntu14-vg lvm2 a-- 9,76g 0
Con esos comandos vemos que el root está en un volumen lógico llamado ''root'' dentro de un grupo de volúmenes llamado ''Ubuntu-vg'' que utiliza como volumen físico ''/dev/sda5''.
Ten en cuenta además que en el sistema de particionado utilizado, ''/dev/sda5'' es una partición lógica que forma parte de la partición extendida ''/dev/sda2''.
===== Redimensionado =====
El redimensionado se puede resumir en los siguientes 5 pasos:
- Extender la partición extendida ''/dev/sda2'' para que ocupe el espacio libre en el disco.
- Extender la partición lógica ''/dev/sda5'' para que ocupe el espacio libre en la partición extendida.
- Extender el volumen físico del grupo de volúmenes ''Ubuntu-vg''.
- Extender el volumen lógico ''root'' para que ocupe el espacio libre del grupo de volúmenes.
- Extender el sistema de archivos para que ocupe el espacio libre del volumen lógico.
Arrancamos ''parted''. Con el comando ''print free'' vemos que el disco tiene un total de 21.5GB y un espacio libre al final del disco de 14GB.
# parted /dev/vda
(parted) print free
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
32.3kB 1049kB 1016kB Free Space
1 1049kB 256MB 255MB primary ext2 boot
256MB 257MB 1048kB Free Space
2 257MB 7515MB 7258MB extended
5 257MB 7515MB 7258MB logical lvm
7515MB 21.5GB 14.0GB Free Space
Primero hay que extender las particiones extendidas y lógica (por ese orden) para que acaben en el final del disco, que en este caso es 21.5GB (//pasos 1 y 2//).
(parted) resizepart 2 21.5GB
(parted) resizepart 5 21.5GB
(parted) quit
Una vez hecho, ya fuera de parted, extendemos el volumen físico del grupo de volúmenes (//paso 3//).
# pvresize /dev/vda5
Physical volume "/dev/vda5" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Ahora extendemos el volumen lógico (//paso 4//).
# lvextend -l+100%FREE /dev/mapper/Ubuntu--vg-root
Extending logical volume root to 19.03 GiB
Logical volume root successfully resized
Por último, extendemos el sistema de archivos (//paso 5//).
# resize2fs /dev/mapper/Ubuntu--vg-root
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/mapper/Ubuntu--vg-root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mapper/Ubuntu--vg-root is now 4987904 blocks long.
Una vez hecho esto, todo el espacio libre debería estar ya asignado al root del sistema.