doc:appunti:linux:sa:linux_lvm
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:linux:sa:linux_lvm [2022/02/12 16:52] – [Modifica configurazione] niccolo | doc: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 | ||
| </ | </ | ||
| + | |||
| + | ===== Concetti ===== | ||
| + | |||
| + | ^ physical volumes | ||
| + | ^ volume groups | ||
| + | ^ logical volumes | ||
| + | |||
| ===== 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 | ||
| </ | </ | ||
| + | |||
| + | Creazione di alcuni **logical volume** con dimensione specifica nel volume group **vg_server1**: | ||
| + | |||
| + | < | ||
| + | lvcreate --size 32G | ||
| + | lvcreate --size 16G | ||
| + | lvcreate --size 100G --name lv_var | ||
| + | </ | ||
| + | |||
| ===== Verifica configurazione ===== | ===== Verifica configurazione ===== | ||
| Line 76: | Line 92: | ||
| </ | </ | ||
| + | ===== 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: | ||
| + | |||
| + | < | ||
| + | lvreduce --resizefs --size -2G / | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Resize disco => LVM => filesystem ===== | ||
| + | |||
| + | Vedere **[[http:// | ||
| + | |||
| + | 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 / | ||
| + | </ | ||
| + | |||
| + | Il percorso del volume logico si vede con **lvs**, ed è composto da **%%/ | ||
| + | |||
| + | Allaragare il filesystem: | ||
| + | |||
| + | < | ||
| + | resize2fs / | ||
| + | </ | ||
| + | |||
| + | ===== Snapshot ===== | ||
| + | |||
| + | Crea uno snapshot del volume logico **lv_rootfs** assegnando il nome **lv_rootfs_snap** e allocando al massimo 2 Gb di spazio: | ||
| + | |||
| + | < | ||
| + | lvcreate --snapshot --size 2G --name lv_rootfs_snap / | ||
| + | </ | ||
| + | |||
| + | Viene creato il device virtuale **/ | ||
| + | |||
| + | Per vedere lo **stato dello snapshot** (soprattutto lo spazio usato dei 2 Gb allocati): | ||
| + | |||
| + | < | ||
| + | lvdisplay / | ||
| + | ... | ||
| + | COW-table size 2.00 GiB | ||
| + | ... | ||
| + | Allocated to snapshot | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | Se lo spazio tende ad esaurirsi è possibile allocarne altro con **lvextend**, | ||
| + | |||
| + | Nel caso in cui lo spazio dello snapshot si esaurisca, il device snapshot viene invalidato e mostra l' | ||
| + | |||
| + | < | ||
| + | lvs | ||
| + | LV | ||
| + | lv_rootfs | ||
| + | lv_rootfs_snap vg_server1 swi-a-s--- | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | lvs | ||
| + | LV | ||
| + | lv_rootfs | ||
| + | lv_rootfs_snap vg_server1 swi-I-s--- | ||
| + | </ | ||
| + | |||
| + | Infine per liberare lo spazio si rimuove lo snapshot con **lvremove**: | ||
| + | |||
| + | < | ||
| + | lvremove / | ||
| + | </ | ||
| ===== Web References ===== | ===== Web References ===== | ||
| * **[[https:// | * **[[https:// | ||
| + | |||
doc/appunti/linux/sa/linux_lvm.1644681132.txt.gz · Last modified: by niccolo
