====== Logical Volume Manager (LVM) ====== Si installa il pacchetto Debian **lvm2**: apt install lvm2 Con **parted** si crea la partizione e si imposta il flag **lvm**: (parted) set 5 lvm on ===== physical volumes, volume groups e logical volumes ===== Crea due **physical volumes**: pvcreate /dev/sda5 pvcreate /dev/sdb1 Crea un **volume group** (per il momento con un solo volume fisico) e lo attiva: vgcreate data_vg /dev/sda5 vgchange --activate y data_vg Crea un **logical volume** che si estende per il 100% dello spazio libero: lvcreate --extents +100%FREE data_vg --name data ===== Verifica configurazione ===== Verifica i volumi fisici, i gruppi di volumi e i volumi logici esistenti: pvs PV VG Fmt Attr PSize PFree /dev/sda5 data_vg lvm2 a-- 918,47g 0 /dev/sdb1 lvm2 --- 931,51g 931,51g vgs VG #PV #LV #SN Attr VSize VFree data_vg 1 0 0 wz--n- 918.47g 918.47g lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert data data_vg -wi-a----- 918.47g /dev/data_vg/data -> ../dm-0 ===== Modifica configurazione ===== Estende il volume group con un volume fisico aggiuntivo: vgextend data_vg /dev/sdb1 Estende il volume logico **data** aggiungendo tutto lo spazio libero nel volume group **data_vg**. Il filesystem viene ridimensionato contestualmente (funziona anche con filesystem montato e in uso): lvextend --extents +100%FREE --resizefs data_vg/data ===== Resize disco => LVM => filesystem ===== Vedere **[[http://sirlagz.net/2016/01/20/live-resizing-lvm-on-linux/|Live Resizing LVM on Linux]]**. Supponiamo che esista una partizione LVM che occupa un intero disco. La partizione potrebbe essere stata creata in precedenza con questi comandi, prima usando **parted**: parted (parted) mklabel gpt (parted) mkpart primary 0% 100% (parted) set 1 lvm on e quindi usando i **tool LVM**: ~# pvcreate /dev/sdb1 ~# vgcreate home_vg /dev/sdb1 ~# vgchange --activate y home_vg ~# lvcreate --extents +100%FREE home_vg --name homefs ~# pvs ~# vgs ~# lvs ... FIXME Il seguito è da verificare! Appunti per aumentare la dimensione di una partizione LVM dopo aver allargato il disco (virtuale, ovviamente!). Con parted verificare che il disco sia davvero allargato e che abbia spazio libero contiguo alla partizione da allargare: parted /dev/sdb (parted) unit b (parted) print free Allargare la partizione per lo spazio libero risultante: (parted) resizepart 1 75161927679B Allargare il **physical volume**: pvresize /dev/sdb1 Allargare il **logical volume**: lvresize -l +100%FREE /dev/home_vg/homefs Il percorso del volume logico si vede con **lvs**, ed è composto da **%%/dev/[VolumeGroup]/[LogicalVolume]%%**. Allaragare il filesystem: resize2fs /dev/home_vg/homefs ===== Web References ===== * **[[https://wiki.archlinux.org/title/LVM|ArchWiki LVM]]**