User Tools

Site Tools


doc:appunti:linux:sa:linux_lvm

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

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

doc/appunti/linux/sa/linux_lvm.txt · Last modified: 2022/04/22 16:19 by niccolo