Añadir espacio de almacenamiento a volúmenes LVM en Ubuntu Server 18.04 LTS

Publicado por P. Ruiz en

En SomeBook.es, ya hemos aprendido a Configurar un volumen LVM durante la instalación de Ubuntu Server 18.04 LTS. Durante el proceso, aceptamos la sugerencia del asistente de instalación, que nos ofreció crear tres particiones diferentes:

  • Una para el cargador de arranque.

  • Otra para la carpeta /boot.

  • Y el resto del disco para el Grupo de volúmenes LVM.

Dentro del Grupo de volúmenes se creó un solo volumen lógico de 4GB para el directorio raíz del sistema. Y el resto del espacio quedará sin asignar.

Dada la flexibilidad que ofrece LVM, disponer de espacio libre nos permitirá crear nuevos volúmenes o ampliar los que tengamos de forma gradual. Así, podremos responder a nuestras necesidades según se vayan produciendo.

De este modo, cuando se complete la instalación podremos expandir el volumen existente, o crear otros, dependiendo de nuestras posibilidades.

Añadir espacio a un volumen lógico existente

Para ver cómo podemos añadir espacio a un volumen lógico existente, usaremos el volumen lógico que se creó durante la instalación. En concreto, lo incrementaremos en 5GB que obtendremos del espacio que quedó sin asignar.

Sin embargo, para estar seguros de lo que hacemos, comenzaremos usando el comando lsblk, que nos aporta información sobre los dispositivos de almacenamiento de bloques disponibles:

lsblk -fm

El argumento f nos ofrece información sobre los sistemas de archivos instalados y el argumento m nos informa de quién es su propietario, su tamaño, etc.

En nuestro ejemplo, obtenemos este resultado.

Añadir-espacio-de-almacenamiento-a-un-volumen-LVM-en-Ubuntu-Server-1804-LTS-001

Como puedes ver en la imagen, el disco sda tiene 20GB, de los que el conjunto de volúmenes LVM (sda3) mantiene 19GB. Sin embargo, el volumen lógico que contiene el directorio raíz del sistema  dispone únicamente de 4GB.

Para añadirle espacio, usaremos el comando lvextend:

sudo lvextend -L +5G /dev/ubuntu-vg/ubuntu-lv

Como puedes suponer, el argumento -L nos permite indicar el tamaño de incremento, incluida la unidad (+5G). Por último, indicamos el volumen sobre el que actuamos.

Al ejecutarlo, el comando informa de que el volumen ha cambiado de tamaño.

Añadir-espacio-de-almacenamiento-a-un-volumen-LVM-en-Ubuntu-Server-1804-LTS-002

Con esto, puedes pensar que la tarea ha terminado, pero si utilizamos el comando df para obtener la cantidad de espacio disponible, comprobaremos que no ha cambiado nada:

df -h /

El argumento -h muestra la información en un formato fácilmente comprensible, con valores que sean múltiplos de 1024. La barra inclinada (/) indica el volumen que nos interesa.

La salida nos muestra que el tamaño no ha cambiado.

Añadir-espacio-de-almacenamiento-a-un-volumen-LVM-en-Ubuntu-Server-1804-LTS-003

La solución pasa por utilizar el comando resize2fs, que nos permite agrandar o reducir el tamaño de un sistema de archivos:

sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

Comprobamos que el comando se aplica correctamente.

Añadir-espacio-de-almacenamiento-a-un-volumen-LVM-en-Ubuntu-Server-1804-LTS-004

Y si ahora volvemos a aplicar el comando df

Comprobaremos que ahora sí ha cambiado el tamaño del volumen.

Añadir-espacio-de-almacenamiento-a-un-volumen-LVM-en-Ubuntu-Server-1804-LTS-005

Como vemos, mientras sigamos teniendo espacio disponible, el proceso de añadir capacidad a un volumen lógico es bastante sencillo.

Añadir un nuevo disco al grupo de volúmenes

Después de leer el apartado anterior, puede que te asalte una pregunta: ¿qué pasará cuando hayamos consumido todo el espacio disponible?

La respuesta es muy sencilla: podremos añadir un nuevo disco y unirlo al grupo de volúmenes. Así, aumentaremos la capacidad de almacenamiento disponible, sin tener que preocuparnos de la unidad física en la que se encuentra el espacio que asignemos. Veamos cómo lograrlo.

Antes de nada, supondremos que la parte física ya está resuelta. Es decir, hemos abierto el ordenador y hemos conectado un disco nuevo. Ubuntu 18.04 LTS te permite, incluso, que puedas realizar esta operación en caliente, es decir, con el sistema funcionando. No obstante, si no es estrictamente necesario, yo te recomiendo que lo hagas con el equipo apagado.

Si ahora volvemos a usar el comando lsblk, comprobaremos que aparece el nuevo disco:

lsblk -fm

Como es el segundo disco del equipo, aparece etiquetado como sdb.

Añadir-espacio-de-almacenamiento-a-un-volumen-LVM-en-Ubuntu-Server-1804-LTS-006

Una vez comprobado que el disco está disponible, lo prepararemos para incorporarlo al grupo de volúmenes. Este trabajo de inicialización lo lleva a cabo el comando pvcreate, por lo que escribiremos algo como esto:

sudo pvcreate /dev/sdb

Aunque en este caso estamos añadiendo el disco completo, podríamos hacer la misma tarea sólo con una partición del mismo.

Comprobamos que el comando se aplica correctamente.

Añadir-espacio-de-almacenamiento-a-un-volumen-LVM-en-Ubuntu-Server-1804-LTS-007

Basta con volver a usar el comando lsblk, para comprobar que el disco ya es del tipo adecuado…

Vemos que se identifica como LVM2_mem (igual que sda3)

Añadir-espacio-de-almacenamiento-a-un-volumen-LVM-en-Ubuntu-Server-1804-LTS-008

Solo nos queda añadir el volumen físico al grupo de volúmenes lógicos, para que su capacidad de almacenamiento quede a disposición de éste. Esto se consigue con el comando vgextend escribiendo lo siguiente:

sudo vgextend ubuntu-vg /dev/sdb

Como es lógico, ubuntu-vg representa el nombre del grupo de volúmenes y /dev/sdb es el volumen físico implicado.

Y comprobamos, de nuevo, que el comando se aplica correctamente.

Añadir-espacio-de-almacenamiento-a-un-volumen-LVM-en-Ubuntu-Server-1804-LTS-009

Y para comprobar que todo ha sido correcto, podemos utilizar el comando vgdisplay, que se encarga de mostrar todos los atributos de un grupo de volúmenes:

sudo vgdisplay

Salida del comando vgdisplay.

Añadir-espacio-de-almacenamiento-a-un-volumen-LVM-en-Ubuntu-Server-1804-LTS-010

Comprobamos que el tamaño total del grupo de volúmenes es la suma de los dos volúmenes físicos implicados y que el espacio libre coincide con el que teníamos antes, mas el tamaño de la unidad que hemos añadido.

Y esto es todo por el momento. Espero que te resulte útil.