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 influenzeranno l'intera macchina.
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.
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.
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.
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
-
p
= visualizza l'installazione delle partizioni in modo che possiamo esaminare prima di scrivere le modifiche al disco
-
w
= scrivere le modifiche sul disco
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
Crea volume logico
Per creare il volume logico che LVM utilizzerà:
lvcreate -L 3G -n lvstuff vgpool
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.
-
resize
- può ridurre o espandere i volumi fisici e logici ma non i gruppi di volumi
-
extend
- può rendere i gruppi di volumi e i volumi logici più grandi ma non più piccoli
-
reduce
- può rendere i gruppi di volumi e i volumi logici più piccoli ma non più grandi
Facciamo 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 segui i passaggi precedenti 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, è sufficiente sapere qual è la nuova partizione, / dev / sdc1 nel nostro caso e il nome del gruppo di volumi a cui si desidera aggiungerlo.
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 funziona, 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
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 utilizzi tutti gli 11 GB disponibili, è necessario utilizzare il comando resize2fs. Punta semplicemente resize2fs al 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.
- ridimensiona il file system (assicurati di spostare i file in un'area sicura del disco rigido prima di ridimensionare)
- Riduci il volume logico (anziché + per estendere puoi anche usare - per ridurre per dimensione)
- rimuovi il disco rigido dal gruppo di volumi con vgr
Backup di un volume logico
Le istantanee sono una funzionalità di alcuni dei più recenti sistemi di file avanzati, 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.
Per creare uno snapshot, è necessario creare un nuovo volume logico con spazio libero sufficiente per contenere tutte le nuove informazioni che verranno scritte 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
Montare una nuova istantanea
Proprio come prima abbiamo bisogno di creare un punto di montaggio e montare la nuova istantanea in modo che possiamo copiare i file da esso.
mkdir /mnt/lvstuffbackup
mount /dev/vgpool/lvstuffbackup /mnt/lvstuffbackup
Copia istantanea e Elimina volume logico
Tutto quello che ti rimane 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
man tar
nel terminale.
tar -cf /home/rothgar/Backup/lvstuff-ss /mnt/lvstuffbackup/
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.È inoltre 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