LVM
LVM
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