Gestor de Volúmenes LVM

LVM es un sistema de particiones virtuales independientes de la estructura de los discos. Este sistema de particiones esta implementado a través de los módulos del Kernel de Linux.

Entre sus ventajas destaca:

  • Redimensionamiento del espacio utilizado
  • RAID 0
  • Instantáneas de lectura y escritura (LVM2)

LVM agrupa varias particiones de discos físicos en un único grupo de volumen y a partir de este grupo crea volúmenes lógicos para ser utilizados como almacén de datos, en el siguiente esquema podemos ver visualmente esta agrupación:

lvm

El primer paso será instalar el paquete LVM en su versión 2:

# apt install lvm2

En el fichero de configuración /etc/lvm/lvm.conf se definen los patrones de comportamiento de este gestor de volumenes.

Las fases de creación son las siguientes:

Fases:

  • Creación de los volúmenes físicos
  • Creación del grupo de volúmenes
  • Crear volúmenes lógicos
  • Preparar volúmenes lógicos

 

Creación de los volúmenes físicos (Physical Volumes)

Los discos que vayan a formar parte del conjunto LVM deberán estar particionados. La creación de los volúmenes físicos (PV) con las particiones de los discos se realiza a través del comando pvcreate, para este ejemplo hemos usado los discos particionados /dev/sdb1 y /dev/sdc1:

# pvcreate /dev/sdb1 /dev/sdc1

lvm

Podemos ver las características de los volúmenes físicos con el comando pvdisplay

# pvdisplay

lvm

También podemos comprobar que las particiones forman parte de LVM con el comando blkid:

lvm

Otra forma es ver los PV del sistema con el comando pvscan:

# pvscan

lvm

En las últimas versiones de LVM no es necesario crear un PV, se crea automáticamente cuando se crea el grupo de volumen.

Creación de un grupo de volumen (Volume Group)

Un grupo de volumen (VG) es una agrupación de volúmenes físicos (PV), al agruparlos el espacio total es la suma del tamaño de las particiones, es decir un RAID0.

En nuestro caso vamos a crear un VG llamado “Volumen01” con los PVs creados en el paso anterior.

# vgcreate Volumen01 /dev/sdb1 /dev/sdc1

lvm

Pobremos ver el VG creado don el commando vgdisplay:

# vgdisplay Volumen01

lvm

Con el comando “vgdisplay –v” podremos ver toda la información del VG, incluidos sus PG y LV. También disponemos del comando vgscan para ver todos los PG del sistema.

 

Creación de Volumenes Lógicos (Logical Volume)

La creación de volúmenes lógicos (LV) lo que hace es trocear o particionar un VG. Para realizar esta tarea utilizaremos el comando lvcreate indicando el tamaño a utilizar y el nombre en nuestro caso lvol_01:

# lvcreate –L 100M –n lvol_01 Volumen01

lvm

Podremos ver las características del LV creado con el comando lvdisplay

# lvdisplay

lvm

Utilizando el comando lvscan nos mostrará el estado de todos los LV del sistema.

 

Preparar los volúmenes lógicos

Los LV ya pueden ser tratados como particiones normales, primero los formatearemos:

# mkfs –t ext4 /dev/Volumen01/lvol_01

Y finalmente los montamos y los agregamos el fichero /etc/fstab para que se monten de forma automática en el inicio del sistema, por ejemplo, agregaremos la siguiente línea:

/dev/Volumen01/lvol_01 ext4 defaults 0 0

 

Resumen comandos LVM

Comando Función
pvchange Cambia los atributos del volumen físico
pvck Comprueba los metadatos del volumen
pvcreate Inicializa el disco o una partición para ser usada por LVM
pvdisplay Muestra los atributos del volumen físico
pvmove Migra información entre volúmenes físicos
pvremove Elimina un volumen físico
pvs Muestra un informe de los volúmenes físicos
pvscan Escanea todos los discos de los volúmenes físicos
vgcfgbackup Realiza un backup de la configuración de un VG
vgchange Cambia los atritubos de un grupo de volumen
vgck Comprueba los metadatos de un grupo de volumen
vgconvert Convierte los metadatos de un grupo de volumen
vgcreate Crea un grupo de volumen
vgdisplay Muestra los atribustos de los grupos de volumen
vgextend Añade Volúmenes Físicos a un grupo de volumen
vgexport Exporta un grupo de volumen a otro sistema
vgimport Importa un grupo de volumen de otro sistema
vgmerge Une dos grupos de volumen
vgmknodes Recrea el volmen y sus ficheros especiales
vgreduce Reduce un grupo de volumen
vgremove Elimina un grupo de volumen
vgrename Renombra un grupo de volumen
vgs Realiza un informe de los grupos de volumen
vgscan Comprueba los volúmenes y reinicia la cache
vgsplit Convierte un grupo de volumen en dos
lvchange Cambia los atributos de un volumen lógico
lvcreate Crea un volumen lógico
lvdisplay Muestra los atributos de los volúmenes lógicos
lvextend Amplia el tamaño de un volumen lógico
lvmdiskscan Escanea todos los dispositivos del volumen
lvreduce Reduce el tamaño del volumen lógico
lvremove Elimana un volumen lógico
lvrename Renombra un volumen lógico
lvresize Cambia el tamaño de un volumen lógico
lvs Realiza un informe de todos los volúmenes lógicos
lvscan Escanea todos los discos en busca de volúmenes lógicos