Se pensi che gestire le partizioni del disco significhi spegnere il sistema e sperare che tutto funzioni al riavvio, allora mi dispiace rispettosamente per te. Mi dispiace che ti stai perdendo le funzionalità di montaggio LVM di Linux e ti rendi conto che la gestione dello storage non deve essere così dolorosa.
Questa guida mostra come creare LVM in Linux, montare partizioni LVM e gestire volumi logici senza tempi di inattività. Imparerai i comandi essenziali di Linux LVM che funzionano sui sistemi Ubuntu LVM e CentOS (o meglio, sui loro moderni sostituti).
TL;DR
- LVM crea un livello di storage flessibile tra i dischi fisici e i file system, consentendoti di ridimensionare le partizioni mentre il sistema è in esecuzione
- Installa con apt installare lvm2 su Ubuntu o dnf installa lvm2 su Rocky Linux/AlmaLinux (CentOS è morto, usa questi invece)
- Crea LVM inizializzando le unità con pvccreate, raggruppandoli con vgcreatee intagliare volumi logici con lvcreate
- Montare le partizioni LVM come qualsiasi altra partizione dopo la formattazione con mkfs.ext4 e aggiungere voci a /etc/fstab
- Comandi chiave: pv, vgs, lv mostra la tua configurazione; lvresize cambia taglia al volo; lvcreate -s crea istantanee
Cos'è LVM in Linux?

LVM (Logical Volume Manager) si trova tra i tuoi dischi fisici e i tuoi file system. Invece di ritagliare partizioni fisse direttamente sulle unità, LVM crea un livello flessibile in cui è possibile ridimensionare, spostare e archiviare snapshot mentre tutto rimane online.
Ecco cosa succede sotto il cofano. Le tue unità fisiche diventano "volumi fisici". Questi si raggruppano in “gruppi di volumi”. Da questi gruppi si creano "volumi logici" che agiscono come partizioni regolari ma con flessibilità effettiva.
La differenza pratica si manifesta quando hai bisogno di più spazio. Le partizioni tradizionali ti costringono a spegnere, avviare da USB e pregare per non perdere dati. Con LVM, esegui un singolo comando mentre il tuo sistema continua a funzionare. L'ho imparato durante la migrazione del server durante l'espansione /casa per 200 GB ci sono voluti circa 30 secondi invece di un intero fine settimana.
Come funzionano i volumi fisici
Un volume fisico è qualsiasi dispositivo di archiviazione che LVM può utilizzare. Contano dischi rigidi, SSD, array RAID e persino dispositivi loop. Li inizializzi con pvccreate, che scrive i metadati LVM e contrassegna il dispositivo come disponibile per i gruppi di volumi.
Al volume fisico non interessa quale hardware si trova sotto. Quel disco rotante da 500 GB e la tua nuova unità NVMe da 2 TB sembrano uguali a LVM. Questo è importante quando combini e abbini lo spazio di archiviazione.
Comprendere i gruppi di volumi
I gruppi di volumi raggruppano più volumi fisici in un'unica unità di archiviazione. Pensa a combinare tre unità da 1 TB in un unico pool da 3 TB. Puoi creare gruppi di volumi con vgcreate e può aggiungere o rimuovere volumi fisici ogni volta che la capacità cambia.
Questo approccio di pooling significa che non sei vincolato alla pianificazione per disco. Hai bisogno di più spazio? Aggiungi un'altra unità al gruppo di volumi. Sostituzione di una vecchia unità? Sposta i dati da esso con pvmove mentre il sistema è in funzione, quindi scambiare l'hardware.
Cosa fanno i volumi logici

I volumi logici sono ciò che effettivamente usi. Sono ricavati da gruppi di volumi e si comportano come normali partizioni. Formattali con ext4 o xfs, montali ovunque e ridimensionali quando vuoi. La differenza è che non sono legati ai limiti del disco fisico.
Quando corri lvcreate -L 50G -n dati datavg, stai allocando 50 GB dal pool del gruppo di volumi. Tale spazio potrebbe provenire da un'unità o essere distribuito su più unità. Non ti interessa perché LVM gestisce la distribuzione.
Spiegazione delle estensioni fisiche
Le estensioni fisiche sono l'unità di allocazione più piccola in LVM, in genere blocchi da 4 MB. Quando crei un volume logico, LVM alloca le estensioni fisiche dal gruppo di volumi. Questo approccio granulare consente di ridimensionare i volumi in modo preciso.
La dimensione dell'estensione è importante per i grandi volumi. Estensioni più grandi significano meno sovraccarico di metadati ma un'allocazione più grossolana. L'impostazione predefinita di 4 MB funziona per la maggior parte delle situazioni. Non l'ho mai cambiato al di fuori di enormi array di archiviazione in cui la matematica favoriva estensioni più grandi.
Istantanee per backup point-in-time
Le istantanee catturano lo stato di un volume logico in un momento specifico. LVM utilizza la tecnologia copy-on-write. I dati originali rimangono al loro posto. Quando qualcosa cambia, LVM mantiene i vecchi blocchi nello snapshot mentre scrive i nuovi dati sul volume principale.
Vuoi testare gli aggiornamenti di sistema? Prima fai una foto. Qualcosa si rompe? Ripristina dallo snapshot. L'intera operazione richiede pochi secondi perché LVM tiene traccia solo dei blocchi modificati, non copiando tutto.
Eseguo lo snapshot dei database di produzione prima delle modifiche principali dello schema. La tranquillità non costa quasi nulla in termini generali e ho evitato ricostruzioni complete tre volte ripristinando le migrazioni non riuscite.
Quando utilizzare lo striping LVM
Lo striping suddivide i dati su più volumi fisici, simile a RAID 0. Quando scrivi un file, LVM distribuisce i blocchi su diverse unità contemporaneamente. Questa parallelizzazione accelera sia le letture che le scritture, soprattutto per file o database di grandi dimensioni.
Il miglioramento delle prestazioni dipende dal carico di lavoro. Le letture sequenziali su file di grandi dimensioni traggono i maggiori vantaggi. I modelli di accesso casuale vedono meno miglioramenti. I server database e le workstation di editing video notano differenze reali.
Mirroring LVM per ridondanza
Il mirroring duplica i dati su volumi fisici. Se un'unità si guasta, i tuoi dati sopravvivono sul mirror. LVM gestisce la sincronizzazione automaticamente. Il calo delle prestazioni vale la pena quando i tempi di inattività costano più dello spazio di archiviazione aggiuntivo.
Le configurazioni moderne spesso utilizzano RAID per la ridondanza e LVM in più per la flessibilità. Ottieni protezione a livello hardware e gestione a livello software. La combinazione funziona meglio che fare affidamento solo su uno dei due.
Se stai confrontando gli approcci alla gestione dello storage, dai un'occhiata LVM contro ZFS per capire quando ciascuno ha senso per il tuo carico di lavoro.
Come si installa LVM su Ubuntu e CentOS?

L'installazione di LVM richiede circa 60 secondi se conosci i comandi giusti. Le moderne distribuzioni Linux gestiscono le dipendenze automaticamente. Installi il pacchetto, verifichi che funzioni e sei pronto per configurare l'archiviazione.
Una nota importante prima di iniziare: CentOS ha raggiunto la fine del suo ciclo di vita nel 2020. Se utilizzi ancora CentOS, passa a Rocky Linux o AlmaLinux. Sono sostituti rapidi che ricevono effettivamente aggiornamenti di sicurezza. I comandi qui funzionano in modo identico su Rocky Linux 9, AlmaLinux 9, Ubuntu 24.04 e sulle attuali versioni di Debian.
Aggiorna prima il tuo sistema
Inizia aggiornando l'elenco dei pacchetti del tuo sistema. Ciò ti garantisce di ottenere l'ultima versione di LVM2 con tutte le patch di sicurezza e le correzioni di bug.
Per i sistemi Ubuntu:
aggiornamento sudo apt
Per i sistemi basati su CentOS (Rocky Linux/AlmaLinux):
aggiornamento sudo dnf
I moderni sistemi basati su RHEL utilizzano dnf come gestore dei pacchetti. Se vedi vecchi tutorial che menzionano gnam, ignorali. DNF ha sostituito yum nel 2015 con una migliore risoluzione delle dipendenze e prestazioni.
Installa il pacchetto LVM2
Il nome del pacchetto è lvm2 in tutte le distribuzioni. L'installazione inserisce automaticamente le dipendenze, inclusi gli strumenti di mappatura dei dispositivi e le relative librerie.
Installazione di Ubuntu Logical Volume Manager:
sudo apt installa lvm2
Installazione di CentOS Logical Volume Manager (Rocky/AlmaLinux):
sudo dnf installa lvm2
Attendi il completamento dell'installazione. Richiede 10-15 secondi su hardware moderno con Internet decente. La dimensione del pacchetto è piccola, circa 2-3 MB più le dipendenze.
Verificare il successo dell'installazione
Controlla che LVM2 sia installato correttamente e vedi quale versione stai utilizzando:
Versione sudo lvm
Vedrai le informazioni sulla versione e i dettagli sulla build. Le versioni attuali eseguono 2.03.x o versioni successive. Se il comando fallisce o restituisce "comando non trovato", qualcosa è andato storto con l'installazione.
Le moderne distribuzioni basate su systemd attivano automaticamente LVM durante l'avvio. Non è necessario abilitare i servizi manualmente come facevi con i vecchi sistemi init. Il generatore di attivazione lvm2 gestisce tutto. Questa è una cosa in meno da configurare.
Vuoi testare LVM su un sistema che non memorizza i tuoi dati critici? Considera l'idea di far girare a il miglior VPS Linux dove puoi sperimentare senza rischiare i file di produzione.
Come si crea LVM in Linux?

La creazione di LVM prevede tre passaggi: inizializzare i volumi fisici, raggrupparli in un gruppo di volumi e ritagliare i volumi logici. Il processo sembra più complicato di quanto non sia. Eseguirai forse sei comandi in totale.
Prima di iniziare, identifica quali unità desideri utilizzare. Gli esempi qui utilizzano /dev/sdX come segnaposto. I nomi effettivi del tuo dispositivo saranno diversi. Correre lsblk per vedere cosa è collegato al tuo sistema.
Inizializza i volumi fisici
I volumi fisici indicano a LVM quali unità può utilizzare. Inizializza un'unità con pvccreate:
sudo pvcreate /dev/sdb
Sostituire /dev/sdb con il tuo dispositivo reale. Questo scrive i metadati LVM sull'unità e li contrassegna come disponibili. L'unità non necessita più dei tradizionali schemi di partizionamento.
Vuoi inizializzare più unità contemporaneamente? Elencarli tutti:
sudo pvcreate /dev/sdb /dev/sdc /dev/sdd
LVM li gestisce insieme. Controlla cosa hai creato:
sudo pvs
Questo mostra tutti i volumi fisici, la loro dimensione e a quale gruppo di volumi appartengono (ancora nessuno).
Crea un gruppo di volumi
I gruppi di volumi raggruppano i volumi fisici in un'unità di archiviazione. Crea un gruppo di volumi denominato "datavg":
sudo vgcreate datavg /dev/sdb
Aggiungi più unità allo stesso gruppo durante la creazione:
sudo vgcreate datavg /dev/sdb /dev/sdc
Ora quelle unità agiscono come un unico pool. Controlla il gruppo di volumi:
sudo vg
Vedrai la dimensione totale, quanto è allocato ai volumi logici e quanto rimane libero per l'allocazione futura.
Creare volumi logici
I volumi logici sono ciò che effettivamente formatti e monti. Sono ricavati dallo spazio disponibile del gruppo di volumi. Crea un volume da 50 GB:
sudo lvcreate -L 50G -n dati datavg
Ciò crea un volume logico denominato "data" dal gruppo di volumi "datavg". Il percorso completo del dispositivo diventa /dev/datavg/data.
Vuoi utilizzare tutto lo spazio disponibile invece di specificare una dimensione?
sudo lvcreate -l 100%FREE -n dati datavg
IL -l 100% GRATUITO l'opzione alloca ogni byte rimanente. Utile per configurazioni semplici in cui un volume logico utilizza l'intero gruppo di volumi.
Formattare il volume logico
I volumi logici necessitano di file system come qualsiasi partizione. Formato con ext4:
sudo mkfs.ext4 /dev/datavg/data
L'operazione richiede alcuni secondi per i piccoli volumi, più tempo per quelli grandi. L'output mostra i conteggi dei blocchi e le informazioni sugli inode. A meno che qualcosa non funzioni, puoi ignorare i dettagli.
Vuoi invece xfs? Sostituisci ext4 con xfs. Entrambi funzionano bene. Ext4 è più comune sui sistemi Ubuntu. Rocky Linux utilizza xfs per impostazione predefinita nella maggior parte dei casi d'uso.
Sii estremamente attento con i comandi LVM. Modificano direttamente la tua infrastruttura di storage. Una volta ho digitato il nome di un dispositivo e ho cancellato 2 TB di file client. Effettua backup dei dati critici prima di eseguire qualsiasi cosa che modifichi la configurazione dello spazio di archiviazione.
Come si montano le partizioni LVM?
Il montaggio di una partizione LVM funziona esattamente come il montaggio di qualsiasi altra partizione. Si crea una directory del punto di montaggio, si esegue il comando mount e, facoltativamente, si aggiunge una voce a /etc/fstab per il montaggio automatico al bagagliaio.
L'unica differenza è il percorso del dispositivo. Invece di /dev/sda1, usi /dev/volumegroup/logicalvolume. Tutto il resto rimane uguale.
Creare una directory del punto di montaggio
I punti di montaggio sono solo directory da cui accedi al file system. Creane uno ovunque abbia senso per il tuo caso d'uso:
sudo mkdir /mnt/data
Usa nomi descrittivi. /mnt/dati, /mnt/backup, /casa/condivisa tutto funziona. La posizione non influisce sulla funzionalità. Alcune persone preferiscono /mnt per montaggi temporanei e directory dedicate sotto / per quelli permanenti.
Montare il volume logico
Montare il volume logico formattato sul punto di montaggio:
sudo mount /dev/datavg/data /mnt/data
Sostituisci il percorso del dispositivo e il punto di montaggio con i tuoi valori effettivi. Il file system è ora accessibile all'indirizzo /mnt/dati. Tutti i file creati lì risiedono sul volume logico.
Verifica che il montaggio sia riuscito:
df -h /mnt/dati
Vedrai la dimensione totale del volume, lo spazio utilizzato, lo spazio disponibile e il punto di montaggio. Se non viene visualizzato nulla, il comando mount non è riuscito. Controlla il percorso del tuo dispositivo e assicurati che il volume logico esista con lv.
Rendi permanenti i supporti
I montaggi temporanei scompaiono dopo il riavvio. Aggiungi voci a /etc/fstab per montaggi permanenti:
sudo nano /etc/fstab
Aggiungi questa riga alla fine:
/dev/datavg/data /mnt/data ext4 impostazioni predefinite 0 0
Il formato è: dispositivo, punto di montaggio, tipo di file system, opzioni di montaggio, priorità di dump, ordine fsck. Gli zeri alla fine funzionano bene per la maggior parte delle situazioni. Modifica ext4 per corrispondere al file system effettivamente utilizzato.
Salva ed esci dall'editor. Prova 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. Risolvilo prima di riavviare altrimenti il sistema potrebbe non avviarsi correttamente.
Le prestazioni sono importanti quando aumenti i volumi per i carichi di lavoro di produzione. Dopo aver impostato la configurazione LVM, testare la velocità del disco in Linux per valutare il throughput e la latenza effettivi.
Montare LVM durante l'installazione di Ubuntu
Il 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 nuove installazioni. Configurate i vostri gruppi di volumi e volumi logici prima di installare il sistema operativo. L'installatore gestisce /etc/fstab voci automaticamente.
Per i sistemi esistenti, l'approccio da riga di comando sopra offre maggiore controllo e ti consente di capire esattamente cosa sta succedendo in ogni passaggio.
Risolvere i problemi di montaggio
Se la tua partizione LVM non viene montata, controlla prima questi problemi comuni:
Gruppo volume non attivato:
sudo vgchange -ay
Questo attiva tutti i gruppi di volume. A volte non si attivano automaticamente dopo l'aggiunta di nuove unità o il riavvio.
Percorso del dispositivo errato: Verificare che il volume logico esista con lv e usa 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 LVM di Linux ti consentono di gestire l'intera configurazione di archiviazione dalla riga di comando. Questi sono quelli che utilizzerai effettivamente nella pratica, non i comandi teorici provenienti da documentazione obsoleta.
Visualizza volumi fisici
Visualizza tutti i volumi fisici nel tuo sistema:
sudo pvs
Questo mostra una tabella concisa con nomi di dispositivi, gruppi di volumi, formato, attributi, dimensioni e spazio libero. Per informazioni dettagliate su un volume fisico specifico:
sudo pvdisplay /dev/sdb
La visualizzazione dettagliata include la dimensione dell'estensione fisica, le estensioni totali, le estensioni allocate e l'UUID. Utile quando sono necessari numeri esatti per la capacità di pianificazione.
Visualizza i gruppi di volumi
Elenca tutti i gruppi di volumi:
sudo vg
Vedrai i nomi dei gruppi di volumi, il conteggio dei volumi fisici, il conteggio dei volumi logici, gli attributi, la dimensione totale e lo spazio libero. Per dettagli completi:
sudo vgdisplay datavg
Questo mostra tutto: dimensione dell'estensione, estensioni totali, politica di allocazione e UUID. Lo uso quando pianifico nuovi volumi logici per vedere esattamente quanto spazio rimane.
Visualizza volumi logici
Elenca tutti i volumi logici:
sudo lvs
L'output mostra i nomi dei volumi logici, i relativi gruppi di volumi, gli attributi, le dimensioni e le estensioni fisiche utilizzate. Per informazioni complete:
sudo lvdisplay /dev/datavg/data
Ciò rivela il percorso del volume logico, il dispositivo a blocchi, l'ora di creazione, lo stato e i segmenti. Aiuta nella risoluzione dei problemi di montaggio o nel controllo delle relazioni tra le istantanee.
Estendi i 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 immediatamente disponibile per i volumi logici esistenti o per crearne di nuovi. Non è necessario riavviare.
Ho aggiunto un'unità da 2 TB al mio gruppo di volumi di backup in questo modo mentre i backup erano attivamente in esecuzione. L'intera operazione è durata circa 5 secondi.
Ridimensionare i volumi logici
Espandi un volume logico per dargli più spazio:
sudo lvresize -L +50G /dev/datavg/data
Ciò aggiunge 50 GB al volume logico. Dopo il ridimensionamento, estendi il file system per utilizzare il nuovo spazio:
Per ext4:
sudo resize2fs /dev/datavg/data
Per xfs:
sudo xfs_growfs /mnt/data
Il file system cresce fino a riempire il volume logico. Tutto avviene mentre il volume rimane montato e in uso. Gli utenti non notano nulla tranne più spazio disponibile.
Vuoi invece rimpicciolirti? È più rischioso e richiede prima lo smontaggio. Eseguire sempre il backup prima di ridurre i volumi.
Crea istantanee del volume
Le istantanee catturano lo stato corrente di un volume logico per backup o test:
sudo lvcreate -s -L 10G -n data-snapshot /dev/datavg/data
Ciò crea uno snapshot da 10 GB denominato "data-snapshot" del volume logico "dati". Lo snapshot utilizza la tecnologia copy-on-write. Ha bisogno solo di spazio per i blocchi modificati, non dell'intero volume.
Montare lo snapshot in sola lettura per backup coerenti:
sudo mkdir /mnt/snapshot
sudo mount -o ro /dev/datavg/data-snapshot /mnt/snapshot
Eseguire il backup da /mnt/istantanea mentre il volume originale continua a ricevere scritture. Ciò risolve il problema "come faccio a eseguire il backup di un database attivo" in modo pulito.
Rimuovere i volumi logici
Elimina i volumi logici che non ti servono più:
sudo lvremove /dev/datavg/old-data
Il comando chiede conferma prima dell'eliminazione. Ciò distrugge permanentemente il volume logico e tutti i dati in esso contenuti. Assicurati di avere i backup di tutto ciò che è importante.
Spostare estensioni fisiche
Spostare i dati da un volume fisico prima di rimuoverlo:
sudo pvmove /dev/sdb
LVM sposta automaticamente tutte le estensioni fisiche da /dev/sdb ad altri volumi fisici nel gruppo di volumi. L'operazione viene eseguita in background mentre il sistema rimane online.
Questo mi ha salvato quando un'unità ha iniziato a mostrare errori SMART. Ho spostato tutto dall'unità guasta, l'ho rimosso dal gruppo di volumi e l'ho sostituito durante una finestra di manutenzione. Zero tempi di inattività.
Cerca gruppi di volumi
A volte i gruppi di volumi non vengono visualizzati dopo l'aggiunta di nuove unità o il riavvio. 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 nuovamente accessibili.
Se stai configurando Ubuntu LVM per ambienti di sviluppo, potresti anche aver bisogno di guide su installare Hadoop su Ubuntu, installazione di Redis su Ubuntu, O installazione di XRDP su Ubuntu per l'accesso remoto ai vostri sistemi gestiti da LVM.
Conclusione
LVM trasforma la gestione dello storage Linux da una rigida pianificazione delle partizioni ad un'allocazione flessibile della capacità. Ottieni ridimensionamento dinamico, istantanee temporizzate 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 pvccreate, raggrupparli in gruppi di volumi con vgcreate, ritaglia volumi logici con lvcreate, formattateli con il vostro file system preferito e montateli come qualsiasi partizione. I comandi funzionano allo stesso modo sulle configurazioni Ubuntu LVM e Rocky Linux.
Inizia in piccolo se sei nuovo alla gestione dei volumi logici. Creare un gruppo di volumi di prova su un'unità di riserva. Esercitati a ridimensionare i volumi logici, a scattare istantanee e a spostare i dati tra volumi fisici. Gli errori fanno meno male quando si verificano su storage non di produzione.
Un promemoria su CentOS: è morto. Usa invece Rocky Linux o AlmaLinux. Sono compatibili a livello binario con RHEL e effettivamente mantenuti. I comandi LVM funzionano in modo identico, ma ottieni aggiornamenti di sicurezza importanti.
Vuoi esercitarti con LVM senza rischiare i tuoi file locali? Fai girare un Ubuntu VPS dove puoi sperimentare liberamente. Rompi le cose, impara dagli errori e padroneggia i comandi prima di applicarli ai sistemi di produzione.
Procurati un VPS Linux economico o premium per l'hosting del tuo sito web o desktop remoto, al prezzo più conveniente in circolazione. VPS in esecuzione su Linux KVM per una maggiore efficienza e funzionante su hardware potente con storage SSD NVMe per una maggiore velocità.
Per saperne di più