Como ampliar el espacio en disco de una máquina virtual Linux sobre VMware

Hoy voy a explicaros como podéis llevar a cabo la ampliación de un disco duro de un servidor Linux con Ubuntu Server que se encuentra sobre una máquina virtual de VMware.

Ampliación disco en VMware

Lo primero será ampliar el disco a nivel de la máquina virtual para ello nos iremos a nuestra consola de administración de VMware y editaremos la configuración de la máquina para asignar el nuevo espacio.

Ampliación disco en Linux

Una vez hemos ampliado el disco de nuestra máquina virtual el siguiente pasó será realizar la ampliación a nivel de las particiones de Linux para ello seguiremos los siguientes pasos.

En primer lugar comprobamos la capacidad del disco duro con el siguiente comando df -h:

root@srvlinux1:/home/sergioportillo# df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.9G     0  1.9G   0% /dev
tmpfs                              391M  1.6M  390M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   19G  6.9G   11G  40% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda2                          976M  104M  806M  12% /boot
/dev/loop1                          71M   71M     0 100% /snap/lxd/16922
/dev/loop0                          55M   55M     0 100% /snap/core18/1880
/dev/loop2                          56M   56M     0 100% /snap/core18/1932
/dev/loop4                          31M   31M     0 100% /snap/snapd/9721
/dev/loop6                          32M   32M     0 100% /snap/snapd/10492
/dev/loop5                          68M   68M     0 100% /snap/lxd/18150
tmpfs                              391M     0  391M   0% /run/user/1000

En este ejemplo vemos que el disco se encuentra al 40% de su capacidad y aunque ahora mismo tiene espacio de sobra vamos a realizar una ampliación de 20 GB para poder realizar el tutorial y veáis como se realizaría el proceso paso a paso.

Si comprobamos el tamaño del disco con el siguiente comando fdisk -l se puede apreciar que el tamaño del mismo es de 40 GB en vez de 20 que era el tamaño que tenía antes de realizar la ampliación a nivel de la máquina virtual, pero como hemos visto con el comando anterior a nivel de sistema de ficheros seguimos teniendo disponibles sólo 20 GB por lo que tenemos que redimensionar la partición para poder utilizar esos 20 GB adicionales.

root@srvlinux1:/home/sergioportillo# fdisk -l
GPT PMBR size mismatch (41943039 != 83886079) will be corrected by write.
Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Disk model: VMware Virtual S
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: AFB52414-0CBF-491D-9BB7-AFFAD24855D0

Device       Start      End  Sectors Size Type
/dev/sda1     2048     4095     2048   1M BIOS boot
/dev/sda2     4096  2101247  2097152   1G Linux filesystem
/dev/sda3  2101248 41940991 39839744  19G Linux filesystem

En este ejemplo la partición a redimensionar sería la /dev/sda3 (cuidado con esto porque en vuestro caso puede llamarse de otra forma). Vamos a utilizar la herramienta «parted» incluida con Ubuntu. Si por cualquier motivo no la tuvierais instalada podréis hacerlo utilizando el siguiente comando:

root@srvlinux1:/home/sergioportillo# apt-get install parted

Ejecutamos el comando parted /dev/sda (el nombre del disco podéis encontrarlo en la información obtenida con el anterior comando, en mi caso donde pone Disk /dev/sda: 40 GiB) y a continuación en el prompt (parted) utilizaremos el comando print para localizar cual sería el número de la partición a redimensionar.

Nota: En mi caso la partición es /dev/sda pero esto puede ser diferente en vuestro entorno.
root@srvlinux1:/home/sergioportillo# parted /dev/sda
GNU Parted 3.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  2097kB  1049kB                     bios_grub
 2      2097kB  1076MB  1074MB  ext4
 3      1076MB  21.5GB  20.4GB

Vamos a utilizar el 100% del espacio disponible por lo que ejecutaremos el comando resizepart 3 100% (en mi caso el número de la partición es el 3 pero puede ser distinto en vuestro caso, cuidado con esto) y posteriormente ejecutamos el comando quit para salir de parted.

Nota: En mi caso es el número 3 pero esto puede variar en vuestro entorno y deberéis poner el número de vuestra partición.
(parted) resizepart 3 100%
(parted) quit
Information: You may need to update /etc/fstab.

Verificamos nuevamente la tabla de particiones con el comando fdisk -l /dev/sda | grep ^/dev y como podéis observar nuestra partición /dev/sda3 ha pasado de 20 a 40 GB.

root@srvlinux1:/home/sergioportillo# fdisk -l /dev/sda | grep ^/dev
/dev/sda1     2048     4095     2048   1M BIOS boot
/dev/sda2     4096  2101247  2097152   1G Linux filesystem
/dev/sda3  2101248 83886046 81784799  39G Linux filesystem

Aunque si ejecutamos nuevamente el comando df -h vemos que el sistema de archivos aún no ha cambiado de tamaño.

root@srvlinux1:/home/sergioportillo# df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.9G     0  1.9G   0% /dev
tmpfs                              391M  1.6M  390M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   19G  6.9G   11G  40% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda2                          976M  104M  806M  12% /boot
/dev/loop2                          55M   55M     0 100% /snap/core18/1880
/dev/loop0                          71M   71M     0 100% /snap/lxd/16922
/dev/loop1                          56M   56M     0 100% /snap/core18/1932
/dev/loop3                          32M   32M     0 100% /snap/snapd/10492
/dev/loop4                          31M   31M     0 100% /snap/snapd/9721
/dev/loop5                          68M   68M     0 100% /snap/lxd/18150
tmpfs                              391M     0  391M   0% /run/user/1000

Por lo que vamos a ampliar la capacidad del sistema de archivos con uno de los siguientes comandos en función de si tenemos un sistema de archivos con LVM o sin LVM.

Sistema de archivos con LVM

Ejecutamos el comando pvresize /dev/sda3 (nuevamente cuidado con el nombre de la partición que en vuestro caso puede variar).

root@srvlinux1:/home/sergioportillo# pvresize /dev/sda3
  Physical volume "/dev/sda3" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

Y ahora le indicaremos al sistema que utilice todo el espacio disponible del grupo de volúmenes con el siguiente comando (recordar cambiar el nombre por el vuestro)

root@srvlinux1:/home/sergioportillo# lvresize --extents +100%FREE --resizefs /dev/mapper/ubuntu--vg-ubuntu--lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from <19.00 GiB (4863 extents) to <39.00 GiB (9983 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 5
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 10222592 (4k) blocks long.

Sistema de archivos sin LVM

En el caso que vuestro sistema de archivo sea sin LVM utilizaremos el comando resize2fs /dev/sda3 (recordar cambiar el nombre de la partición por el vuestro).

root@srvlinux1: resize2fs /dev/sda3

Y listo ya sólo nos quedará ejecutar nuevamente el comando df -h para comprobar que nuestro espacio disponible en disco ha aumentado de 20 a 40 GB.

root@srvlinux1:/home/sergioportillo# df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.9G     0  1.9G   0% /dev
tmpfs                              391M  1.6M  390M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   39G  7.0G   30G  19% /
tmpfs                              2.0G     0  2.0G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda2                          976M  104M  806M  12% /boot
/dev/loop2                          55M   55M     0 100% /snap/core18/1880
/dev/loop0                          71M   71M     0 100% /snap/lxd/16922
/dev/loop1                          56M   56M     0 100% /snap/core18/1932
/dev/loop3                          32M   32M     0 100% /snap/snapd/10492
/dev/loop4                          31M   31M     0 100% /snap/snapd/9721
/dev/loop5                          68M   68M     0 100% /snap/lxd/18150
tmpfs                              391M     0  391M   0% /run/user/1000

Espero os haya sido de utilidad.

Entradas relacionadas

6 comentarios en «Como ampliar el espacio en disco de una máquina virtual Linux sobre VMware»

  1. al hacer el resizepart de la partición que me interesa me da el error «No se puede tener particiones superpuestas»

    Responder
    • Hola Krt

      Para realizar la ampliación el espacio libre debe estar a continuación de la partición que quieres ampliar por lo que previamente con alguna herramienta de particionamiento deberás mover las particiones para que queden como te comento.

      Saludos.

      Responder

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.