Table of Contents
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 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
…
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