Homepage » come » Come gestire e utilizzare LVM (Logical Volume Management) in Ubuntu

    Come gestire e utilizzare LVM (Logical Volume Management) in Ubuntu

    Nel nostro precedente articolo vi abbiamo detto cosa è LVM e cosa vorreste usarlo, e oggi vi illustreremo alcuni degli strumenti di gestione delle chiavi di LVM per essere sicuri della configurazione o dell'espansione della vostra installazione.

    Come affermato in precedenza, LVM è uno strato di astrazione tra il sistema operativo e i dischi rigidi fisici. Ciò significa che i dischi rigidi fisici e le partizioni non sono più legati ai dischi rigidi e alle partizioni su cui risiedono. Piuttosto, le unità disco e le partizioni visualizzate dal sistema operativo possono essere un numero qualsiasi di dischi rigidi separati raggruppati insieme o in un RAID software.

    Per gestire LVM sono disponibili strumenti GUI, ma per capire veramente cosa sta succedendo con la configurazione LVM è probabilmente meglio sapere quali sono gli strumenti della riga di comando. Ciò sarà particolarmente utile se gestisci LVM su un server o una distribuzione che non offre strumenti GUI.

    La maggior parte dei comandi in LVM sono molto simili tra loro. Ogni comando valido è preceduto da uno dei seguenti:

    • Volume fisico = pv
    • Gruppo di volumi = vg
    • Volume logico = lv

    I comandi del volume fisico servono per aggiungere o rimuovere i dischi rigidi nei gruppi di volumi. I comandi del gruppo di volumi servono a modificare il set di partizioni astratte delle partizioni fisiche che vengono presentate al funzionamento in volumi logici. I comandi del volume logico presenteranno i gruppi di volumi come partizioni in modo che il sistema operativo possa utilizzare lo spazio designato.

    Cheat Sheet LVM scaricabile

    Per aiutarti a capire quali comandi sono disponibili per ogni prefisso abbiamo creato un cheat LVM. Tratteremo alcuni dei comandi di questo articolo, ma c'è ancora molto che puoi fare che non sarà trattato qui.

    Tutti i comandi di questo elenco dovranno essere eseguiti come root perché si stanno modificando le impostazioni del sistema che interesseranno l'intera macchina.

    (Fare clic sulla miniatura per un'immagine a dimensione intera)

    Come visualizzare le informazioni LVM attuali

    La prima cosa che potresti dover fare è controllare come è configurato il tuo LVM. Il S e display i comandi funzionano con volumi fisici (pv), gruppi di volumi (vg) e volumi logici (lv), quindi è un buon punto di partenza quando si cerca di capire le impostazioni correnti.

    Il display comando formatterà le informazioni in modo che sia più facile da capire rispetto a S comando. Per ogni comando vedrai il nome e il percorso di pv / vg e dovrebbe anche dare informazioni sullo spazio libero e usato.

    Le informazioni più importanti saranno il nome PV e il nome VG. Con queste due informazioni possiamo continuare a lavorare sulla configurazione LVM.

    Creazione di un volume logico

    I volumi logici sono le partizioni utilizzate dal sistema operativo in LVM. Per creare un volume logico dobbiamo prima avere un volume fisico e un gruppo di volumi. Ecco tutti i passaggi necessari per creare un nuovo volume logico.

    Crea volume fisico

    Iniziamo da zero con un disco rigido nuovo di zecca senza partizioni o informazioni su di esso. Inizia trovando con quale disco lavorerai. (/ dev / sda, sdb, ecc.)

    Nota: ricorda che tutti i comandi dovranno essere eseguiti come root o aggiungendo "sudo" all'inizio del comando.

    fdisk -l

    Se il tuo disco rigido non è mai stato formattato o partizionato prima probabilmente vedrai qualcosa di simile nell'output di fdisk. Questo è completamente a posto perché stiamo andando a creare le partizioni necessarie nei prossimi passi.

    Il nostro nuovo disco si trova in / dev / sdb, quindi usiamo fdisk per creare una nuova partizione sull'unità.

    Ci sono una miriade di strumenti che possono creare una nuova partizione con una GUI, incluso Gparted, ma dato che abbiamo già il terminale aperto, useremo fdisk per creare la partizione necessaria.

    Da un terminale digitare i seguenti comandi:

    fdisk / dev / sdb

    Questo ti metterà in un prompt di fdisk speciale.

    Immettere i comandi nell'ordine indicato per creare una nuova partizione primaria che utilizza il 100% del nuovo disco rigido ed è pronta per LVM. Se hai bisogno di cambiare le dimensioni della partizione o vuoi più partions ti suggerisco di usare GParted o di leggere fdisk da solo.

    Avvertenza: i seguenti passaggi formatteranno il tuo disco rigido. Assicurati di non avere alcuna informazione su questo disco rigido prima di seguire questi passaggi.

    • n = crea nuova partizione
    • p = crea una partizione primaria
    • 1 = rende la partizione la prima sul disco

    Premere Invio due volte per accettare il primo cilindro di default e l'ultimo cilindro.

    Per preparare la partizione da utilizzare da LVM, utilizzare i due comandi seguenti.

    • t = cambia il tipo di partizione
    • 8e = cambia al tipo di partizione LVM

    Verifica e scrivi le informazioni sul disco rigido.

    • p = visualizza l'installazione della partizione in modo che possiamo esaminare prima di scrivere le modifiche al disco
    • w = scrivere modifiche al disco

    Dopo questi comandi, il prompt fdisk dovrebbe uscire e si tornerà al prompt di bash del terminale.

    accedere pvcreate / dev / sdb1 per creare un volume fisico LVM sulla partizione appena creata.

    Potresti chiederti perché non abbiamo formattato la partizione con un file system, ma non preoccuparti, questo passaggio verrà dopo.


    Crea gruppo di volumi

    Ora che abbiamo creato una partizione e creato il volume fisico, dobbiamo creare il gruppo di volumi. Fortunatamente questo richiede solo un comando.

    vgcreate vgpool / dev / sdb1

    Vgpool è il nome del nuovo gruppo di volumi che abbiamo creato. Puoi nominarlo come preferisci, ma ti consigliamo di mettere vg nella parte anteriore dell'etichetta, quindi se fai riferimento in un secondo momento saprai che si tratta di un gruppo di volumi.

    Crea volume logico

    Per creare il volume logico che LVM utilizzerà:

    lvcreate -L 3G -n lvstuff vgpool

    Il comando -L indica la dimensione del volume logico, in questo caso 3 GB e il comando -n assegna un nome al volume. Vgpool è referenziato in modo che il comando lvcreate sappia da quale volume ottenere lo spazio.

    Formattare e montare il volume logico

    Un ultimo passaggio consiste nel formattare il nuovo volume logico con un file system. Se vuoi aiuto nella scelta di un file system Linux, leggi il nostro modo per aiutarti a scegliere il miglior file system per le tue esigenze.

    mkfs -t ext3 / dev / vgpool / lvstuff

    Creare un punto di montaggio e quindi montare il volume da qualche parte in cui è possibile utilizzarlo.

    mkdir / mnt / stuff
    mount -t ext3 / dev / vgpool / lvstuff / mnt / stuff

    Ridimensionamento di un volume logico

    Uno dei vantaggi dei volumi logici è che puoi rendere le tue azioni fisicamente più grandi o più piccole senza dover spostare tutto su un disco rigido più grande. Invece, puoi aggiungere un nuovo disco rigido ed estendere il tuo gruppo di volumi al volo. O se si dispone di un disco rigido non utilizzato, è possibile rimuoverlo dal gruppo di volumi per ridurre il volume logico.

    Esistono tre strumenti di base per rendere più grandi o più piccoli volumi fisici, gruppi di volumi e volumi logici.

    Nota: Ognuno di questi comandi dovrà essere preceduto da pv, vg o lv a seconda di cosa stai lavorando.

    • ridimensionare - può ridurre o espandere i volumi fisici e logici ma non i gruppi di volumi
    • estendere - può rendere i gruppi di volumi e i volumi logici più grandi ma non più piccoli
    • ridurre - può rendere i gruppi di volumi e i volumi logici più piccoli ma non più grandi

    Esaminiamo un esempio di come aggiungere un nuovo disco rigido al volume logico "lvstuff" che abbiamo appena creato.

    Installa e formatta il nuovo disco rigido

    Per installare un nuovo disco rigido, seguire i passaggi sopra riportati per creare una nuova partizione e aggiungere la modifica è il tipo di partizione in LVM (8e). Quindi utilizzare pvcreate per creare un volume fisico che LVM può riconoscere.

    Aggiungi nuovo disco rigido al gruppo di volumi

    Per aggiungere il nuovo disco rigido a un gruppo di volumi devi solo sapere qual è la tua nuova partizione, / dev / sdc1 nel nostro caso e il nome del gruppo di volumi che vuoi aggiungere a.

    Questo aggiungerà il nuovo volume fisico al gruppo di volumi esistente.

    vgextend vgpool / dev / sdc1

    Estendi volume logico

    Per ridimensionare il volume logico dobbiamo dire quanto vogliamo estendere per dimensione invece che per dispositivo. Nel nostro esempio abbiamo aggiunto un disco rigido da 8 GB al nostro vgpool da 3 GB. Per rendere utilizzabile questo spazio possiamo usare lvextend o lvresize.

    lvextend -L8G / dev / vgpool / lvstuff

    Mentre questo comando funzionerà, vedrai che ridimensionerà effettivamente il nostro volume logico a 8 GB invece di aggiungere 8 GB al volume esistente come volevamo. Per aggiungere gli ultimi 3 gigabyte disponibili è necessario utilizzare il seguente comando.

    lvextend -L + 3G / dev / vgpool / lvstuff

    Ora il nostro volume logico ha una dimensione di 11 GB.

    Estendi file system

    Il volume logico è di 11 GB, ma il file system su quel volume è ancora solo 3 GB. Per fare in modo che il file system usi tutti gli 11 GB disponibili, devi usare il comando resize2fs. Basta puntare resize2fs sul volume logico da 11 GB e farà la magia per te.

    resize2fs / dev / vgpool / lvstuff

    Nota: se si utilizza un file system diverso oltre a ext3 / 4, consultare gli strumenti di ridimensionamento dei file system.

    Riduci volume logico

    Se si desidera rimuovere un disco rigido da un gruppo di volumi, è necessario seguire i passaggi precedenti in ordine inverso e utilizzare invece lvreduce e vgreduce.

    1. ridimensiona il file system (assicurati di spostare i file in un'area sicura del disco rigido prima di ridimensionare)
    2. Riduci il volume logico (anziché + per estendere puoi anche usare - per ridurre per dimensione)
    3. rimuovi il disco rigido dal gruppo di volumi con vgr

    Backup di un volume logico

    Le istantanee sono una funzionalità che include alcuni file di file avanzati più recenti, ma ext3 / 4 non ha la capacità di fare istantanee al volo. Una delle cose più interessanti delle istantanee LVM è che il tuo file system non viene mai portato offline e puoi averne quante ne vuoi senza occupare spazio extra su disco rigido.

    Quando LVM acquisisce un'istantanea, viene presa una foto di come appare esattamente il volume logico e che l'immagine può essere utilizzata per eseguire una copia su un diverso disco rigido. Mentre viene eseguita una copia, qualsiasi nuova informazione che deve essere aggiunta al volume logico viene scritta sul disco come normale, ma i cambiamenti vengono tracciati in modo che l'immagine originale non venga mai distrutta.

    Per creare uno snapshot è necessario creare un nuovo volume logico con spazio libero sufficiente per contenere qualsiasi nuova informazione che verrà scritta nel volume logico mentre facciamo un backup. Se l'unità non viene scritta attivamente, è possibile utilizzare una quantità minima di spazio di archiviazione. Una volta terminato il backup, rimuoviamo il volume logico temporaneo e il volume logico originale continuerà normalmente.

    Crea una nuova istantanea

    Per creare un'istantanea di lvstuff usa il comando lvcreate come prima, ma usa il flag -s.

    lvcreate -L512M -s -n lvstuffbackup / dev / vgpool / lvstuff

    Qui abbiamo creato un volume logico con solo 512 MB perché l'unità non viene utilizzata attivamente. I 512 MB memorizzeranno qualsiasi nuova scrittura mentre facciamo il nostro backup.

    Montare una nuova istantanea

    Proprio come prima abbiamo bisogno di creare un punto di montaggio e montare la nuova istantanea in modo da poter copiare i file da esso.

    mkdir / mnt / lvstuffbackup
    mount / dev / vgpool / lvstuffbackup / mnt / lvstuffbackup

    Copia istantanea e Elimina volume logico

    Tutto quello che ti resta da fare è copiare tutti i file da / mnt / lvstuffbackup / su un disco rigido esterno o caricarlo in modo che sia tutto in un unico file.

    Nota: tar -c creerà un archivio e -f dirà la posizione e il nome del file dell'archivio. Per aiuto con l'uso del comando tar uomo tar nel terminale.

    tar -cf / home / rothgar / Backup / lvstuff-ss / mnt / lvstuffbackup /

    Ricorda che mentre il backup è in corso, tutti i file che verrebbero scritti su lvstuff verranno tracciati nel volume logico temporaneo creato in precedenza. Assicurati di avere abbastanza spazio libero durante il backup.

    Al termine del backup, smontare il volume e rimuovere lo snapshot temporaneo.

    umount / mnt / lvstuffbackup
    lvremove / dev / vgpool / lvstuffbackup /

    Eliminazione di un volume logico

    Per eliminare un volume logico devi prima assicurarti che il volume sia smontato, quindi puoi usare lvremove per cancellarlo. È anche possibile rimuovere un gruppo di volumi una volta eliminati i volumi logici e un volume fisico dopo aver eliminato il gruppo di volumi.

    Ecco tutti i comandi che utilizzano i volumi e i gruppi che abbiamo creato.

    umount / mnt / lvstuff
    lvremove / dev / vgpool / lvstuff
    vgremove vgpool
    pvremove / dev / sdb1 / dev / sdc1

    Questo dovrebbe coprire la maggior parte di ciò che devi sapere per usare LVM. Se hai qualche esperienza sull'argomento, assicurati di condividere la tua saggezza nei commenti.