Se pensi che gestire le partizioni disco significhi spegnere il tuo sistema e sperare che tutto funzioni quando riavvii, allora mi dispiace sinceramente per te. Mi dispiace che tu stia perdendo le capacità di mount LVM e non realizzi che la gestione dello storage non deve essere così complicata.
Questa guida ti mostra come creare LVM, montare partizioni LVM e gestire volumi logici senza downtime. Imparerai i comandi LVM essenziali che funzionano su sistemi AlmaLinux e Rocky Linux (o meglio, i loro moderni sostituti).
Riassunto rapido
- LVM crea un livello di storage flessibile tra i tuoi dischi fisici e i file system, permettendoti di ridimensionare le partizioni mentre il sistema è in esecuzione
- Installa con apt install lvm2 su Ubuntu o dnf install lvm2 su AlmaLinux/Rocky Linux (Rocky Linux è la scelta moderna)
- Crea LVM inizializzando i drive con pvcreate, raggruppandoli con vgcreatee creando volumi logici con lvcreate
- Monta le partizioni LVM come qualsiasi altra partizione dopo la formattazione con mkfs.ext4 e aggiungendo voci a /etc/fstab
- Comandi principali: pvs, vgs, livelli mostra la tua configurazione; lvresize cambia le dimensioni al volo; lvcreate -s crea snapshot
Cos'è LVM?

LVM (Logical Volume Manager) si posiziona tra i tuoi dischi fisici e i file system. Invece di creare partizioni fisse direttamente sui drive, LVM crea uno strato flessibile dove puoi ridimensionare, spostare e creare snapshot dello storage mentre tutto rimane online.
Ecco cosa succede internamente. I tuoi drive fisici diventano "physical volume". Questi si raggruppano in "volume group". Da questi gruppi, crei "logical volume" che funzionano come partizioni normali ma con vera flessibilità.
La differenza pratica si vede quando hai bisogno di più spazio. Le partizioni tradizionali ti costringono a spegnere il sistema, avviare da USB e sperare di non perdere dati. Con LVM, esegui un singolo comando mentre il sistema continua a funzionare. L'ho imparato durante una migrazione di server quando l'espansione /home di 200GB ha richiesto circa 30 secondi invece di un intero fine settimana.
Come Funzionano i Physical Volume
Un physical volume è qualsiasi dispositivo di storage che LVM può usare. Hard drive, SSDs, array RAID, persino loop device. Li inizializzi con pvcreate, che scrive i metadati LVM e contrassegna il dispositivo come disponibile per i volume group.
Il physical volume non si cura di quale hardware si trovi sotto. Quel disco da 500GB e il tuo nuovo drive NVMe da 2TB sembrano uguali a LVM. Questo conta quando stai combinando tipi di storage diversi.
Comprendere i Volume Group
I volume group raggruppano più physical volume in una singola unità di storage. Pensa a combinare tre drive da 1TB in un singolo pool da 3TB. Crei i volume group con vgcreate e puoi aggiungere o rimuovere physical volume quando cambia la capacità.
Questo approccio basato sul raggruppamento significa che non sei vincolato alla pianificazione per singolo disco. Hai bisogno di più spazio? Aggiungi un altro drive al volume group. Stai sostituendo un vecchio drive? Sposta i dati con pvmove mentre il sistema funziona, poi sostituisci l'hardware.
Cosa Fanno i Logical Volume

I logical volume sono quello che usi effettivamente. Sono ritagliati da volume group e si comportano come partizioni normali. Formattali con ext4 o xfs, montali dove vuoi, e ridimensionali quando serve. La differenza è che non sono legati ai confini del disco fisico.
Quando esegui lvcreate -L 50G -n data datavg, stai allocando 50GB dal pool del volume group. Quello spazio potrebbe provenire da un singolo drive o essere distribuito su più drive. Non importa perché LVM gestisce la distribuzione.
Physical Extents Spiegati
I physical extent sono la più piccola unità di allocazione in LVM, tipicamente blocchi da 4MB. Quando crei un logical volume, LVM alloca physical extent dal volume group. Questo approccio granulare ti permette di ridimensionare i volume con precisione.
La dimensione dell'extent conta per i volumi grandi. Extent più grandi significano meno overhead di metadati ma allocazione meno precisa. Il default di 4MB funziona per la maggior parte dei casi. Non l'ho mai modificato al di fuori di array di storage massicci dove la matematica favoriva extent più grandi.
Snapshot per Backup Point-in-Time
Gli snapshot catturano lo stato di un logical volume in un momento specifico. LVM usa la tecnologia copy-on-write. I dati originali rimangono al loro posto. Quando qualcosa cambia, LVM conserva i vecchi blocchi nello snapshot mentre scrive i nuovi dati nel volume principale.
Vuoi testare gli aggiornamenti di sistema? Crea uno snapshot prima. Qualcosa si rompe? Ripristina dallo snapshot. L'intera operazione richiede pochi secondi perché LVM traccia solo i blocchi modificati, non copia tutto.
Creo snapshot dei database di produzione prima di modifiche importanti dello schema. La tranquillità mentale costa quasi niente in overhead, e ho evitato tre ricostruzioni complete ripristinando migrazioni fallite.
Quando usare LVM Striping
Lo striping distribuisce i dati su più volumi fisici. simile a RAID 0. Quando scrivi un file, LVM distribuisce i chunk su unità diverse contemporaneamente. Questo parallelismo accelera sia le letture che le scritture, specialmente per file grandi o database.
Il guadagno di prestazioni dipende dal tuo carico di lavoro. Le letture sequenziali su file grandi beneficiano di più. Gli accessi casuali vedono miglioramenti minori. I server database e le workstation di editing video notano differenze reali.
LVM Mirroring per la Ridondanza
Il mirroring duplica i dati su volumi fisici. Se un'unità si guasta, i tuoi dati sopravvivono nel mirror. LVM gestisce la sincronizzazione automaticamente. Il calo di prestazioni vale la pena quando il downtime costa più dello storage aggiuntivo.
Le configurazioni moderne spesso usano RAID per la ridondanza e LVM sopra per la flessibilità. Ottieni protezione a livello hardware più gestione a livello software. La combinazione funziona meglio che affidarsi a uno solo.
Se stai confrontando approcci di gestione dello storage, controlla LVM rispetto a ZFS per capire quando ogni soluzione ha senso per il tuo carico di lavoro.
Come Installi LVM su Ubuntu e CentOS?

Installare LVM richiede circa 60 secondi se conosci i comandi giusti. Le distribuzioni Linux moderne gestiscono le dipendenze automaticamente. Installi il pacchetto, verifichi che funzioni, e sei pronto per configurare lo storage.
Una nota importante prima di iniziare: CentOS ha raggiunto la fine della vita nel 2020. Se stai ancora eseguendo CentOS, passa a Rocky Linux o AlmaLinux. Sono sostituzioni dirette che ricevono effettivamente aggiornamenti di sicurezza. I comandi qui funzionano identicamente su Rocky Linux 9, AlmaLinux 9, Ubuntu 24.04 e versioni attuali di Debian.
Aggiorna il Tuo Sistema Prima
Inizia aggiornando l'elenco dei pacchetti del tuo sistema. Questo garantisce che tu ottenga l'ultima versione di LVM2 con tutte le patch di sicurezza e correzioni di bug.
Per sistemi Ubuntu:
sudo apt update
Per sistemi basati su CentOS (Rocky Linux/AlmaLinux):
sudo dnf update
I sistemi moderni basati su RHEL usano dnf come gestore di pacchetti. Se vedi vecchi tutorial che menzionano yum, ignorali. DNF ha sostituito yum nel 2015 con migliore risoluzione delle dipendenze e prestazioni.
Installa il Pacchetto LVM2
Il nome del pacchetto è lvm2 in tutte le distribuzioni. L'installazione scarica automaticamente le dipendenze, inclusi device-mapper e le librerie correlate.
Ubuntu Installazione di Logical Volume Manager:
sudo apt install lvm2
CentOS Installazione di Logical Volume Manager (Rocky/AlmaLinux):
sudo dnf install lvm2
Attendi il completamento dell'installazione. Circa 10-15 secondi su hardware moderno con una connessione decente. Il pacchetto è piccolo, intorno a 2-3MB più le dipendenze.
Verifica dell'installazione
Controlla che LVM2 sia installato correttamente e identifica la versione in uso:
sudo lvm version
Vedrai le informazioni sulla versione e i dettagli della compilazione. Le versioni attuali sono 2.03.x o superiori. Se il comando fallisce o restituisce "command not found", qualcosa è andato storto con l'installazione.
Nelle distribuzioni moderne basate su systemd, LVM si attiva automaticamente al boot. Non hai bisogno di abilitare servizi manualmente come nei vecchi sistemi init. lvm2-activation-generator gestisce tutto. Una cosa in meno da configurare.
Vuoi testare LVM su un sistema che non contiene dati critici? Considera di avviare un miglior Linux VPS dove puoi sperimentare senza rischi per i file di produzione.
Come crei LVM su Linux?

Creare LVM richiede tre passaggi: inizializzare i volumi fisici, raggrupparli in un volume group e ricavare volumi logici. Il processo sembra più complicato di quanto sia. Eseguirai circa sei comandi in totale.
Prima di iniziare, identifica i dischi che vuoi usare. Gli esempi qui utilizzano /dev/sdX come segnaposto. I tuoi nomi dispositivo effettivi saranno diversi. Esegui lsblk per vedere cosa è collegato al tuo sistema.
Inizializza i volumi fisici
I volumi fisici dicono a LVM quali dischi può usare. Inizializza un disco con pvcreate:
sudo pvcreate /dev/sdb
Sostituisci /dev/sdb con il tuo dispositivo effettivo. Questo scrive i metadati di LVM sul disco e lo contrassegna come disponibile. Il disco non ha più bisogno di schemi di partizionamento tradizionali.
Vuoi inizializzare più dischi contemporaneamente? Elencali tutti:
sudo pvcreate /dev/sdb /dev/sdc /dev/sdd
LVM le gestisce insieme. Controlla cosa hai creato:
sudo pvs
Mostra tutti i volumi fisici, la loro dimensione e il gruppo di volumi a cui appartengono (nessuno ancora).
Crea un Gruppo di Volumi
I gruppi di volumi riuniscono i volumi fisici in un'unica unità di storage. Crea un gruppo di volumi chiamato «datavg»:
sudo vgcreate datavg /dev/sdb
Aggiungi più dischi allo stesso gruppo durante la creazione:
sudo vgcreate datavg /dev/sdb /dev/sdc
Ora quei dischi funzionano come un pool unico. Controlla il gruppo di volumi:
sudo vgs
Vedrai la dimensione totale, quanto è allocato ai volumi logici e quanto rimane libero per allocazioni future.
Crea Volumi Logici
I volumi logici sono quello che effettivamente formatti e monti. Vengono ricavati dallo spazio disponibile del gruppo di volumi. Crea un volume da 50GB:
sudo lvcreate -L 50G -n data datavg
Questo crea un volume logico chiamato «data» dal gruppo di volumi «datavg». Il percorso completo del dispositivo diventa /dev/datavg/data.
Preferisci usare tutto lo spazio disponibile invece di specificare una dimensione?
sudo lvcreate -l 100%FREE -n data datavg
Il -l 100%FREE L'opzione alloca ogni byte rimanente. Utile per configurazioni semplici dove un volume logico usa l'intero gruppo di volumi.
Formatta il Volume Logico
I volumi logici hanno bisogno di file system come qualsiasi partizione. Formatta con ext4:
sudo mkfs.ext4 /dev/datavg/data
Questo richiede alcuni secondi per volumi piccoli, più tempo per quelli grandi. L'output mostra il numero di blocchi e le informazioni degli inode. A meno che non ci sia un errore, puoi ignorare i dettagli.
Preferisci xfs? Sostituisci ext4 con xfs. Entrambi funzionano bene. Ext4 è più comune su sistemi Ubuntu. Rocky Linux usa xfs di default nella maggior parte dei casi.
Fai estrema attenzione con i comandi LVM. Modificano direttamente l'infrastruttura di storage. Una volta ho sbagliato a digitare un nome di dispositivo e ho cancellato 2TB di file di un client. Fai backup dei dati critici prima di eseguire qualsiasi comando che modifichi la configurazione dello storage.
Come si Montano le Partizioni LVM?
Montare una partizione LVM funziona esattamente come montare qualsiasi altra partizione. Crei una directory di mount point, esegui il comando mount, e opzionalmente aggiungi una voce a /etc/fstab per il montaggio automatico all'avvio.
L'unica differenza è il percorso del dispositivo. Invece di /dev/sda1, utilizzi /dev/volumegroup/logicalvolume. Tutto il resto rimane uguale.
Crea una directory di mount point
I mount point sono semplicemente directory dove accedi al file system. Creane una dove ha senso per il tuo caso d'uso:
sudo mkdir /mnt/data
Usa nomi descrittivi. /mnt/data, /mnt/backup, /home/shared funzionano tutti. La posizione non influisce sulla funzionalità. Alcuni preferiscono /mnt per i mount temporanei e directory dedicate sotto / per quelli permanenti.
Monta il logical volume
Monta il logical volume formattato al tuo mount point:
sudo mount /dev/datavg/data /mnt/data
Sostituisci il percorso del dispositivo e il mount point con i tuoi valori effettivi. Il file system è ora accessibile in /mnt/data. Tutti i file che crei lì risiedono sul logical volume.
Verifica che il mount sia riuscito:
df -h /mnt/data
Vedrai la dimensione totale del volume, lo spazio usato, lo spazio disponibile e il mount point. Se non appare nulla, il comando mount è fallito. Controlla il percorso del dispositivo e assicurati che il logical volume esista con livelli.
Rendi i mount permanenti
I mount temporanei scompaiono dopo il riavvio. Aggiungi voci a /etc/fstab per i mount permanenti:
sudo nano /etc/fstab
Aggiungi questa riga alla fine:
/dev/datavg/data /mnt/data ext4 defaults 0 0
Il formato è: dispositivo, mount point, tipo di file system, opzioni di mount, priorità dump, ordine fsck. Gli zeri alla fine funzionano bene nella maggior parte dei casi. Cambia ext4 per corrispondere al file system che hai effettivamente utilizzato.
Salva ed esci dall'editor. Testa la voce fstab senza riavviare:
sudo mount -a
Questo monta tutto in fstab che non è già montato. Se vedi errori, hai digitato qualcosa di sbagliato in fstab. Correggilo prima di riavviare o il sistema potrebbe non avviarsi correttamente.
Le prestazioni contano quando monti volumi per carichi di lavoro in produzione. Dopo aver configurato il tuo LVM, testa la velocità del disco in Linux per misurare il throughput e la latenza reali.
Monta LVM Durante l'Installazione di Ubuntu
Programma di installazione di Ubuntu supporta la configurazione LVM durante l'installazione del sistema. Quando raggiungi la schermata di partizione, seleziona il partizionamento "Manuale" e scegli "Configura il Logical Volume Manager".
Questo approccio funziona bene per le installazioni nuove. Configuri i tuoi gruppi di volumi e i volumi logici prima di installare il sistema operativo. L'installer gestisce /etc/fstab voci automaticamente.
Per i sistemi esistenti, l'approccio da riga di comando qui sopra ti dà più controllo e ti permette di capire esattamente cosa succede a ogni passo.
Risolvi i Problemi di Montaggio
Se la tua partizione LVM non si monta, controlla prima questi problemi comuni:
Gruppo di volumi non attivato:
sudo vgchange -ay
Questo attiva tutti i gruppi di volumi. A volte non si attivano automaticamente dopo aver aggiunto nuove unità o riavviato.
Percorso dispositivo errato: Verifica che il volume logico esista con livelli e utilizza il percorso completo come /dev/volumegroup/logicalvolume, non scorciatoie.
Errori del file system: Esegui un controllo del file system sul volume non montato:
sudo fsck /dev/datavg/data
La corruzione del file system impedisce il montaggio. Lo strumento fsck può risolvere automaticamente molti problemi.
Quali Sono i Comandi LVM Essenziali di Linux?
I comandi Linux LVM ti permettono di gestire l'intera configurazione di storage da riga di comando. Questi sono quelli che effettivamente userai nella pratica, non comandi teorici da documentazione obsoleta.
Visualizza i Volumi Fisici
Vedi tutti i volumi fisici nel tuo sistema:
sudo pvs
Viene mostrata una tabella concisa con nomi dei dispositivi, gruppi di volumi, formato, attributi, dimensione e spazio libero. Per informazioni dettagliate su un volume fisico specifico:
sudo pvdisplay /dev/sdb
La vista dettagliata include la dimensione dell'extent fisico, gli extent totali, gli extent allocati e l'UUID. Utile quando hai bisogno di numeri esatti per pianificare la capacità.
Visualizza Gruppi di Volumi
Elenca tutti i gruppi di volumi:
sudo vgs
Vedrai i nomi dei gruppi di volumi, il numero di volumi fisici, il numero di volumi logici, gli attributi, la dimensione totale e lo spazio libero. Per dettagli completi:
sudo vgdisplay datavg
Mostra tutto: la dimensione dell'extent, gli extent totali, la politica di allocazione e l'UUID. Lo uso quando pianififico nuovi volumi logici per vedere esattamente quanto spazio rimane disponibile.
Visualizza Volumi Logici
Elenca tutti i volumi logici:
sudo lvs
L'output mostra i nomi dei volumi logici, i loro gruppi di volumi, gli attributi, la dimensione e quali extent fisici utilizzano. Per informazioni complete:
sudo lvdisplay /dev/datavg/data
Rivela il percorso del volume logico, il dispositivo a blocchi, l'ora di creazione, lo stato e i segmenti. Utile per risolvere i problemi di montaggio o verificare le relazioni con gli snapshot.
Estendi Gruppi di Volumi
Aggiungi volumi fisici ai gruppi di volumi esistenti quando hai bisogno di più capacità:
sudo vgextend datavg /dev/sdd
Questo aggiunge /dev/sdd al gruppo di volumi "datavg". Lo spazio libero diventa subito disponibile per i volumi logici esistenti o per crearne di nuovi. Nessun riavvio necessario.
Ho aggiunto un disco da 2TB al mio gruppo di volumi di backup in questo modo mentre i backup erano in corso. L'intera operazione ha richiesto circa 5 secondi.
Ridimensiona Volumi Logici
Espandi un volume logico per dargli più spazio:
sudo lvresize -L +50G /dev/datavg/data
Questo aggiunge 50GB al volume logico. Dopo il ridimensionamento, estendi il file system per usare il nuovo spazio:
Per ext4:
sudo resize2fs /dev/datavg/data
Per xfs:
sudo xfs_growfs /mnt/data
Il file system si espande per riempire il volume logico. Tutto avviene mentre il volume resta montato e in uso. Gli utenti non notano nulla se non più spazio disponibile.
Preferisci rimpicciolire? È più rischioso e richiede prima di smontare il volume. Esegui sempre un backup prima di rimpicciolire i volumi.
Crea snapshot dei volumi
Gli snapshot acquisiscono lo stato attuale di un volume logico per backup o test:
sudo lvcreate -s -L 10G -n data-snapshot /dev/datavg/data
Questo crea uno snapshot di 10GB denominato "data-snapshot" del volume logico "data". Lo snapshot utilizza la tecnologia copy-on-write. Ha bisogno di spazio solo per i blocchi modificati, non per l'intero volume.
Monta lo snapshot in sola lettura per backup coerenti:
sudo mkdir /mnt/snapshot
sudo mount -o ro /dev/datavg/data-snapshot /mnt/snapshot
Esegui backup da /mnt/snapshot mentre il volume originale continua a ricevere scritture. Questo risolve il problema "come faccio a fare il backup di un database live" in modo pulito.
Rimuovi volumi logici
Elimina i volumi logici che non ti servono più:
sudo lvremove /dev/datavg/old-data
Il comando chiede conferma prima di eliminare. Questo distrugge permanentemente il volume logico e tutti i dati su di esso. Assicurati di avere backup di tutto ciò che è importante.
Sposta extent fisici
Sposta i dati da un volume fisico prima di rimuoverlo:
sudo pvmove /dev/sdb
LVM sposta automaticamente tutti gli extent fisici da /dev/sdb ad altri volumi fisici nel gruppo di volumi. L'operazione viene eseguita in background mentre il sistema rimane online.
Mi ha salvato quando un disco ha iniziato a mostrare errori SMART. Ho spostato tutto dal disco difettoso, l'ho rimosso dal gruppo di volumi e l'ho sostituito durante una finestra di manutenzione. Zero downtime.
Scansione dei gruppi di volumi
A volte i gruppi di volumi non vengono visualizzati dopo aver aggiunto nuovi dischi o riavviato. Forza una scansione:
sudo vgscan
sudo vgchange -ay
Il primo comando esegue la scansione dei gruppi di volumi. Il secondo attiva tutto ciò che trova. I tuoi volumi logici diventano di nuovo accessibili.
Se stai configurando LVM su Ubuntu per ambienti di sviluppo, potresti voler consultare anche le guide su installazione di Hadoop su Ubuntu, installazione di Redis su Ubuntu, o installazione di XRDP su Ubuntu per l'accesso remoto ai tuoi sistemi gestiti con LVM.
Conclusione
LVM trasforma la gestione dello storage Linux da una pianificazione rigida delle partizioni a un'allocazione flessibile della capacità. Ottieni ridimensionamento dinamico, snapshot punto-nel-tempo e la possibilità di raggruppare unità diverse in spazi di archiviazione unificati. Il tutto mantenendo i sistemi online.
Il flusso di lavoro principale rimane coerente tra le distribuzioni. Inizializza i volumi fisici con pvcreate, raggruppali in gruppi di volumi con vgcreate, crea volumi logici con lvcreate, formattali con il file system che preferisci, e montali come qualsiasi partizione. I comandi funzionano allo stesso modo su LVM Ubuntu e su configurazioni Rocky Linux.
Inizia in piccolo se sei nuovo alla gestione dei volumi logici. Crea un gruppo di volumi di prova su un'unità di riserva. Esercitati nel ridimensionamento dei volumi logici, nella creazione di snapshot e nello spostamento dei dati tra volumi fisici. Gli errori fanno meno male quando accadono su storage non in produzione.
Un avvertimento su CentOS: è obsoleto. Usa invece Rocky Linux o AlmaLinux. Sono compatibili a livello binario con RHEL e sono effettivamente mantenuti. I comandi LVM funzionano in modo identico, ma ricevi aggiornamenti di sicurezza che contano.
Vuoi esercitarti con LVM senza rischiare i tuoi file locali? Avvia un Ubuntu VPS dove puoi sperimentare liberamente. Rompi le cose, impara dagli errori e padronegggia i comandi prima di applicarli ai sistemi in produzione.
Scegli un Linux VPS economy o premium per ospitare il tuo sito web o desktop remoto, al prezzo più conveniente disponibile. VPS In esecuzione su Linux KVM per un'efficienza maggiore e in funzione su hardware potente con storage NVMe SSD per una velocità superiore.
Leggi di più