====== 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 ====== * https://www.digitalocean.com/community/tutorials/an-introduction-to-lvm-concepts-terminology-and-operations * https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/deployment_guide/ch-lvm * https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/lv_overview * https://www.tecmint.com/manage-and-create-lvm-parition-using-vgcreate-lvcreate-and-lvextend/ * https://www.tecmint.com/lvm-storage-migration/ * https://www.tecmint.com/extend-and-reduce-lvms-in-linux/ * https://unix.stackexchange.com/questions/368007/ubuntu-glusterfs-unable-to-create-thinly-provisioned-volume-from-previously-cre * https://unix.stackexchange.com/questions/341077/lvm-volume-group-what-are-extents * https://www.clevernetsystems.com/lvm-snapshots-explained/ * https://www.theurbanpenguin.com/maning-lvm-snapshots/ * https://www.redhat.com/sysadmin/creating-logical-volumes * https://www.theurbanpenguin.com/striped-lvm-volumes/ * https://www.redhat.com/sysadmin/lvm-vs-partitioning