proyectos:linuxservidor-store-lo-lvm
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
proyectos/linuxservidor-store-lo-lvm.txt · Última modificación: por manuel.floresv