Skip to main content

LVM

LVM

[1]

Sistema de gestión de volumenes avanzado para el kernel de Linux, nos permite gestionar el espacio de almacenamiento de una manera mucho más flexible que de la manera tradicional. Entre sus carecterísticas tenemos:

  • Redimensionado de grupos lógicos.
  • Redimensionado de volúmenes lógicos.
  • Instantáneas de sólo lectura. LVM2 ofrece lectura y escritura.
  • RAID0 de volúmenes lógicos.

A partir de la versión del núcleo de Linux 2.6 podemos contar con soporte para LVM2, aún así debemos instalar las herramientas de uso.

apt install lvm2

Preparación de un entorno para pruebas

Siempre podemos añadir una máquina virtual con diferentes discos y hacer pruebas con ellos, pero como LVM puede utilizarse sobre cualquier dispositivos de bloques vamos a crear diferentes ficheros gracias a que los dispositivos de bucle -loop device- trataremos comos discos físicos.

dd if=/dev/zero of=fichero0 bs=1M count =100
losetup /dev/loop0 fichero0
dd if/dev/zero of=fichero1 bs=1 count=100
losetup /dev/loop1 fichero1

Iniciando dispositivos

Para poder crear volúmenes lógicos antes debemos iniciar estos "ficheros-discos virtuales" como volúmen lógico.

pv create /dev/loop0
pv create /dev/loop1

Volume Group

Podemos crear un grupo de volúmenes a partir de los volúmenes físicos virtuales creados.

vgcreate mi_grupovm /dev/loop0 /dev/loop1

Activando / DesActivando los VG

Solo cuando un grupo de volumenes lógicos esta activo se puede acceder a los volúmenes logicos que contiene. Para activar y desactivar los grupos tenemos el comando:

vgchange -a y mi_grupovm

Para eliminar un grupo de volumenes es necesario asegurarse que no hay dentro ningún volumen lógico. Primero desactivamos el grupo:

vgchange -a n mi_grupovm

Después eliminamos:

vgremove mi_grupovm

Para añadir un volumen físico más:

vgextend mi_grupovm /dev/loop2

Eliminando un volumen físico: Primero utilizamos el comando pvdisplay /dev/loop2. Esto lo hacemos para comprobar que ningún volumen lógico este utilizando dicho volumen físico. Lo vemos bajo el atributo Allocated PE Para extraer el volumen físico:

vgreduce mi_grupovm /dev/loop2

Creacion de volumen lógico

Indicando los MBs:

lvcreate -L 10M -n lv1 mi_grupovm

Indicando los extends:

lvcreate -l 3 lv2 mi_grupovm

Indicando el volume lógico a utilizar:

lvcreate -L 10M -n lv3 mi_grupovm /dev/loop1

Borrado de volumenes lógicos

lvremove lv1

Utilizando el volumen lógico

mkdir /mnt/disco1 /mnt/disco2 /mnt/disco3
mkfs.ext3 /dev/mi_grupovm/lv1
mount /dev/mi_grupovm/lv1 /mnt/disco1

SnapShots

Para poder crear instantáneas debemos instalar activar el módulo dm-snapshot.

modprobe dm-snapshot

Es posible crear una instantánea de un volúmen lógico (LV), y montar la instantánea para hacer una copia de seguridad. Cuando creamos una instántanea se debe indicar el tamaño máximo que se utilizará para guardar los cambios sobre el volumen original.

lvcreate -L20M -s -n congelado /dev/mi_grupovm/lv2

Podemos montar la instantánea y trabajar sobre ella.

mkdir /mnt/congelado
mount /dev/mi_grupovm/congelado /mnt/congelado