# Cos'è LVM e perché semplifica la gestione dei dischi su Linux
Table of Contents
Chi installa un server o un computer Linux, prima o poi, si trova davanti a una domanda solo in apparenza banale: come dividere lo spazio del disco. Con il metodo tradizionale quella decisione va presa quasi subito ed è scomoda da correggere dopo. Basta che una parte del disco si riempia mentre un’altra resta mezza vuota per capirne il limite. LVM nasce proprio per rendere quella scelta reversibile. Capire cos’è aiuta a ragionare sullo spazio disco senza trattarlo come una gabbia decisa una volta per tutte.
Prima di LVM: il problema delle partizioni fisse
Un disco, di solito, non si usa tutto intero: si divide in partizioni, cioè fette di spazio con un confine ben preciso. Una fetta per il sistema, una per i dati, una per l’area di scambio, e così via. Il problema è che quel confine, con le partizioni classiche, è scolpito nel disco: dice “questa fetta arriva fino a qui e non oltre”. Finché le previsioni fatte all’inizio reggono, va tutto bene. Quando non reggono più, spostare un confine su un sistema in funzione è un’operazione delicata, spesso da fare a computer spento, con il rischio concreto di perdere dati.
Il risultato tipico è uno spreco che chiunque abbia gestito un disco conosce: una partizione piena al 100% che blocca un servizio, mentre accanto ce n’è un’altra usata a metà. Lo spazio libero c’è, ma è dalla parte sbagliata del muro.
Cos’è LVM in parole semplici
LVM sta per Logical Volume Manager, cioè “gestore di volumi logici”. È un componente incluso di serie nelle distribuzioni Linux più diffuse, e la sua idea è semplice: mettere uno strato intermedio tra i dischi fisici e i filesystem (il modo in cui i dati vengono organizzati, scritti e letti). Invece di far parlare i dati direttamente con il disco, ci si rivolge a LVM, che tiene la contabilità dello spazio e decide come distribuirlo.
Questo strato in più è tutto il punto. Aggiungendo un livello di astrazione, i confini dello spazio smettono di essere fissi: diventano numeri gestiti via software, che si possono spostare mentre il sistema continua a lavorare. La documentazione di Oracle Linux lo riassume bene quando descrive LVM come una tecnologia “non disruptive and transparent to users”, per cui operazioni come ingrandire un volume o riorganizzare i dischi “don’t require any system down time” (non richiedono alcun fermo del sistema).
I tre concetti base: volume fisico, gruppo, volume logico
LVM si regge su tre concetti impilati uno sopra l’altro. Chiarirli subito toglie gran parte della confusione. Un’analogia utile è quella di un magazzino.
Il volume fisico (in inglese physical volume, PV) è il livello più basso: un disco o una partizione che si dichiara “utilizzabile da LVM”. È come portare in magazzino delle scatole di merce grezza. LVM ne suddivide lo spazio in tanti blocchetti tutti uguali, i cosiddetti extent (la documentazione Oracle indica una dimensione predefinita di 4 MB), che sono l’unità con cui poi conta ogni cosa.
Il gruppo di volumi (volume group, VG) è il magazzino vero e proprio: mette insieme uno o più volumi fisici in un unico grande serbatoio di spazio. Qui sta il cuore della flessibilità. Al serbatoio non importa se lo spazio arriva da un disco solo o da cinque dischi diversi: li vede come un’unica riserva.
Il volume logico (logical volume, LV) è ciò che si usa davvero: dal serbatoio si ritaglia un volume della dimensione voluta, ci si mette sopra un filesystem e lo si monta come una normale unità. Per il sistema è indistinguibile da una partizione, con la differenza sostanziale che i suoi confini non sono fissi. Restando all’analogia: le pareti tra le stanze del magazzino non sono muri di mattoni, ma pannelli mobili che si spostano quando serve, senza svuotare tutto.
Il percorso completo, dai dischi allo spazio pronto all’uso, è una sequenza di tre passi:
pvcreate /dev/sdb /dev/sdc # marca due dischi come volumi fisicivgcreate dati /dev/sdb /dev/sdc # li unisce in un gruppo chiamato "dati"lvcreate -L 50G -n web dati # ritaglia un volume logico da 50 GBDa qui in poi si crea un filesystem sul volume e lo si monta, esattamente come si farebbe con una partizione.
Cosa cambia rispetto alle partizioni classiche
I vantaggi pratici di questo modello sono pochi e concreti.
- Ridimensionare a caldo. Se un volume logico si riempie e nel gruppo c’è ancora spazio libero, lo si può allargare mentre il sistema è in funzione, senza smontare nulla e senza fermare i servizi. In molti casi, con una sola opzione, anche il filesystem sopra viene ingrandito nello stesso momento. Un dettaglio da conoscere: allargare un filesystem si può fare quasi sempre a caldo, ma rimpicciolirlo è più delicato e spesso richiede di smontarlo prima. Alcuni filesystem, come XFS, si possono solo far crescere e non ridurre.
- Unire più dischi in un unico spazio. Poiché il gruppo somma la capacità di tutti i volumi fisici che contiene, un filesystem può estendersi su più dischi come se fossero uno solo. Quando lo spazio scarseggia, basta aggiungere un disco al gruppo per aumentarne la capacità, senza rifare la struttura esistente.
- Snapshot. Uno snapshot è un’istantanea congelata di un volume in un preciso momento. La pagina di manuale di LVM lo descrive come una “frozen image of an origin LV” (immagine congelata di un volume di origine) utilizzabile, per esempio, per i backup mentre il volume originale continua a essere usato, secondo la stessa logica di ridondanza descritta nella regola del backup 3-2-1. È utile per copiare un database o un sistema senza fermarlo, evitando di salvare file che cambiano mentre la copia è ancora in corso, un’operazione che in produzione conviene pianificare con un timer schedulato invece che avviarla a mano. In LVM uno snapshot si può anche “riassorbire” nell’origine, riportando il volume allo stato di quando era stato creato: una rete di sicurezza comoda prima di un aggiornamento a rischio. Nel mondo della virtualizzazione gli snapshot sui volumi LVM condivisi sono stati a lungo un limite, superato solo di recente: è una delle novità di cui parliamo a proposito del passaggio da Proxmox VE 8 alla 9.
- Spostare i dati tra dischi senza fermare nulla. Se un disco inizia a dare segni di cedimento, o se si passa da un disco meccanico a uno a stato solido, LVM permette di trasferire i dati da un volume fisico a un altro mentre i volumi restano montati e in uso. A trasferimento concluso, il vecchio disco si toglie dal gruppo ed è fisicamente estraibile.
Quando conviene usarlo (e quando no)
LVM non è gratis: aggiunge uno strato in più da capire e, all’occorrenza, da saper recuperare se qualcosa va storto. Su una chiavetta USB o su un disco monouso a dimensione fissa è complessità inutile, che non ripaga. Va anche ricordato che la piccola partizione di avvio del sistema (boot ed EFI) resta comunque una partizione classica: LVM non la sostituisce.
Sui server, però, la bilancia pende quasi sempre dall’altra parte. Ogni volta che si prevede di dover far crescere lo spazio nel tempo, spostare dati tra dischi o fare backup coerenti senza fermare i servizi, la flessibilità di LVM ripaga il piccolo costo iniziale, lo stesso ragionamento che porta a preferire un’infrastruttura descritta in file versionati invece che configurata a mano una volta per tutte. La regola pratica più diffusa è semplice: partizione classica solo dove è obbligatoria, tutto il resto sotto LVM. Meglio avere la flessibilità e non usarla che scoprirne il bisogno a disco pieno.
In sintesi
LVM è un livello di astrazione che si mette tra i dischi fisici e i dati. Trasforma i confini rigidi delle partizioni in numeri gestiti via software: i dischi diventano volumi fisici, si uniscono in un gruppo che fa da serbatoio, e da lì si ritagliano volumi logici con pareti mobili. Il guadagno concreto è poter ridimensionare a caldo, unire più dischi, congelare istantanee per i backup e spostare dati senza downtime. Non serve ovunque, ma dove lo spazio deve poter cambiare nel tempo, evita di trattare una decisione presa il primo giorno come se fosse definitiva.
