En este artículo vamos a ver una breve introducción a LVM y los pasos necesarios para redimensionar un volumen lógico.
Introducción a LVM
LVM son las siglas de Logical Volume Manager, es decir, es un gestor de volúmenes lógicos. LVM tiene los siguientes componentes:
- Volúmenes físicos (PV) – Son las particiones físicas de un disco con un sistema LVM
- Volúmenes lógicos (LV) – Son el equivalente a las particiones en un sistema tradicional.
- Grupos de volúmenes (VG) – Agrupa los distintos PV y LV para poder administrarlos.
Vamos a ver cómo se traslada estos conceptos en un ejemplo práctico. Partimos de una máquina que tiene un disco /dev/sda con una capacidad de 15 GB, donde está instalado el sistema operativo (Debian)
Comprobamos el estado del disco
fdisk -l /dev/sda
Sobre el disco /dev/sda vemos la siguiente estructura de particiones
/dev/sda1 → Partición primaria para «boot»
/dev/sda2 → Partición extendida que contiene las particiones lógicas
/dev/sda5 → Este es nuestro volumen físico (PV) que contiene los volumenes lógicos
Podemos ver más detalle del volumen físico (PV) con el siguiente comando
pvs
Ahora, mostrar los volúmenes lógicos (LV)
lvs
Como podemos ver, tenemos los siguiente volúmenes:
root → Volumen que contiene el sistema de archivos del sistema
swap_1 → Volumen de swap.
También podemos ver, que tanto el volumen físco, como los volumenes lógicos pertenecen a un grupo de volúmenes (VG) llamado debian-vg
Redimensión del volumen
Continuando con nuestra máquina de ejemplo, vamos a ampliar el disco a 20 GB y redimensionar el volumen LVM /dev/debian-vg/root que contiene el sistema de archivos del sistema.
Una vez la máquina tiene el disco ampliado ejecutamos el siguiente comando para que el sistema operativo detecte la nueva capacidad del disco y comprobamos que se detecta correctamente
echo 1 > /sys/block/sda/device/rescan
fdisk -l /dev/sda
Para el redimensionado del disco vamos a utilizar la utilidad parted, procedemos a instalarla si no la tenemos
apt-get install parted
Ejecutamos la aplicación parted
parted /dev/sda
Cambiamos la unidad de medida a MB para hacerla más legible
(parted) unit mb
Listamos el estado de las particiones y el espacio disponible
(parted) print free
En nuestro caso que queremos ampliar una partición «logical» debemos ampliar primero la partición «extended» y a continuación la partición «logical» Ampliaremos ambas a la máxima capacidad disponible.
(parted) resizepart 2 21475MB
(parted) resizepart 5 21475MB
Comprobamos el nuevo estado del disco
Salimos de la utilizad parted
(parted) quit
Redimensionamos el volumen físico
pvresize /dev/sda5
Comprobamos en nuevo tamaño del volumen físico
pvs
A continuación, redimensionamos el volumen lógico «root»
lvresize -l +100%FREE /dev/debian-vg/root
Comprobamos el nuevo tamaño del volumen lógico
lvs
Por último, debemos redimensionar el sistema de archivos del volumen para que utilice la nueva capacidad del disco.
resize2fs /dev/debian-vg/root
Comprobamos la nueva capacidad
df -h /dev/mapper/debian--vg-root