Tabla de Contenidos

Funcionamiento LVM

MBR

GPT

Crear un LVM

gdisk /dev/DISCO

Crear particion con tipo Linux LVM(8e00)

pvcreate /dev/DISCOp1
pvs
vgcreate vgdata /dev/DISCOp1
vgs
vgdisplay vgdata
lvcreate -L 100M -n lvdata /dev/vgdata
ls -alh /dev/vgdata
mkfs.btrfs /dev/vgdata/lvdata
mount /dev/vgdata/lvdata /mnt
mkdir /mydata

Montar con fstab

mount -a
lvs

Redimensionar LVM

Para redimensionar LVM, tambien debemos redimensionar la particion.

ext4 se puede agrandar o achicar xfs solo se puede agrandar

mount |grep lv
df -h|grep lv
lvreduce -L -100M -r /dev/vgdata/lvdata
vgs
lvextend -L +100M -r /dev/vgdata/lvdata

Agregar mas espacio al VOlumeGroup

vgextend vgdata /dev/NUEVODISCOp1
vgs

LVM Mirror & Stripes

lvcreate -i
vgcreate vgmirror /dev/DISCO1p1 /dev/DISCO2p1 /dev/DISCO3p1 /dev/DISCO4p1
vgs
lvcreate --type raid1  -m1 -L 200M -m lvmirror  vgmirror
lvdisplay /dev/vgmirror/lvmirror

Snapshots

Snapshots es una copia de la metadata, si algun dato cambia, crea una copia de esa data. Snapshots deben ser temporales.

lvcreate -s -n root-snap -L 400M /dev/vgmirror/lvmirror 
lvs
mount /dev/vgmirror/ /mnt

Resumen

Comandos

apt install lvm2
apt install thin-provisioning-tools
lvm dumpconfig|grep snapshot

Discos Fisicos

pvcreate DISCO1 DISCO2...
pvs
pvremove DISCO1 DISCO2...
pvdisplay

Grupo de Volumenes

vgcreate NOMBRE  DISCO1 DISCO2
vgextend NOMBRE DISCO1...
vgreduce NOMBRE DISCO1...
vgs
vgsplit NOMBRE NOMBREPEQUE DISCO1...
vgmerge -v NOMBRE NOMBREPEQUE
vgrename NOMBRE NUEVO
vgdisplay 

Volumenes Logicos

Crear y Borrar

lvcreate -L SIZE VGNAME
lvcreate -L SIZE -n NAME VGNAME
lvs
lvs -v --segments
lvs -o help
lvs -o +devices
lvrename VGNAME OLDNAME NEWNAME
lvremove VGNAME/LVNAME
lvdisplay
 
 
lsblk 
 
dmsetup deps /dev/VG/LV
dmsetup table

Extender y Redimensionar

lvextend -LSIZE VGNAME/LVNAME
lvextend -L+SIZE VGNAME/LVNAME
lvextend -l +100%FREE VGNAME/LVNAME
lvreduce --resizefs -LSIZE VGNAME/LVNAME
lvreduce --resizefs -L-SIZE VGNAME/LVNAME

Crear con Porcentajes

lvcreate -l 60%VG  VGNAME
lvcreate -l 60%FREE  VGNAME
lvcreate -l 100 -n NAME VGNAME /dev/sdf:0-24 /dev/sdc:50-124 #100 physical extends

Crear con Bloques Distribuidos y Espejo

lvcreate -L SIZE -i2 -I64 -n NAME VGNAME
lvcreate -L SIZE -m1 -n NAME VGNAME
lvcreate -L SIZE -m1 --mirrorlog mirrored -n NAME VGNAME

Snapshots

lvcreate -L SIZE -s -n NAME VGNAME/LVNAME
lvconvert --merge VGNAME/LVSNAPNAME

Thin Provision

lvcreate -L 100M -T VGNAME/THINPOOLNAME
lvcreate -V10G -T VGNAME/THINPOOLNAME -n THINVOLUME

Mas Desempenio con Cache en SSD

#/dev/sde1 is a slow device and /dev/sdf1 is a fast device 
lvcreate -L 4G -n lv VG /dev/sde1
lvcreate -L 2G -n lv_cache VG /dev/sdf1
lvcreate -L 12M -n lv_cache_meta VG /dev/sdf1 #1000 time smaller than the cache data 
lvconvert --type cache-pool --cachemode writethrough --poolmetadata VG/lv_cache_meta VG/lv_cache
lvs -a -o +devices
lvconvert --type cache --cachepool VG/lv_cache VG/lv

Archivos

/etc/lvm/lvm.conf
/etc/lvm/lvmlocal.conf
/etc/fstab

Opciones

Referencias