Es posible que en algún momento necesitemos ampliar el espacio de una partición de nuestra máquina virtual. En esta ocasión vamos a explicar cómo ampliar el espacio en la última partición de nuestro sistema debido a una solicitud de ampliación de disco.

Primero, entramos en nuestra máquina con un usuario con privilegios administrativos, y ejecutamos el siguiente comando para ver la información de los discos de sistema:

root@virtual:~# fdisk -l
Disk /dev/vda: 7 GiB, 7516192768 bytes, 14680064 sectors
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes                               
I/O size (minimum/optimal): 512 bytes / 512 bytes                      
Disklabel type: gpt              
Disk identifier: DBEC8619-407D-4752-848E-B7E95EAD6A21

Device     Start      End  Sectors Size Type
/dev/vda1   2048     4095     2048   1M BIOS boot
/dev/vda2   4096 12582882 12578786   6G Linux filesystem

Como vemos, tenemos un disco GPT de 7G pero la partición del sistema de archivos (/dev/vda2) es de solo 6GB, y queremos ampliar ese gigabyte restante a la partición de sistema que coincide que es la ultima partición (esto es habitual en las máquinas virtuales estándar que entregamos a los alumnos).

Para ello, tan solo deberemos ejecutar los siguientes comandos:

sgdisk -d 2 /dev/vda
sgdisk -N 2 /dev/vda
partprobe /dev/vda
resize2fs /dev/vda2

El primer comando sirve para eliminar la partición numero 2.Los datos no se borrarán ya que en el siguiente paso vamos a volver a crear la partición, y usara el primer sector disponible que coincidirá con el primer sector de la partición 2 que acabamos de borrar.

El segundo comando para crear la partición numero 2 hasta final de disco. El tercer comando sirve para que el kernel de Linux vuelva a leer los discos y ver los cambios que se han hecho. Por último, el cuarto comando sirve para ampliar el sistema de archivos al nuevo tamaño de la partición.

No suele ser necesario reiniciar la maquina, tan solo debemos reiniciarla si nos falla el comando partprobe y volver a ejecutarlo (así como el último comando también).