Cómo expandir una partición raíz LVM de Linux utilizando almacenamiento adicional en Linux
Introducción
En este tutorial, realizarás la expansión de disco LVM extendiendo una partición raíz del Administrador de Volúmenes Lógicos de Linux (LVM) con almacenamiento adicional. Este método te permite extender el sistema de archivos LVM de Linux sin reinstalar el sistema o detener servicios. Seguirás un proceso preciso y seguro adecuado para sistemas de producción donde los errores pueden resultar en una pérdida de datos irreversible.
Requisitos previos
Público objetivo: Administradores de sistemas principiantes
Tiempo estimado: 30–45 minutos
Sistema operativo: Distribución de Linux con soporte LVM (probado en Debian 13)
Software requerido:
- lvm2 (2.03.x o posterior)
- util-linux (incluye lsblk)
- e2fsprogs (para ext4) o xfsprogs (para XFS)
Requisitos de hardware:
- Un disco adicional vacío (por ejemplo /dev/sdb)
Permisos:
- Root o un usuario con privilegios de sudo
Requisitos de red:
- No requerido
Conocimientos asumidos:
- Uso básico de la línea de comandos
- Comprensión de discos y particiones
Objetivo final: Al final de este tutorial, agregarás un disco a LVM y completarás la expansión del volumen lógico de tu raíz usando almacenamiento adicional sin tiempo de inactividad.
Importante: El costo de un error es incalculable. Un solo nombre de dispositivo incorrecto puede destruir todos los datos de tu sistema. Siempre verifica cada comando antes de ejecutarlo.
Si es la primera vez que trabajas con LVM, practica estos pasos en un entorno no productivo.
Paso 1: Verificar la Configuración Actual de LVM
Ejecuta los siguientes comandos para inspeccionar tu configuración actual de LVM.
pvs muestra información sobre volúmenes físicos. Muestra qué discos o particiones están inicializados para LVM y cuánto espacio está disponible o usado en cada volumen físico.
sudo pvs
Salida de ejemplo:
PV VG Fmt Attr PSize PFree /dev/sda5 debian-lvm-vg lvm2 a-- 9.25g 36.00m
vgs muestra información sobre grupos de volúmenes. Muestra el tamaño total de cada grupo de volúmenes, cuánto espacio está usado y cuánto espacio libre está disponible para expansión.
sudo vgs
Salida de ejemplo:
VG #PV #LV #SN Attr VSize VFree debian-lvm-vg 1 2 0 wz--n- 9.25g 36.00m
lvs muestra información sobre volúmenes lógicos. Muestra el tamaño, nombre y atributos de cada volumen lógico, incluido el volumen raíz que expandirás. Extenderás la partición usando un disco adicional.
sudo lvs
Salida de ejemplo:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert root debian-lvm-vg -wi-ao---- <8.69g swap_1 debian-lvm-vg -wi-ao---- 544.00m
Resultado esperado:
- Ves tu volumen lógico raíz, grupo de volúmenes y volúmenes físicos
- El volumen lógico raíz está típicamente montado en
/
Paso 2: Identificar el Nuevo Disco
Lista los discos disponibles:
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT
Salida de ejemplo:
NAME SIZE TYPE MOUNTPOINT sda 10G disk ├─sda1 759M part /boot ├─sda2 1K part └─sda5 9.3G part ├─debian--lvm--vg-root 8.7G lvm / └─debian--lvm--vg-swap_1 544M lvm [SWAP] sdb 5G disk sdc 5G disk sdd 5G disk
Resultado esperado:
- Aparece un nuevo disco como /dev/sdb sin particiones ni sistema de archivos
Importante: Asegúrate de que el disco sea correcto y esté vacío. Todos los datos existentes en este disco se perderán.
Paso 3: Crear un Volumen Físico
Inicializa el nuevo disco como un volumen físico:
sudo pvcreate /dev/sdb
Resultado esperado:
- El comando se completa con éxito e informa la creación del volumen físico
Verifica:
sudo pvs
Esto te permite agregar nuevo almacenamiento al LVM existente.
Paso 4: Extender el Grupo de Volúmenes
Agrega el nuevo volumen físico a tu grupo de volúmenes existente:
sudo vgextend <VG_NAME> /dev/sdb
Resultado esperado:
- El tamaño del grupo de volúmenes aumenta e incluye el nuevo disco
Verifica:
sudo vgs
Salida de ejemplo:
VG #PV #LV #SN Attr VSize VFree debian-lvm-vg 2 2 0 wz--n- <19.25g 0
La columna PV muestra que el grupo de volúmenes ahora incluye el nuevo disco.
Paso 5: Extender el Volumen Lógico Raíz
Extiende el volumen lógico raíz para usar todo el espacio libre disponible. Para extender el volumen lógico se utiliza el comando lvextend:
sudo lvextend -l +100%FREE /dev/<VG_NAME>/root
Resultado esperado:
- El tamaño del volumen lógico aumenta con éxito
Paso 6: Redimensionar el Sistema de Archivos
Redimensiona el sistema de archivos para usar el espacio adicional.
Para ext4:
sudo resize2fs /dev/<VG_NAME>/root
Para XFS:
sudo xfs_growfs /
Resultado esperado:
- El sistema de archivos se expande para coincidir con el nuevo tamaño del volumen lógico
Paso 7: Verificar la Expansión
Verifica el tamaño actualizado del sistema de archivos:
df -h /
Resultado esperado:
- El sistema de archivos raíz refleja la capacidad aumentada
Confirma el estado de LVM:
sudo lvs
sudo vgs
Verificación y Pruebas
- El sistema permanece operativo sin reinicio
df -hmuestra espacio disponible aumentado- No aparecen errores en los registros del sistema:
dmesg | tail
Revertir Cambios
Revertir solo es posible si no se han escrito datos críticos en el nuevo espacio.
- Reduce el uso del sistema de archivos si es aplicable
- Reduce el sistema de archivos si es compatible
- Reduce el volumen lógico:
sudo lvreduce /dev/<VG_NAME>/root - Elimina el disco del grupo de volúmenes:
sudo vgreduce <VG_NAME> /dev/sdb - Elimina el volumen físico:
sudo pvremove /dev/sdb
Importante: Reducir volúmenes lógicos y sistemas de archivos es arriesgado y puede llevar a la pérdida de datos. Evita esta operación en producción a menos que sea absolutamente necesario.
Solución de Problemas
- El comando falla con "dispositivo no encontrado": verifica el nombre del disco usando
lsblk - El grupo de volúmenes no muestra espacio libre: confirma que
vgextendse completó con éxito - El tamaño del sistema de archivos no cambió: asegúrate de usar la herramienta correcta para tu tipo de sistema de archivos
- Errores de permiso denegado: asegúrate de que los comandos se ejecuten con sudo o como root
Conclusión y Próximos Pasos
Has aprendido con éxito a expandir el sistema de archivos raíz sin tiempo de inactividad usando LVM al agregar un nuevo disco, extender el grupo de volúmenes y redimensionar el sistema de archivos sin tiempo de inactividad. Este método es esencial cuando necesitas actualizar la capacidad de almacenamiento del servidor en entornos Linux.
Próximos pasos:
- Configurar instantáneas LVM para copias de seguridad
- Monitorear el uso del disco
- Explorar características avanzadas de LVM