- Il Logical Volume Manager consente una gestione dinamica dello storage, superando i limiti del partizionamento classico.
- L'architettura si basa su una gerarchia che va dai volumi fisici ai gruppi e, infine, ai volumi logici.
- Offre la possibilità di ridimensionare le partizioni al volo e di unire più dischi fisici in un'unica unità virtuale.

Se vi siete mai sentiti intrappolati dalle partizioni fisse del disco rigido, sapete bene quanto possa essere complicato gestire lo spazio in Linux. È qui che entra in gioco LVM (Logical Volume Manager) , uno strumento che, in sostanza, spezza le catene del partizionamento tradizionale per offrirci la massima flessibilità sui nostri dati.
Questo sistema, nato intorno al 1998 sulla base delle soluzioni HP-UX, funge da livello di astrazione. Invece di indicare al sistema di utilizzare una specifica porzione di spazio su disco fisico, LVM ci permette di creare una sorta di "pool di archiviazione" virtuale che possiamo personalizzare in base alle esigenze del server o del computer desktop.
Concetti chiave per evitare di perdersi
Prima di iniziare a programmare nel terminale, è fondamentale comprendere che LVM è organizzato in tre livelli gerarchici. Il primo è costituito dai volumi fisici (PV) , che sono semplicemente dischi o partizioni interi predisposti per essere gestiti da LVM. Potremmo dire che rappresentano la materia prima del sistema.
Successivamente, abbiamo i gruppi di volumi (VG) . Immaginate un VG come una scatola in cui inseriamo tutti i nostri PV. Se avete tre unità di dimensioni diverse, le inserite tutte nello stesso VG e il sistema le considererà come un'unica area di archiviazione disponibile , sommando le capacità di ciascuna.
Infine, arriviamo ai volumi logici (LV) . Questi sono ciò che effettivamente utilizziamo per memorizzare i file. Un LV viene ricavato dalla "massa" del volume di gruppo (VG) ed è ciò che alla fine formattiamo con un file system (come ext4 o xfs) per montarlo in una cartella sul nostro sistema.

Iniziamo: installazione e preparazione
Per iniziare a utilizzare questi strumenti, è necessario installare il pacchetto. lvm2Nella maggior parte delle distribuzioni moderne è preinstallato, ma se così non fosse, in Debian o Ubuntu puoi installarlo rapidamente eseguendo sudo apt install lvm2.
Il primo passo pratico è analizzare quali dischi abbiamo liberi. Utilizzando il comando lsblk o fdisk -l, Noi elencare un disco rigido per identificare il dispositivo che vogliamo utilizzare, ad esempio, /dev/sdbSe vogliamo essere meticolosi, possiamo usare fdisk per creare una partizione specificare modificando il tipo di sistema in 8e (Linux LVM), sebbene LVM consenta anche l'utilizzo del disco raw.
Una volta pronta la nostra partizione, dobbiamo dire al sistema che questo spazio sarà un volume fisico. Per fare ciò, eseguiamo pvcreate /dev/sdb1Se vogliamo verificare che tutto sia andato liscio, il comando pvdisplay ci fornirà tutti i dettagli tecnici del volume appena creato.
Creazione di gruppi logici e volumi
Con il volume fisico preparato, è il momento di creare la nostra "borsa" di archiviazione. Supponiamo di voler chiamare il nostro gruppo vm_grupoIl comando sarebbe vgcreate vm_grupo /dev/sdb1Da qui abbiamo già un spazio unificato pronto per la distribuzione.
Ora arriva la parte divertente: la creazione dei volumi logici. Se vogliamo un volume da 2 GB chiamato lv_datosnoi useremmo lvcreate -L 2G -n lv_datos vm_grupoLa cosa bella di questo è che possiamo creare tutti i volumi che vogliamo a condizione che ci siano posti liberi nel gruppo.

Per verificare la struttura che abbiamo assemblato, abbiamo il comando lvsche ci fornisce un rapido riepilogo, oppure lvdisplay se necessario informazioni molto più complete riguardo al percorso e alle dimensioni del dispositivo.
Formattazione, montaggio e persistenza
Avere il volume logico creato è fantastico, ma il sistema non sa ancora come scriverci i dati. Dobbiamo formattarlo. Il formato più comune è ext4, quindi eseguiremmo mkfs.ext4 /dev/vm_grupo/lv_datosUna volta formattato, creiamo una cartella sul sistema e Abbiamo assemblato il volume utilizzando il comando mount.
Se non vogliamo che il volume scompaia ogni volta che riavviamo la macchina, dobbiamo rendere il mount persistente. Per fare ciò, modifichiamo il file /etc/fstabL'approccio più professionale non è quello di utilizzare il percorso del dispositivo, ma piuttosto il UUID del volumeche possiamo ottenere facilmente con il comando blkid.
Aggiungiamo la riga corrispondente a fstab ed eseguiamo mount -aSe il sistema non restituisce alcun errore, abbiamo il nostro. archiviazione automatizzata e pronto a funzionare indipendentemente da quante volte riavviamo il server.
Gestione avanzata: espansione e strumenti
La vera magia di LVM si manifesta quando lo spazio si esaurisce. In una configurazione di partizionamento classica, saremmo persi, ma qui possiamo usare lvextendAd esempio, se vogliamo aggiungere altri 3 GB al nostro volume, avviamo lvextend -L +3G /dev/vm_grupo/lv_datos e poi applichiamo resize2fs In modo che la il file system riconosce la nuova dimensione.
Sono disponibili molti altri strumenti per gli amministratori più esperti. Ad esempio, pvmove È incredibile per migrare i dati da un disco a un altro senza spegnere il sistema, oppure vgexport e vgimport se dobbiamo spostare un gruppo di volumi su un altro dispositivo fisico.
Disponiamo anche di servizi di manutenzione come pvck o vgck per verificare che i metadati non sono corrotti e vgsplit nel caso in cui a un certo punto decidessimo che un gruppo di volumi è troppo grande e volessimo dividerlo in due entità indipendenti.
LVM è diventato lo standard per la gestione dello storage in ambienti professionali perché consente di unire dischi fisici in unità virtuali, creare volumi logici flessibili e ridimensionare lo spazio al volo senza rischio di perdita di dati, il tutto supportato da un solido set di comandi che facilitano ogni operazione, dalla creazione iniziale alla manutenzione avanzata dei metadati e alla persistenza del sistema.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.