Clase 9 LVM: Gestión Flexible de Almacenamiento en Linux

LVM

 Introducción

¡Bienvenidos a la conferencia sobre el Logical Volume Manager (LVM)! Hoy aprenderemos qué es LVM, por qué es útil y cómo implementarlo en sistemas Linux con ejemplos prácticos.

 ¿Qué es LVM?

LVM (Logical Volume Manager) es una tecnología que proporciona una capa de abstracción sobre los discos duros y particiones físicas, permitiendo una gestión de almacenamiento más flexible y dinámica.

Principales Ventajas de LVM
Redimensionamiento Dinámico: Con LVM, puedes redimensionar las particiones (volúmenes lógicos) de forma dinámica sin necesidad de reiniciar el sistema. En un sistema de particiones tradicional, si tienes tres particiones y deseas ampliar la segunda, necesitas liberar espacio adyacente, lo que generalmente implica mover y redimensionar otras particiones. Esto no es un problema con LVM.
Ampliación y Reducción de Volúmenes: Puedes ampliar o reducir volúmenes lógicos sobre la marcha, según las necesidades del sistema, sin preocuparte por el espacio físico adyacente.

Conceptos Claves:

Physical Volume (PV): Discos o particiones físicas usadas en LVM.

Volume Group (VG): Grupo de uno o más PVs actuando como una sola unidad.

Logical Volume (LV): Partición creada dentro de un VG.

MACRO Pasos para Crear Volúmenes Lógicos
• Instalar LVM2
• Agregar un Disco Duro
• Physical Volume (PV)
• Volume Group (VG)
• Logical Volume (LV)

Siempre, en cada paso, vamos a poder mostrar la Información de la siguiente foma
sudo pvs Lista los volúmenes físicos (pvdisplay)
sudo vgs Lista los grupos de volúmenes (vgdisplay)
sudo lvs Lista los volúmenes lógicos (lvdisplay)
df -h Muestra el uso del sistema de archivos
lsblk -f Muestra información sobre todos los dispositivos de bloque

  1. Instalamos lvm2 si aun no se ha hecho
    sudo apt install lvm2
  2. Agregamos un nuevo disco duro al equipo y lo asignamos a la PC mediante virtual box
  3. Crear Particiones
    Usamos fdisk para crear las particiones necesarias del tipo Linux LVM (8e).

sudo fdisk /dev/sdX
Dentro de fdisk:

  • ‘n’ para nueva partición
  • ‘t’ para cambiar el tipo a 8e (Linux LVM)
  • ‘w’ para escribir los cambios

4. Podemos reutilizar particiones ya creadas y montadas desde antes, pero estas deben estar sin datos para ello debemos desmontarlas

sudo umount /dev/sdb

Y, teniendo todos los detalles si algún proceso está usando esa partición no nos va a dejar desmontar para ello buscamos el proceso lo cerramos y listo
Ejemplo:
sudo lsof /dev/sdb

supón:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
someapp 1234 user 12r BLK 8,16 0t0 1234 /dev/sdb
another 5678 user 5r BLK 8,16 0t0 5678 /dev/sdb

sudo kill 1234
sudo kill 5678

Ahora si
sudo umount /dev/sdb

  1. Crear Volúmenes Físicos (PV)
    Creamos los volúmenes físicos en las nuevas particiones.
    sudo pvcreate /dev/sdX1 /dev/sdX2 Crea PV en las particiones
  2. Crear Grupos de Volúmenes (VG)
    Creamos un grupo de volúmenes y asignamos los PVs a este VG.
    sudo vgcreate NOMBRE /dev/sdX1 /dev/sdX2

También podemos crear uno primero y agregar otro después
sudo vgcreate vg0 /dev/sdX1
sudo vgextend vg0 /dev/sdX2

Podemos desagregar de la siguiente forma si fuera necesario:
sudo vgreduce vg0 /dev/sdX2
Si ya no necesitas el PV lo puedes eliminar:
sudo pvremove /dev/sdX2

  1. Crear Volúmenes Lógicos (LV)
    Dentro del VG, creamos volúmenes lógicos según el tamaño necesario.
    sudo lvcreate -L 4G -n lv0 vg0 Crea un LV de 4GB en vg0
  2. Formatear Volúmenes Lógicos
    Formateamos los LVs para su uso.
    sudo mkfs.ext4 /dev/vg0/lv0 Formatea el LV con ext4
  3. Montar el lv0 en /mnt/WWW para utilizarlo
    sudo mkdir /mnt/WWW
    sudo mount /dev/vg0/ld0 /mnt/WWW
  4. Cómo Extender los VG y LV
    Validar Espacio
    Antes de extender, validamos si hay suficiente espacio en el VG.

sudo vgdisplay vg0 Muestra detalles del VG, incluyendo el espacio libre

Agregar Nuevo Disco Si no hay suficiente espacio, agregamos un nuevo disco.
Crear Particiones y PVs
Creamos particiones del tipo LVM y PVs.

sudo fdisk /dev/sdY
sudo pvcreate /dev/sdY1

Extender el VG
Agregamos el nuevo PV al VG existente.
sudo vgextend vg0 /dev/sdY1

Extender el LV
Extendemos el tamaño del LV y luego ajustamos el sistema de archivos.

sudo lvextend -L +5G /dev/vg0/lv0 Agrega 5GB a lv0
sudo resize2fs /dev/vg0/lv0 Ajusta el sistema de archivos

Resumen de Comandos

  • pvcreate: Crea un nuevo volumen físico.
  • vgcreate: Crea un nuevo grupo de volúmenes.
  • lvcreate: Crea un nuevo volumen lógico.
  • vgextend: Extiende un grupo de volúmenes.
  • lvextend: Extiende un volumen lógico.
  • resize2fs: Ajusta el tamaño del sistema de archivos.
  • lvremove: Elimina un volumen lógico.
  • vgremove: Elimina un grupo de volúmenes.
  • pvremove: Elimina un volumen físico.

Ejemplo Práctico
Vamos a realizar un ejemplo práctico de creación y gestión de LVM.

  1. Agregar un nuevo disco y limpiar metadata:
    sudo wipefs -a /dev/sdb
  2. Crear particiones del tipo Linux LVM:
    sudo fdisk /dev/sdb
  3. Crear PVs en las particiones:
    sudo pvcreate /dev/sdb1
  4. Crear un VG y asignar PV:
    sudo vgcreate vg1 /dev/sdb1
  5. Crear un LV dentro del VG:
    sudo lvcreate -L 20G -n lv1 vg1
  6. Formatear el LV:
    sudo mkfs.ext4 /dev/vg1/lv1
  7. Montar el LV:
    sudo mkdir /mnt/lv1
    sudo mount /dev/vg1/lv1 /mnt/lv1

Conclusiones

LVM proporciona una administración flexible y dinámica del almacenamiento en Linux. Con LVM, puedes redimensionar, mover y gestionar particiones de manera eficiente, lo cual es esencial para sistemas en crecimiento y entornos virtualizados.

¡Gracias por su atención! Ahora, abriremos un espacio para preguntas y respuestas.

Comenzar el curso desde el inicio:

Deja un comentario