Herramientas de usuario

Herramientas del sitio


informatica:certificaciones:lpic:lpic-2:204_advanced_storage_device_administration:204.3

204.3 Logical Volume Manager

Pertenece a LPI Topic 204: Advanced Storage Device Administration

  • Weight: 3
  • Description: Candidates should be able to create and remove logical volumes, volume groups, and physical volumes. This objective includes snapshots and resizing logical volumes.
  • Key Knowledge Areas:
    • Tools in the LVM suite
    • Resizing, renaming, creating, and removing logical volumes, volume groups, and physical volumes
    • Creating and maintaining snapshots
    • Activating volume groups
  • Terms and Utilities:
    • /sbin/pv*
    • /sbin/lv*
    • /sbin/vg*
    • mount
    • /dev/mapper/
    • lvm.conf

LVM

LVM es el Logical Volume Manager de Linux. Es una herramienta que nos permite gestionar conjuntos de discos de diferentes tipos y tamaños para crear y modificar, de modo flexible, espacios de almacenamiento.

Para tener soporte de LVM, hay que instalar el paquete lvm2

Es compatible con discos IDE, SCSI y unidades RAID.

La estructura de LVM esta formada un número de discos físicos, inicializados como LVM, que se agrupan formando un grupo de volúmenes. Estos a su vez contienen los volúmenes lógicos. Si hiciésemos una analogía con un particionado normal de un disco, el disco sería un grupo de volúmenes y el volumen lógico sería cada partición del disco.

La mayor ventaja de LVM es la flexibilidad a la hora de trabajar con sistema de ficheros.

LVM tiene un identificador de sistema de ficheros propio: 8e (con fdisk)

Un sistema LVM se descompone en tres partes:

  • Volúmenes físicos (PV): Son las particiones del disco duro o RAIDs con sistema de archivos LVM.
  • Grupo de Volúmenes (VG): Es una unidad administrativa en la que se engloban nuestros recursos, está formada por el conjunto de PVs y a su vez contiene los LVs.
  • Volumen Lógico (LV): Última capa del LVM, es el equivalente a una partición en un sistema tradicional.

Ejemplo de un sistema con LVM:

Volúmenes físicos (PV)

Las principales utilidades para administrar PV son:

  • pvcreate: crear volumen físico
  • pvdisplay: detalle de los volúmenes físicos creados.
  • pvs: listado breve de los volúmenes físicos creado.
  • pvmove
  • pvremove
  • pvresize

Lo primero es crear particiones en todos los discos que vayamos a usar en LVM de tipo Linux LVM (8e)

Ejemplos:

Crear un Volumen Físico:

pvcreate /dev/sdb1 /dev/sdc1

Si quisiéramos eliminar algún volumen físico:

pvremove /dev/sdc1

Para ver/listar los volúmenes físicos:

pvs

Mover un Volumen Físico:

pvmove /dev/sdb1 /dev/sdb2

Grupo de volúmenes (VG)

Para crear un VG necesitas tener al menos un PV.

Las principales utilidades para administrar VG son:

  • vgcreate: crear grupo de volúmenes:
  • vgdisplay: información detallada sobre los grupos de volúmenes.
  • vgs: listado breve de los grupos de volúmenes.
  • vgextend: ampliar grupo de volúmenes (añadiendo volúmenes físicos)
  • vgreduce: reducir grupo de volúmenes
  • vgremove: eliminar grupo de volúmenes

Crear un Grupo de volúmenes:

vgcreate vg01 /dev/sdb1 /dev/sdc1

Listar los grupos de volúmenes:

vgs

Extender un VG:

vgextend vg01 /dev/sdd1

Borrar un VG:

vgremove vg01 

Volúmenes lógicos (LV)

Las principales utilidades para administrar LV son:

  • lvcreate: creación de volúmenes lógicos.
  • lvdisplay: listado detallado de volúmenes lógicos.
  • lvs: listado sencillo de volúmenes lógicos.
  • lvextend: extender el volumen lógico.
  • lvreduce
  • lvremove

Crear un LV de 2 GB llamado vol1 en el grupo de volúmenes vg01:

lvcreate -L 2G -n vg01/vol1

Crear un LV de 2 GB llamado vol2 en el grupo de volúmenes vg01:

lvcreate -L 2G -n vg01/vol2

Podemos listar los volúmenes lógicos:

lvs

Mostrar espacio libre en un LV:

lvdisplay /dev/vg01/vol1

Al crear volúmenes lógicos, el sistema los asociará al fichero /dev/grupovolumen/volumenlogico

Para poder utilizar estos volúmenes lógicos, necesitaremos formatearlos (igual que si fuesen particiones):

mkfs.ext4 /dev/vg01/vol1
mkfs.ext4 /dev/vg01/vol2

Creamos puntos de montaje:

mkdir /mnt/disco1
mkdir /mnt/disco2

Y montamos:

mount -t ext4 /dev/vg01... /mnt/disco1

Extender un LV:

lvextend -L +3G /dev/mapper/vg01-vol2

Si queremos extender el volumen a todo el espacio libre disponible de su grupo de volúmenes:

lvextend -l +100%FREE /dev/mapper/vg01-vol2

Siempre que se extiende un LV, posteriormente debemos extender el sistema de ficheros. Para extender el sistema de ficheros usamos la herramienta resize2fs:

resize2fs /dev/mapper/vg01-vol2 5G

5G será el nuevo tamaño que debe tener el sistema de ficheros.

Cuando reducimos el tamaño del LV hay que reducir previamente el del sistema de ficheros.

Snapshots

También podemos crear Snapshots de un LV.

Un Snapshot es una “copia virtual” de una unidad lógica, que conservará los datos del volumen en el momento en donde se ha realizado, de modo que podemos restaurar dicho volumen en un momento dado.

Crea un volumen lógico nuevo que es copia de otro volumen lógico en un momento concreto del tiempo.

Ejemplo:

lvcreate -L 10G -s -n snap-2021-12-10 /dev/mapper/vg01-vol1

Device Mapper

El Device Mapper es un módulo del kernel que proporciona un sistema de gestión de volúmenes. Nos permite mappear dispositivos en nuestro sistema de ficheros usándolos como volúmenes lógicos.

LVM utiliza Device Mapper para asignar rutas a nuestros volúmenes lógicos.

Los LV se crean como /dev/mapper/VG-LV y debemos darle formato, antes de realizar el montaje y trabajar con ellos.

Ejemplo:

# df -h
S.ficheros                 Tamaño Usados  Disp Uso% Montado en
/dev/mapper/rhel-root         82G    47G   36G  58% /
devtmpfs                     3,9G      0  3,9G   0% /dev
tmpfs                        3,9G      0  3,9G   0% /dev/shm
tmpfs                        3,9G   393M  3,5G  11% /run
tmpfs                        3,9G      0  3,9G   0% /sys/fs/cgroup
/dev/mapper/rhel-tmp         1,9G    33M  1,9G   2% /tmp
/dev/mapper/rhel-home        1,9G    93M  1,8G   5% /home
/dev/mapper/rhel-var          10G   1,9G  8,2G  19% /var
/dev/sda1                    497M   168M  330M  34% /boot
tmpfs                        782M      0  782M   0% /run/user/0

Test

Queremos reducir de tamaño un sistema de ficheros que está gestionado por LVM. ¿Cómo lo haríamos sin perder datos?

  1. Desmontar el sistema de ficheros
  2. Pasarle el fsck y realizar comprobaciones y corregir posibles errores en el sistema de ficheros.
  3. lvreduce para reducirlo especificando el nuevo tamaño.
  4. Montamos de nuevo el volumen lógico

Decides utilizar LVM para gestionar 4 discos de 4GB. Después de crear el grupo de volúmenes, ¿cómo crearías un volumen lógico de 10 GB llamado “big-app”?

  • lvcreate -l 2560 vg01 -n big-app

-l especifica que se usarán los “lvm extends”, unidad mínima de información de LVM que, por defecto, son 4 MB. 4 * 2560 = 10240 (10 GB)

La secuencia correcta de comandos para crear volúmenes lógicos en un sistema Linux es:

  • pvcreate, vgcreate, lvcreate, mke2fs (mkfs.ext4, mkfs.ext3…), mount
informatica/certificaciones/lpic/lpic-2/204_advanced_storage_device_administration/204.3.txt · Última modificación: por tempwin