Nota: questo è un obiettivo d’esame RHCSA 7.
Prerequisiti
Prima di trattare volumi fisici, gruppi di volumi e volumi logici, è necessario sapere come creare partizioni su disco.
Presentazione LVM
LVM è l’acronimo di Logical Volume Manager. È il componente di sistema in grado di gestire le partizioni in modo moderno.
Tradizionalmente, i dischi Unix erano divisi in sezioni chiamate partizioni. È stato possibile decidere la dimensione di ogni partizione ma, una volta eseguita, non è possibile cambiarla senza distruggere tutti i dati su di essa.
Con LVM, è possibile allocare lo spazio su disco in modo flessibile.
LVM si basa su tre concetti principali:
volume fisico (phisical volume)o PV: un PV è un intero disco o una partizione di un disco,
gruppo di volumi (volume group) o vg: a vg contiene uno o più pv; un PV può appartenere solo a un VG,
volume logico (logical volume) o lv: a lv rappresenta una porzione di una vg; a lv può appartenere solo una vg; è su un lv che è possibile creare un file system.
LVM offre flessibilità rispetto al sistema precedente solo in base alle partizioni:
puoi aumentare facilmente le dimensioni di un volume logico se hai spazio disponibile nel gruppo di volumi associato,
se non si dispone più di spazio disponibile, è possibile aggiungere un nuovo disco come volume fisico, aggiungerlo al gruppo di volumi e aumentare la dimensione del volume logico: il volume logico occuperà due o più dischi senza operazioni aggiuntive,
la creazione o l’estensione di volumi logici non richiede tempi di inattività.
Rapporto di configurazione
Prima di iniziare qualsiasi operazione, è necessario conoscere la configurazione corrente. Genere:
# lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 6G 0 disk
├─vda1 252:1 0 390M 0 part /boot
└─vda2 252:2 0 5.5G 0 part
├─rhel-swap 253:0 0 552M 0 lvm [SWAP]
└─rhel-root 253:1 0 3G 0 lvm /
Con il comando lsblk, ottieni rapidamente le seguenti informazioni:
è una macchina virtuale (vda, sda indica un server fisico),
c’è solo un disco /dev/vda di 6 GB,
il disco è diviso in due partizioni (vda1 e vda2) rispettivamente con una dimensione di 390 MB e 5,5 GB,
la partizione vda1 è montata sotto /boot,
la partizione vda2 consiste in due volumi logici (lvm) swap e root in un gruppo di volumi chiamato rhel,
il volume logico di scambio è utilizzato dal sistema come area di scambio ([SWAP]) di 552 MB,
il volume logico di root è montato in / con una dimensione di 3 GB,
ci sono circa 2 GB di spazio disponibile gratuito (5,5 GB-552 MB-3 GB = 2 GB) nella partizione vda2,
nessuna delle partizioni è in modalità di sola lettura (RO = 0) o ReMovable (RM = 0).
Nota 1: lsblk dovrebbe essere il primo comando da digitare quando si ha a che fare con le partizioni.
Nota 2: per impostazione predefinita, il comando lsblk non visualizza i dispositivi vuoti. L’opzione -a corregge questo problema.
Gestione del volume fisico (Phisical Volume)
Per creare un volume fisico (qui /dev/vda), digitare:
# pvcreate /dev/vda
Per rimuovere un volume fisico che non appartiene a nessun gruppo di volumi (qui /dev/vda), digitare:
# pvremove /dev/vda
Per ottenere l’elenco dei volumi fisici, digitare:
# pvs
Gestione del gruppo di volumi (Volume Group)
Per creare un gruppo di volumi (qui chiamato vg utilizzando un volume fisico /dev/vda) con una dimensione fisica di estensione di 8 MB, digitare:
# vgcreate -s 8m vg /dev/vda
Per aggiungere un volume fisico (qui / dev / vdb) a un gruppo di volumi esistente (qui vg), digitare:
# vgextend vg /dev/vdb
Per rimuovere un volume fisico (qui /dev/vdb) da un gruppo di volumi esistente (qui vg), digitare:
# vgreduce vg /dev/vdb
Per rimuovere un gruppo di volumi esistente (qui chiamato vg), digitare:
# vgremove vg
Per ottenere l’elenco dei gruppi di volumi, digitare:
# vgs
Gestione del volume logico (Logical Volume)
Per creare un volume logico (qui chiamato lv_vol con una dimensione di 1 GB nel gruppo di volumi vg), digitare:
# lvcreate --size 1G --name lv_vol vg
Per rimuovere un volume logico (qui chiamato lv_vol nel gruppo di volumi vg), digitare:
# lvremove /dev/vg/lv_vol
Per ottenere l’elenco dei volumi logici, digitare:
# lvs
Risorse addizionali
Oltre agli obiettivi RHCSA, è possibile leggere questo tutorial sulla creazione di un Thinly Provisioned Logical Volume.