Destacados

Los Comandos más utilizados en LVM

Este post presenta los comandos mas utilizados en la adminstración de volumenes LVM. Volumenes Físicos (PV) pvcreate : Inicializar un dispos...

16 octubre 2024

Administración de volumenes LVM en Linux

En el post anterior vimos que es LVM y cuales son sus principales ventajas. En este post veremos la principales operaciones que puede realizarse en un sistema LVM.

Creación de un Grupo de Volumen

Un Grupo de Volumen (VG) es una colección de uno o más Volúmenes Físicos (PVs). Los VGs forman la base del sistema de administración de volúmenes lógicos y actúan como un conjunto de almacenamiento del cual puedes asignar volúmenes lógicos. Aquí hay una guía detallada sobre cómo crear un VG a partir de uno o más PVs:

1. Identificar Discos Disponibles:

Utiliza el comando

lsblk

para listar todos los dispositivos de bloque conectados a tu sistema. Este comando proporciona una descripción general de tus discos y particiones.

Otra alternativa es el uso del comando

fdisk -l

En ciertas condiciones es posible que el nuevo disco no sea reconocido por el sistema operativo. En este caso puede re-escanearse el bus scsi mediante el siguiente comando:

echo "- - -" >> /sys/class/scsi_host/host0/scan

Este comando debe ejecutarse para cada host listado en el directorio /sys/class/scsi_host/. Por ejemplo:host0, host1, host2 ... Una vez realizado, puede utilizarse los comandos indicados en el punto 1 para buscar el nuevo dispositivo.

2. Preparar los Discos (si es necesario):

Para discos duros nuevos:Si estás usando un disco duro nuevo, es posible que debas particionarlo primero usando una herramienta como fdisk. En el caso que se quiera incorporar el disco completo al VG, puede saltarse este paso, ya que el LVM puede reconocer los discos sin particionar.

Para particiones existentes: Si estás usando una partición existente, asegúrate de que no esté en uso y que no contenga datos valiosos, ya que usarla para LVM sobrescribirá los datos.

3. Crear Volúmenes Físicos (PVs):

Ahora, para cada disco o partición generado en el punto 2, utiliza el comando pvcreate para inicializarlo como un PV. Por ejemplo:

    sudo pvcreate /dev/sdb # Usar todo el disco /dev/sdb
    sudo pvcreate /dev/sdb1 # Usar la partición /dev/sdb1

4. Crear el Grupo de Volumen:

Ahora que tienes los PVs, puedes crear un VG usando el comando vgcreate. Deberás darle al VG un nombre y especificar los PVs que incluir:

    sudo vgcreate my_volume_group /dev/sdb /dev/sdc1

Este comando crea un VG llamado "my_volume_group" usando todo el disco /dev/sdb y la partición /dev/sdc1.

5. Verificar el Grupo de Volumen:

Puedes usar comandos como vgdisplayo vgspara verificar que el VG se ha creado correctamente y para ver sus detalles, incluyendo los PVs que contiene y el espacio libre disponible.

6. Creación de Volúmenes Lógicos:

Los Volúmenes Lógicos (LVs) residen dentro de un VG y son las unidades que formatearás con un sistema de archivos y usarás para almacenar datos. Piensa en los LVs como particiones flexibles dentro del conjunto de almacenamiento del VG. Aquí está cómo crear LVs dentro de un VG:

a.Elegir un Nombre y Tamaño:Decide un nombre significativo para tu LV (por ejemplo, 'projects', 'database', 'home'). Determina el tamaño del LV basado en tus requisitos de almacenamiento.

b. Usar el Comando lvcreate:Emplea el comando lvcreatepara crear el LV, especificando el VG, el nombre del LV y el tamaño deseado:

Crear un LV de 20GB llamado 'data_lv'

sudo lvcreate -L 20G -n data_lv my_volume_group

Crear un LV usando el 50% del espacio libre del VG

sudo lvcreate -l 50%FREE -n web_lv my_volume_group

7. Formatear el Volumen Lógico:

Para usar el LV, necesitas formatearlo con un sistema de archivos. Elige un sistema de archivos adecuado para tus necesidades (por ejemplo, ext4, xfs).

sudo mkfs.ext4 /dev/my_volume_group/data_lv # Formatear con ext4
sudo mkfs.xfs /dev/my_volume_group/web_lv  # Formatear con xfs

8. Montar el Volumen Lógico:

Crea un directorio de punto de montaje (una ubicación en tu sistema de archivos donde el LV será accesible) y monta el LV:

sudo mkdir /mnt/data
sudo mount /dev/my_volume_group/data_lv /mnt/data

9. Configurar para Montaje Automático (Opcional):

Para que el LV se monte automáticamente al inicio del sistema, agrega una entrada al archivo /etc/fstab.

B.Extender Volúmenes

El poder de LVM radica en su capacidad para ajustar dinámicamente el tamaño de los LVs para adaptarse a las cambiantes necesidades de almacenamiento.

1.Agregar Almacenamiento al VG (si es necesario):

Si necesitas extender un LV más allá del espacio libre actual del VG, primero deberás agregar más almacenamiento. Sigue los pasos en "Creación de un Grupo de Volumen" para crear un nuevo PV y agregarlo al VG existente usando vgextend.

2. Extender el LV:

Usa el comando lvextendpara aumentar el tamaño del LV.

Agregar 10GB sudo

lvextend -L +10G /dev/my_volume_group/data_lv

Usar todo el espacio disponible

sudo lvextend -l +100%FREE /dev/my_volume_group/web_lv

3.Redimensionar el Sistema de Archivos:

Después de extender el LV, debes redimensionar el sistema de archivos para utilizar el espacio recién asignado.

Para ext4

resize2fs /dev/my_volume_group/data_lv

Para xfs

sudo xfs_growfs /dev/my_volume_group/web_lv

C. Reducir LVs

Advertencia: Reducir LVs implica una posible pérdida de datos y generalmente no se recomienda para sistemas críticos sin copias de seguridad adecuadas.

1.Desmontar el Sistema de Archivos:

Desmonta el LV del punto de montaje:

sudo umount /mnt/data

2.Reducir el Sistema de Archivos:

Usa una herramienta específica del sistema de archivos para reducir el tamaño del sistema de archivos antes de reducir el LV. Este es un paso crucial para evitar la pérdida de datos.

#Para ext4

sudo resize2fs /dev/my_volume_group/data_lv 15G 

#Para xfs(reducir a 15GB)

3.Reducir el LV:

Usa el comando lvreducepara reducir el LV al nuevo tamaño del sistema de archivos.

sudo lvreduce -L 15G /dev/my_volume_group/data_lv

4.Volver a Montar el Sistema de Archivos:

Monta el LV de nuevo en el punto de montaje.

D.Eliminar Volúmenes

Advertencia: Antes de eliminar cualquier componente de LVM (LVs, VGs, PVs), asegúrate de que no estén montados o en uso por ninguna aplicación o proceso. Este paso es vital para evitar la pérdida de datos.

1.Eliminar Volúmenes Lógicos:

Para eliminar un LV, usa el comando lvremove.

sudo lvremove /dev/my_volume_group/data_lv

Probablemente se te pedirá que confirmes la eliminación.

2. Eliminar Grupos de Volumen

Para eliminar un VG, usa el comando vgremove.

sudo vgremove my_volume_group

Este comando elimina el VG y todos los LVs asociados con él.

3.Eliminar Volúmenes Físicos:

Para eliminar un PV, usa el comando pvremove.

sudo pvremove /dev/sdb

Esto eliminará el encabezado de LVM del dispositivo físico, haciendo que el espacio de almacenamiento esté disponible para otros usos.

Recuerda hacer una copia de seguridad de tus datos antes de realizar cualquier operación irreversible, especialmente reducir o eliminar LVs o VGs.

No hay comentarios:

Publicar un comentario