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:
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
Podemos ver las características de los volúmenes físicos con el comando pvdisplay
# pvdisplay
También podemos comprobar que las particiones forman parte de LVM con el comando blkid:
Otra forma es ver los PV del sistema con el comando pvscan:
# pvscan
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
Pobremos ver el VG creado don el commando vgdisplay:
# vgdisplay Volumen01
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
Podremos ver las características del LV creado con el comando lvdisplay
# lvdisplay
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 |