Cómo expandir y reducir volúmenes usando LVM en Linux
Los comandos de Logical Volume Manager (LVM) en Linux son una de las herramientas más prácticas que he utilizado para agregar nuevos discos o aumentar el tamaño de volúmenes existentes. Es fácil hacerlo sobre la marcha sin necesidad de tiempo de inactividad o reiniciar el sistema, aunque siempre recomiendo hacer una copia de seguridad completa de todos los datos en los volúmenes existentes primero, así como tomar una instantánea de las máquinas virtuales involucradas.


En este tutorial, te mostraré cómo expandir y reducir un volumen utilizando LVM. Sigue leyendo para obtener más información.
Expandiendo un volumen con LVM
A continuación, te mostraré los pasos que realicé recientemente para expandir el volumen /home en un servidor que originalmente tenía 1 GB de espacio. Esto fue en un servidor de pruebas, pero decidí aumentar el volumen en 10 GB adicionales solo para estar seguro.
Como utilizamos exclusivamente VMWare para nuestros servidores, este escenario tiene lugar en un entorno de vSphere, pero los pasos involucrados serían los mismos si agregaras un disco a un servidor físico.
Primero, inicié sesión en el servidor, me convertí en root y luego examiné los discos presentes ejecutando:
Cómo crear y gestionar tareas con GitHub IssueslsblkEsto me mostró los discos disponibles en el sistema. En este caso, encontré que el punto de montaje del volumen /home es /dev/mapper/rhel-home. Está en la partición sda2 del disco físico sda y es un sistema de archivos XFS.
Luego, ejecuté vgs para mostrar los grupos de volúmenes:
vgsEsto me dio información sobre los grupos de volúmenes y determiné que el grupo de volúmenes con el que quiero trabajar es "rhel".
A continuación, inicié la consola de vSphere para agregar un nuevo disco siguiendo estos pasos:
- Haz clic derecho en la máquina virtual.
- Selecciona "Editar configuración".
- Elige "Agregar dispositivo nuevo".
- Selecciona "Disco duro".
- Agrega un disco de 10 GB como se muestra en la Figura A.
Figura A

Aprende SQL y mejora tus habilidades de manejo de datos con este bundle completoNota: En ciertos casos, es posible expandir un volumen existente, como cuando no hay instantáneas, y luego agregar el espacio expandido a un grupo de volúmenes y asignarlo a un volumen lógico. Sin embargo, considero que esto es más riesgoso que agregar un nuevo disco desde cero, ya que existe la posibilidad de que un error humano afecte negativamente los datos existentes. Es mucho más seguro trabajar con un disco nuevo y una partición vacía. El sistema operativo no se preocupa por qué discos se utilizan para los volúmenes lógicos; ahí radica la belleza de LVM.
Luego, volví a ejecutar lsblk:
lsblkAquí pude ver el nuevo disco de 10 GB agregado como sdc.
A continuación, ejecuté fdisk para agregar una partición primaria al disco para que el sistema de archivos lo reconociera:
fdisk -u -c /dev/sdc
Presioné n para crear una nueva partición, p para primaria, enter dos veces para confirmar los valores predeterminados y luego w para escribir los cambios, de la siguiente manera:
Conviértete en un experto en desarrollo de apps con un 97% de descuento en este entrenamiento de C#Bienvenido a fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0xf9417ab7.
Command (m for help): Presioné n para crear una nueva partición.
Tipo de partición:
p primaria (0 primaria, 0 extendida, 4 libre)
e extendida
Seleccione (p por defecto): Presioné p para crear una partición primaria.
Número de partición
(1-4, predeterminado 1):Presioné enter para aceptar el valor predeterminado de 1.
Primer sector (2048-20971519, predeterminado 2048):
Presioné enter para aceptar el valor predeterminado de 2048.
Usando el valor predeterminado 2048
Cómo construir tu propia imagen de Docker: guía paso a pasoÚltimo sector, +sectores o +tamaño{K,M,G} (2048-20971519, predeterminado 20971519):
Presioné enter para aceptar el valor predeterminado de 20971519.
Usando el valor predeterminado 20971519
Partición 1 de tipo Linux y de tamaño 10 GiB está lista
Command (m for help): Presioné w para escribir los cambios.
¡La tabla de particiones ha sido alterada!
Llamando a ioctl() para volver a leer la tabla de particiones.
Sincronizando discos.El siguiente paso fue crear el volumen físico a partir de la nueva partición ejecutando:
pvcreate /dev/sdc1
Volumen físico "/dev/sdc1" creado correctamente.
Cómo habilitar zRAM en Rocky Linux: tutorial paso a pasoLuego, amplié el grupo de volúmenes "rhel" para incluir la nueva partición:
vgextend rhel /dev/sdc1
Grupo de volúmenes "rhel" ampliado correctamente.
Al ejecutar nuevamente vgs, confirmé la adición de 10 GB:
vgsEl siguiente paso fue ampliar el volumen lógico:
lvextend -l 100%FREE /dev/mapper/rhel-home
Cómo limitar las conexiones SSH concurrentes en servidores LinuxTambién puedes utilizar lvextend -r -L +10G /dev/mapper/rhel-home para agregar solo los 10 GB de espacio si no deseas otorgar la cantidad completa a un volumen lógico específico.
En mi ejemplo, se devolvió lo siguiente:El tamaño del volumen lógico rhel/home se cambió de 1.00 GiB (256 extensiones) a 11.00 GiB (2816 extensiones).
Se cambió el tamaño del volumen lógico rhel/home correctamente.
El último paso fue hacer crecer el sistema de archivos utilizando el siguiente comando:
xfs_growfs /dev/mapper/rhel-home
meta-data=/dev/mapper/rhel-home isize=512 agcount=4, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 262144 to 2883584Ejecutando lsblk nuevamente, confirmé que el volumen /home ahora tiene un tamaño de 11 GB:
lsblkReducción de un volumen usando LVM
Redimensionar un volumen es completamente diferente a ampliarlo. Hay algunas consideraciones importantes que debes tener en cuenta.
Cómo instalar Neo4j: una guía paso a paso para comenzar con la base de datos de gráficosLos sistemas de archivos XFS no se pueden reducir; la única solución es hacer una copia de seguridad de los datos, eliminar el volumen, crear y configurar uno de menor tamaño y luego restaurar los datos en él.
Los sistemas de archivos EXT2/EXT3/EXT4 se pueden reducir, pero también hay complicaciones con VMWare al reducir los discos. Las instantáneas pueden interferir en el proceso, lo que requiere eliminarlas, y los discos de asignación gruesa pueden ser difíciles de reducir. VMWare proporciona un buen artículo en su base de conocimientos aquí, que incluye el uso de VMware Converter y/o el comando vmkfstools.
Para fines de este artículo sobre LVM, me centraré en cómo se puede reducir un volumen EXT2/3/4, asumiendo que el tamaño del disco VMWare se ha reducido correctamente, o asumiendo que deseas mantener el tamaño del disco VMWare como está y asignar el espacio a otro volumen lógico.
Reducir un volumen raíz será la operación más complicada. Este es el volumen lógico montado en / y, dado que este proceso requiere desmontar el volumen para reducirlo, eso no es posible. Debes arrancar desde un Live CD que no ejecute el sistema operativo. Es posible que debas ejecutar vgchange -a y para que el Live CD reconozca los volúmenes lógicos y puedas continuar.
Reducir un volumen que no sea raíz es mucho más sencillo; en este caso, para que coincida con los ejemplos anteriores, ejecutaría umount /home para proceder.
Los siguientes pasos ahora aplicarán tanto a un volumen raíz como a un volumen que no sea raíz.
Aprende Linux y UNIX con el paquete de certificación de entrenamientoEjecuta una comprobación del sistema de archivos del volumen de LVM para reducir el riesgo de corrupción de datos:
e2fsck -fy /dev/mapper/rhel-home
La opción -f fuerza la verificación incluso si el sistema de archivos parece no tener problemas, y la opción -y responde sí a todas las preguntas.
El siguiente comando reducirá el volumen /home de 11 GB a un tamaño de 5 GB. Ten en cuenta que debes tener suficiente espacio libre para realizar esto:
resize2fs /dev/mapper/rhel-home 5G
Ahora puedes reducir el tamaño del volumen lógico con el comando lvreduce.
Domina tus tareas: Guía para instalar y usar TaskwarriorPara reducir un volumen lógico a un tamaño deseado, utiliza la opción -L y especifica el tamaño deseado:
lvreduce -L 5G /dev/mapper/rhel-home
Para reducir un volumen lógico en un tamaño específico, utiliza la opción -L y un signo de menos delante del tamaño deseado:
lvreduce -L -5G /dev/mapper/rhel-home
Una vez que ejecutes este comando, se te pedirá que confirmes respondiendo 's' y presionando enter. Ahora debes ejecutar resize2fs en el volumen como se muestra a continuación:
resize2fs /dev/mapper/rhel-home
Descubre el metaverso en 2023 con este paquete de aprendizajeLuego, debes montar el volumen. Si esto implicaba un volumen raíz, simplemente reinicia el sistema para cargar el sistema operativo Linux principal. Si es un volumen que no es raíz, ejecuta mount -a, asumiendo que tienes la configuración en /etc/fstab; de lo contrario, especifica el volumen lógico y dónde montarlo como se muestra a continuación:
mount /dev/mapper/rhel-home /home
Finalmente, verifica el espacio del volumen con el comando df para confirmar que se ha reducido según lo esperado. También recomiendo ejecutar otra comprobación de integridad del sistema de archivos con el siguiente comando:
e2fsck -fy /dev/mapper/rhel-home
Un marco útil para configurar discos
Trabajar con LVM para realizar operaciones en discos y volúmenes es rápido, fácil y confiable. He realizado acciones de administración de discos sobre la marcha y nunca he experimentado problemas técnicos, mucho menos bloqueos del sistema operativo o pérdida de datos.
- The Mastering Linux Development Bundle
- The Linux & Docker Coding Bundle
- The Complete 2022 Linux Certification Training Bundle
- The Mastering Linux and Git Certification Bundle
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo expandir y reducir volúmenes usando LVM en Linux , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados