LVM o Logical Volume Manager semplifica la gestione dello spazio su disco su una macchina Linux. Le caratteristiche di LVM includono:
- Crea, ridimensiona, sposta ed elimina partizioni sui dischi
- Gestisci lo spazio di più dischi rigidi creando volumi logici
- Operare sul sistema senza conoscere lo spazio totale di alcuna partizione
- Lo spazio di qualsiasi partizione può essere ridimensionato o assegnato a qualsiasi partizione con spazio ridotto in qualsiasi momento
- Modificare il file system di qualsiasi partizione esistente o rimuovere rapidamente qualsiasi partizione dal sistema
- Crea istantanee di qualsiasi sistema in esecuzione
- Crea volumi logici con striping dei dischi
- Creazione di partizioni RAID software o partizioni standard di un singolo disco
- I volumi del disco possono essere estesi al volo per fornire maggiore flessibilità al sistema in base ai requisiti.
Tre componenti principali di LVM sono volumi fisici, volumi logici e gruppi di volumi. I dispositivi a blocchi utilizzati per memorizzare i volumi logici sono chiamati volumi fisici. Ogni volume logico contiene un file system che corrisponde a una partizione e ad ogni volume logico viene assegnato un nome univoco. La raccolta di tutti i volumi fisici e logici è chiamata gruppo di volumi.
In questo tutorial imparerai diverse utilità di LVM, come come creare o rimuovere un nuovo volume, come trovare le informazioni sui volumi attuali, come ridimensionare i volumi esistenti del disco su Ubuntu e creare un'istantanea di un sistema in esecuzione.
Creazione, ridimensionamento e rimozione di componenti LVM
Devi avere i privilegi di root per eseguire qualsiasi comando LVM. Quindi, prima di tutto, devi eseguire LVM con la password di root.
$ sudo lvm
Esegui il comando per trovare tutti i dispositivi a blocchi esistenti. Nell'output, viene mostrato che ci sono due partizioni che sono /dev/sda1 e /dev/sda5, 1 disco dentro /dev/sdb e nessun volume fisico.
lvm> lvmdiskscan
Crea volume fisico
pvcreate comando viene utilizzato per creare volume fisico da dispositivi di archiviazione. Qui, /dev/sdb viene utilizzato per creare un volume fisico. Esegui i comandi per creare un volume fisico di 5 GB. Il messaggio di successo apparirà se il volume fisico viene creato con successo.
Ora, se esegui di nuovo il comando lvmdiskscan quindi vedrai che viene creato un volume fisico. Nell'output, non c'è disco libero perché l'intero disco viene creato come volume fisico.
Puoi anche usare pvdisplay comando per trovare i volumi fisici esistenti.
Lvm> pvdisplay
Crea gruppo di volumi
È possibile creare un gruppo di volumi dopo aver creato un volume fisico. vgcreate comando viene utilizzato per creare un nuovo gruppo di volumi. È possibile creare un gruppo di volumi utilizzando uno o più volumi fisici. C'è solo un volume fisico. Quindi, il gruppo di volumi può essere creato da questo. Supponiamo di voler creare un gruppo di volumi denominato vg1 con /dev/sdb, quindi esegui il comando come di seguito. Il messaggio di successo apparirà se il gruppo di volumi viene creato correttamente.
lvm> vgcreate vg1 /dev/sdb
vgdisplay il comando viene utilizzato per ottenere le informazioni sui gruppi di volumi esistenti. Esegui il comando per mostrare l'output.
lvm> vgdisplay
È possibile creare più gruppi di volumi e i gruppi di volumi possono avere dimensioni di estensione diverse. Per creare un gruppo di volumi di dimensioni specifiche, il volume esistente viene rimosso qui. vgremove comando viene utilizzato con il nome del gruppo di volumi per rimuovere il gruppo di volumi esistente.
lvm> vgremove vg1
Esegui quanto segue vgcreate comando per creare un gruppo di volumi di dimensioni, 100M.
lvm> vgcreate -s 100M vg1 /dev/sdb
Ora, vgdisplay mostrerà il seguente output.
Crea volume logico
Puoi creare un volume logico di dimensioni specifiche o tutto lo spazio libero rimanente. lvcreare il comando viene utilizzato per creare un volume logico. Il nome del volume logico è specificato dall'opzione -n e la dimensione del volume è specificata dall'opzione -L. Esegui il seguente comando per creare un volume logico di 10 GB denominato lv1 per il gruppo di volume vg1 che è attaccato con un volume fisico, /dev/sdb.
lvm> lvcreate -L 10G -n lv1 vg1
lvdisplay comando viene utilizzato per ottenere le informazioni di tutti i volumi logici esistenti.
Dopo aver creato il volume logico, se esiste spazio libero nel volume fisico, è possibile creare un nuovo volume logico utilizzando lo spazio libero rimanente con -io opzione. Esegui il comando per creare un volume logico, lv2 utilizzando tutto lo spazio libero del gruppo di volumi, vg1
lvm> lvcreate -l 100%FREE -n lv2 vg1
Puoi creare un volume logico con molte opzioni avanzate. Alcune delle opzioni sono spiegate qui. Una delle opzioni importanti è -type che determina il tipo di allocazione di un volume logico. Alcuni dei tipi più comunemente usati sono lineare, rigato e raid1. Il tipo predefinito è lineare in cui i dispositivi fisici vengono aggiunti uno dopo l'altro. Sono necessari almeno due volumi fisici per creare un volume logico di tipo con striping. Le prestazioni di questo tipo di volume logico sono migliori ma aumentano la vulnerabilità dei dati. Per creare un volume logico a strisce viene utilizzata l'opzione -i. Il tipo raid1 viene utilizzato per creare il mirror del volume RAID1. Questo tipo richiede anche un minimo di due volumi fisici con lo spazio necessario per creare un volume logico. Quindi, per creare un volume di tipo striped e raid1 devi creare almeno due volumi fisici ed eseguire i seguenti comandi.
Volume spogliato:
lvm> lvcreate --type striped -i 2 -L 10G -n s_vol1 vol_groupVolume Raid1:
lvm> lvcreate --type raid1 -m 2 -L 20G -n m_vol1 vol_grouplvremove comando viene utilizzato per rimuovere qualsiasi volume logico esistente. Il seguente comando rimuoverà il volume logico lv2 che si trova nel gruppo di volumi vg1.
lvm> lvremove /dev/vg1/lv2
Crea istantanea
Devi usare il volume logico originale invece del volume fisico per creare un'istantanea di quel volume. Rimuovi tutti i volumi logici esistenti e crea un nuovo volume logico più piccolo della dimensione del volume fisico perché l'istantanea verrà creata nello spazio libero del volume fisico.
Ora, se vuoi creare un'istantanea del volume logico, esegui il seguente comando per creare un'istantanea di lv1. Qui, il nome dell'istantanea è snap_ck e la dimensione dell'istantanea è 6G. Se lo spazio libero del dispositivo fisico è inferiore a 6G, verrà generato un errore e non verrà creata alcuna istantanea.
lvm> lvcreate -s -L 6G -n snap_ck vg1/lv1
-unire l'opzione viene utilizzata per recuperare un volume logico da uno snapshot. Quando il comando viene eseguito, il volume logico verrà ripristinato da dove è stata scattata l'istantanea.
lvm> lvconvert --merge vg1/snap_ck
Ridimensiona volume logico
È possibile modificare facilmente la dimensione di qualsiasi volume logico utilizzando lvresize comando. Questo comando viene utilizzato con le opzioni -L per impostare nuove dimensioni per qualsiasi volume esistente. All'inizio, controlla la dimensione corrente di qualsiasi volume logico che desideri ridimensionare usando lvscan comando. La dimensione attuale del volume è 5 GB nel seguente output.
lvm> lvscan
Se vuoi ridimensionare il volume e impostare la dimensione del volume su 9 GB, esegui il comando lvresize con le opzioni richieste e controlla che la dimensione del volume sia aumentata correttamente o meno.
lvm> lvresize -L +4G vg1/lv1lvm> lvscan
Rimuovi il volume fisico dal gruppo di volumi
Se un gruppo di volumi contiene due o più volumi fisici e si desidera rimuovere l'allegato di un particolare volume fisico dal gruppo di volumi, eseguire vgreduce comando con il nome del gruppo di volumi e il nome del volume fisico. Se il volume fisico è in uso, non sarà possibile rimuovere il volume dal gruppo di volumi. In tal caso, è necessario spostare il volume fisico richiesto in un'altra posizione del volume fisico del gruppo di volumi. Quindi il gruppo di volumi deve avere più di un volume fisico per eseguire l'attività. Dopo aver spostato il volume fisico, puoi eseguire i seguenti comandi per rimuovere quel volume fisico dal gruppo di volumi. Non sarai in grado di eseguire i comandi se hai un solo dispositivo fisico nel gruppo di volumi.
lvm> pvmove /dev/sdblvm> vgreduce vg1 /dev/sdb
lvm> pvremove /dev/sdb
È necessario conoscere l'utilizzo di LVM per gestire in modo efficiente i dispositivi di archiviazione del sistema. Se comprendi e provi correttamente i comandi menzionati di questo tutorial, sarai in grado di applicare questi comandi su Ubuntu per configurare i tuoi dischi in base alle tue esigenze.