Herramientas

Redimensionar una partición de disco LVM con espacio no asignado en Linux

La expansión de las particiones de disco para usar todo el espacio disponible es un problema habitual cuando se trabaja con máquinas virtuales. Tanto en local como en entornos basados en la nube como Amazon AWS o Microsoft Azure. El problema suele aparecer cuando se implementa una máquina virtual Linux desde una plantilla y el tamaño del disco asignado es mayor del usado originalmente. También se puede dar después de un tiempo cuando el disco inicial se queda sin espacio y es necesario ampliarlo. En esta entrada, se explicará redimensionar una partición de disco LVM en sistema operativos Linux como Centos, Ubuntu o Debian usando las herramientas: lsblk, parted, partx, pvresize y lvextend.

Nota importante: Redimensionar el disco en un sistema operativo es una tarea que puede tener consecuencias graves si no se realiza correctamente, pudiendo llegar a perder todos los datos del disco. Antes de seguir las instrucciones de esta entrada es necesario disponer de una copia de seguridad de todos los datos incluidos en el disco. Además, es necesario tener en cuenta que el proceso de redimensionamiento de discos puede ser diferente en función de la configuración específica de la máquina. Esta guía tiene fines puramente informativos y no puede garantizar el éxito ni la seguridad en todas las situaciones. Por lo que el autor no se puede hacer responsable de cualquier daño o pérdida causada por intentos de redimensionar discos sin el conocimiento o experiencia adecuados.

Obtener información del disco

Lo primero que se tiene que hacer es recuperar la información del disco, incluyendo los nombres de la partición que se desea cambiar de tamaño. Para lo que se puede ejecutar el comando lsblk en la terminal. En nuestro ejemplo se obtiene la siguiente información:

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0         11:0    1 1024M  0 rom
xvda        202:0    0  100G  0 disk
├─xvda1    202:1    0 1G  0 part /boot
└─xvda2    202:2    0   49G  0 part
  ├─cl-root 253:0    0   47G  0 lvm  /
  └─cl-swap 253:1    0 2G  0 lvm  [SWAP]

En este ejemplo se puede ver que se dispone de un disco xvda con 100GB de los cuales solamente se están usando 1Gb en la partición de inicio xvda1 y otros 49Gb en xvda2. Esta segunda partición contiene un volumen lógico con un único grupo, cl, y dos volúmenes lógicos: root con 49GB y swap con 2GB.

En este ejemplo se puede ver que quedan aproximadamente 50GB de espacio en el disco que no se encuentra asignado, el espacio de xvda que no está ocupado por las particiones xvda1 ni xvda2. Ahora se genera asignar estos 50Gb al volumen cl-root.

Redimensionar una partición de disco

Una vez obtenida la configuración de las particiones de disco y el espacio que falta por asignar se puede extender la partición. Lo que hay se puede hacer ejecutando los siguientes pasos en una terminal:

parted ---pretend-input-tty /dev/xvda resizepart 2 100%
partx -u /dev/xvda
pvresize /dev/xvda2
lvextend -r cl/root /dev/xvda2

La primera línea extiende la segunda partición del disco xvda2 para que use el 100% de los datos no asignados, esto es para que use los 50GB. Tras esto la segunda línea actualiza la tabla de particiones del disco mediante el comando partx.

Una vez actualizada la tabla de particiones se usa el comando pvresize para cambiar el tamaño del volumen físico de la partición xvda2. Por lo que esta pasa a usar el espacio de disco asignado. Finalmente, el comando lvextend modifica el tamaño del volumen lógico y el sistema de archivos utilizando el nuevo espacio disponible.

Ahora, si se vuelve a ejecutar el comando lsblk en la terminal se puede ver cómo ha cambiado el espacio asignado a las diferentes particiones.

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0         11:0    1 1024M  0 rom
xvda        202:0    0  100G  0 disk
├─xvda1    202:1    0    1G  0 part /boot
└─xvda2    202:2    0   99G  0 part
  ├─cl-root 253:0    0   97G  0 lvm  /
  └─cl-swap 253:1    0 2G  0 lvm  [SWAP]

Observando que ahora xvda2 tiene un tamaño de 99Gb.

Conclusiones

En esta entrada se han visto los pasos para actualizar y redimensionar una partición de disco LVM con espacio no asignado en sistemas Linux. Unos pasos sencillos con los que se puede ampliar el espacio usado en los discos de máquinas virtuales.

Imagen de manseok Kim en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Linux

Recent Posts

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

Imagínate en una sala con un grupo de personas, por ejemplo, en una oficina, un…

3 días ago

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

En el trabajo diario con ordenadores, es común encontrarse con tareas repetitivas: realizar copias de…

5 días ago

Curiosidad: ¿Por qué usamos p < 0.05? Un umbral que cambió la historia de la ciencia

En casi cualquier análisis estadístico —ya sea en medicina, psicología, economía o ciencia de datos—…

1 semana ago

¿Está concentrado el MSCI World? Un análisis con Gini, Lorenz y leyes de potencia

El MSCI World Index suele presentarse como “la ventana al mundo” para quienes invierten en…

2 semanas ago

Curiosidad: La maldición de la dimensionalidad, o por qué añadir más datos puede empeorar tu modelo

En el mundo del análisis de datos solemos escuchar una idea poderosa: cuantos más datos,…

2 semanas ago

Error npm ERR! code EACCES al instalar paquetes en Node.js: Cómo solucionarlo paso a paso

¿Te has encontrado con este error al intentar instalar paquetes con npm? npm ERR! code…

3 semanas ago

This website uses cookies.