doc:appunti:linux:sa:linux_lvm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:linux_lvm [2022/04/22 16:16] – [Resize disco => LVM => filesystem] niccolodoc:appunti:linux:sa:linux_lvm [2025/11/21 18:31] (current) – [Snapshot] niccolo
Line 12: Line 12:
 (parted) set 5 lvm on (parted) set 5 lvm on
 </code> </code>
 +
 +===== Concetti =====
 +
 +^ physical volumes  | Dispositivi a blocchi (//block devices//) che costituiscono la base per lo spazio di memorizzazione LVM. Possono essere semplici partizioni di un disco, volumi RAID, ecc.  |
 +^ volume groups     | Un //volume group// è l'unione di uno o più //physical volumes//, il cui spazio totale viene visto come entità unica di cui disporre.  |
 +^ logical volumes   | Lo spazio di un //volume group// viene allocato creando uno o più //logical volumes// al suo interno. Tale volume è un block device che può essere utilizzato ad esempio per contenere un filesystem.  |
 +
  
 ===== physical volumes, volume groups e logical volumes ===== ===== physical volumes, volume groups e logical volumes =====
Line 34: Line 41:
 lvcreate --extents +100%FREE data_vg --name data lvcreate --extents +100%FREE data_vg --name data
 </code> </code>
 +
 +Creazione di alcuni **logical volume** con dimensione specifica nel volume group **vg_server1**:
 +
 +<code>
 +lvcreate --size 32G   --name lv_rootfs vg_server1
 +lvcreate --size 16G   --name lv_swap   vg_server1
 +lvcreate --size 100G  --name lv_var    vg_server1
 +</code>
 +
  
 ===== Verifica configurazione ===== ===== Verifica configurazione =====
Line 74: Line 90:
 <code> <code>
 lvextend --extents +100%FREE --resizefs data_vg/data lvextend --extents +100%FREE --resizefs data_vg/data
 +</code>
 +
 +===== Riduzione di un volume logico =====
 +
 +Può capitare che di desideri aggiungere o **aumentare lo spazio libero** in un **volume group**, ad esempio per poter creare uno snapshot di un volume logico. In questo caso di decide di **ridurre la dimensione di un volume logico** esistente, effettuando contestualmente il **resize del filesystem** in esso contenuto:
 +
 +<code>
 +lvreduce --resizefs --size -2G /dev/vg_server1/lv_home
 </code> </code>
  
Line 129: Line 153:
  
 <code> <code>
-lvresize -l +100%FREE /dev/VolGroup/lv_root+lvresize -l +100%FREE /dev/home_vg/homefs
 </code> </code>
  
-FIXME: Come scoprire il percorso del volume logico?+Il percorso del volume logico si vede con **lvs**, ed è composto da **%%/dev/[VolumeGroup]/[LogicalVolume]%%**.
  
 Allaragare il filesystem: Allaragare il filesystem:
  
 <code> <code>
-resize2fs /dev/mapper/VolGroup-lv_root+resize2fs /dev/home_vg/homefs 
 +</code> 
 + 
 +===== Snapshot ===== 
 + 
 +Crea uno snapshot del volume logico **lv_rootfs** assegnando il nome **lv_rootfs_snap** e allocando al massimo 2 Gb di spazio: 
 + 
 +<code> 
 +lvcreate --snapshot --size 2G --name lv_rootfs_snap /dev/vg_server1/lv_rootfs 
 +</code> 
 + 
 +Viene creato il device virtuale **/dev/vg_server1/lv_rootfs_snap**. 
 + 
 +Per vedere lo **stato dello snapshot** (soprattutto lo spazio usato dei 2 Gb allocati): 
 + 
 +<code> 
 +lvdisplay /dev/vg_server1/lv_rootfs_snap 
 +... 
 +  COW-table size         2.00 GiB 
 +... 
 +  Allocated to snapshot  16.76% 
 +... 
 +</code> 
 + 
 +Se lo spazio tende ad esaurirsi è possibile allocarne altro con **lvextend**, sempre ammesso che esista spazio libero nel volume group. 
 + 
 +Nel caso in cui lo spazio dello snapshot si esaurisca, il device snapshot viene invalidato e mostra l'attributo **I** in **lvs**: 
 + 
 +<code> 
 +lvs 
 +  LV             VG         Attr       LSize    Pool Origin    Data% 
 +  lv_rootfs      vg_server1 owi-aos---   32.00g 
 +  lv_rootfs_snap vg_server1 swi-a-s---    2.00g      lv_rootfs 27.21 
 +</code> 
 + 
 +<code> 
 +lvs 
 +  LV             VG         Attr       LSize    Pool Origin    Data% 
 +  lv_rootfs      vg_server1 owi-aos---   32.00g 
 +  lv_rootfs_snap vg_server1 swi-I-s---    2.00g      lv_rootfs 100.00 
 +</code> 
 + 
 +Infine per liberare lo spazio si rimuove lo snapshot con **lvremove**: 
 + 
 +<code> 
 +lvremove /dev/vg_server1/lv_rootfs_snap
 </code> </code>
  
doc/appunti/linux/sa/linux_lvm.1650637005.txt.gz · Last modified: by niccolo