User Tools

Site Tools


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 [2025/11/20 10:16] – [physical volumes, volume groups e logical volumes] niccolodoc:appunti:linux:sa:linux_lvm [2025/11/21 18:31] (current) – [Snapshot] niccolo
Line 15: Line 15:
 ===== Concetti ===== ===== Concetti =====
  
-physical volumes  | +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     | +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   |+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 40: 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 80: 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 144: Line 162:
 <code> <code>
 resize2fs /dev/home_vg/homefs 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.1763630217.txt.gz · Last modified: by niccolo