Come creare spazio di archiviazione su disco con LVM in Linux - Parte 1
Logical Volume Management (LVM) è un potente strumento che semplifica notevolmente la gestione dello spazio su disco. Con LVM, il compito di allocare spazio aggiuntivo a un file system diventa semplice.
Ogni volta che un file system richiede più spazio, può facilmente attingere allo spazio libero disponibile nel gruppo di volumi corrispondente. Di conseguenza, i file system possono essere ridimensionati dinamicamente per soddisfare le nostre esigenze specifiche.
Inoltre, LVM offre una solida protezione dei dati in caso di guasti del disco. Se un disco inizia a mostrare segni di guasto, possiamo integrare senza problemi un disco sostitutivo nel gruppo di volumi come nuovo volume fisico.
In questo modo, i volumi logici possono essere migrati in modo efficiente sul nuovo disco, garantendo continuità e tutela da qualsiasi potenziale perdita di dati.
In sostanza, LVM consente agli amministratori di gestire l'allocazione e la gestione dello spazio su disco con flessibilità e resilienza senza precedenti. Le sue capacità di ridimensionamento dinamico e le funzionalità di ridondanza integrate lo rendono una risorsa indispensabile per ottimizzare l'utilizzo dello storage e migliorare l'integrità dei dati in qualsiasi configurazione di sistema.
Presentiamo la serie completa "Preparazione per l'impostazione di LVM (Gestione del volume logico)", realizzata con cura nelle parti da 1 a 6, con un'esplorazione approfondita dei seguenti argomenti essenziali:
Prima di procedere con la configurazione di LVM, considerare i seguenti prerequisiti:
Configurazione del mio server: requisiti
- Sistema operativo: RHEL 9 con installazione LVM
- IP – 192.168.0.200
- Dischi: 3 dischi da 20 GB ciascuno.
Controlla l'archiviazione su disco LVM in Linux
1. Per ottenere informazioni dettagliate sulla nostra configurazione LVM, possiamo utilizzare i seguenti comandi per rivelare i componenti distinti: Volume fisico (PV), Gruppo di volumi (VG) e Volume logico (LV).
pvs
vgs
lvs
Ecco la descrizione di ciascun parametro mostrato nello screenshot sopra.
- Dimensione del disco fisico (dimensione PV)
- Il disco utilizzato è il disco virtuale sda.
- Dimensioni del gruppo di volumi (dimensione VG)
- Nome del gruppo di volumi (vg_tecmint)
- Nome del volume logico (LogVol00, LogVol01)
- LogVol00 Assegnato per uno scambio con dimensioni di 956 MB
- LogVol01 Assegnato per/con 18,63 GB
Quindi, da qui veniamo a sapere che non c'è abbastanza spazio libero nel disco VDA.
Crea un nuovo gruppo di volumi in LVM
2. Per creare un nuovo Gruppo di volumi, dobbiamo aggiungere altri 3 dischi rigidi a questo server. Tuttavia non è obbligatorio utilizzare 3 unità; ne basta solo 1 per creare un nuovo VG e un LV (Volume Logico) all'interno di quel VG.
Sto aggiungendo qui i seguenti 3 dischi a scopo dimostrativo e per fornire ulteriori spiegazioni sui comandi delle funzionalità.
sdb, sdc, sdd
3. Per elencare tutti i dischi e le relative partizioni, come nome del disco, dimensione, tipo di partizione, settori iniziale e finale e altro ancora, utilizza l'utilità fdisk come mostrato.
fdisk -l
Ecco la descrizione di ciascun disco mostrato nello screenshot sopra.
- Il disco predefinito utilizzato per il sistema operativo è RHEL 9.
- Le partizioni definite sul disco predefinito sono le seguenti: (sda1=boot), (sda2=/).
- Inoltre, i dischi aggiunti vengono menzionati come Disco1, Disco2 e Disco3.
Ogni disco ha una dimensione di 20 GB.
4. Ora esegui il comando vgdisplay per visualizzare le informazioni dettagliate su tutti i gruppi di volume presenti sul sistema, inclusi nome, dimensione, spazio libero, volume fisico (PV) informazioni e altro ancora.
vgdisplay
Ecco la descrizione di ciascun parametro mostrato nello screenshot sopra.
- Nome VG – Il nome di un gruppo di volumi.
- Formato – L'architettura LVM utilizzava lvm2.
- Accesso VG: il Gruppo di volumi è in modalità di lettura e scrittura ed è pronto per l'uso.
- Stato VG – Il gruppo di volumi può essere ridimensionato. Possiamo espanderlo se abbiamo bisogno di aggiungere più spazio.
- Cur LV – Attualmente, ci sono 2 volumi logici in questo gruppo di volumi.
- CurPV e Act PV – Attualmente, il disco fisico in uso è 1 (vda) ed è attivo. Quindi, possiamo usare questo gruppo di volumi.
- Dimensione PE: le estensioni fisiche (PE) e le dimensioni di un disco possono essere definite utilizzando la dimensione PE o GB. La dimensione PE predefinita di LVM è 4 MB. Ad esempio, se dobbiamo creare un volume logico da 5 GB, possiamo utilizzare una somma di 1280 PE. Capisci quello che sto dicendo?
Ecco la spiegazione: 1 GB equivale a 1024 MB, quindi 1024 MB x 5=5120 PE=5 GB. Ora dividi 5120 per 4=1280. 4 è la dimensione PE predefinita.
- PE totale: questo gruppo di volumi ha.
- Alloc PE: PE totale utilizzato, PE completo già utilizzato, 5008 x 4PE=20032.
- PE gratuito: qui è già utilizzato, quindi non esisteva PE gratuito.
5. Ora elenca le informazioni sullo spazio su disco del file system, qui viene utilizzato solo sda con /boot, /, e scambia sul disco fisico sda utilizzando LVM. Non c'è spazio rimanente su questo disco.
df -TH
L'immagine sopra mostra il punto di montaggio che stiamo utilizzando e i 19 GB sono completamente utilizzati per il root, quindi non c'è spazio libero disponibile.
Crea una partizione del disco
6. Quindi, creiamo un nuovo volume fisico (PV) e un nuovo gruppo di volumi (VG) denominato tecmint_add_vg e creiamo volumi logici (LV) al suo interno. Qui possiamo creare 4 volumi logici con i nomi tecmint_documents, tecmint_manager e tecmint_public.
Possiamo estendere il Gruppo di volumi del VG attualmente utilizzato per ottenere più spazio. Tuttavia, in questo caso, creeremo un nuovo Gruppo di volumi e lo sperimenteremo. Successivamente vedremo come estendere i file system del Gruppo di volumi attualmente in uso.
Prima di utilizzare un nuovo disco, dobbiamo partizionarlo utilizzando il comando fdisk come mostrato.
fdisk -c /dev/sdb
Successivamente, seguire i passaggi seguenti per creare una nuova partizione.
- Scegli
n
per crearne uno nuovo. - Scegli
p
per creare una partizione primaria. - Scegli il numero di partizioni che dobbiamo creare.
- Premi Invio due volte per utilizzare l'intero spazio del disco.
- Dobbiamo cambiare il tipo di partizione appena creata, tipo
t
. - Quale numero di partizioni è necessario modificare, scegli il numero di cui abbiamo creato
1
. - Qui dobbiamo cambiare il tipo, dobbiamo creare LVM quindi utilizzeremo il codice del tipo di LVM come
8e
, se non conosciamo il codice del tipo PremiL
per elencare tutti i tipi di codici. - Stampa la partizione che abbiamo creato solo per confermare.
- Qui possiamo vedere l'ID come 8e LINUX LVM.
- Scrivi le modifiche ed esci da fdisk.
7. Esegui i passaggi precedenti per gli altri 2 dischi sdc
e sdd
per creare nuove partizioni. Quindi riavvia la macchina per verificare la tabella delle partizioni utilizzando il comando fdisk.
fdisk -l
Crea volume fisico LVM
8. Ora è il momento di creare volumi fisici utilizzando tutti e 3 i dischi. Qui ho elencato i dischi fisici utilizzando il comando "pvs" e ora viene elencato solo un PV predefinito.
pvs
9. Quindi crea i nuovi dischi fisici e conferma i dischi fisici appena creati.
pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
pvs
Creazione di gruppi di volumi LVM
10. Crea un gruppo di volumi denominato tecmint_add_vg utilizzando il PV gratuito disponibile e una dimensione PE di 32. Per visualizzare i gruppi di volumi attuali, possiamo vedere che esiste un gruppo di volumi con 1 PV in uso.
vgs
11. Verrà creato il gruppo di volumi denominato tecmint_add_vg utilizzando una dimensione 32 MB PE e i 3 volumi fisici che abbiamo creato negli ultimi passaggi.
vgcreate -s 32M tecmint_add_vg /dev/sdb1 /dev/sdc1 /dev/sdd1
12. Successivamente, verifica il gruppo di volumi eseguendo nuovamente il comando vgs.
vgs
Comprensione dell'output del comando vgs:
- Nome del gruppo di volumi.
- Volumi fisici utilizzati in questo gruppo di volumi.
- Mostra lo spazio libero disponibile in questo gruppo di volumi.
- Dimensione totale del gruppo di volumi.
- Volumi logici all'interno di questo gruppo di volumi, qui non li abbiamo ancora creati quindi c'è 0.
- SN=numero di istantanee contenute nel gruppo di volumi. (Più tardi possiamo creare un'istantanea).
- Stato del gruppo di volumi come Scrivibile, leggibile, ridimensionabile, esportato, parziale e in cluster. Qui è wz–n- che significa w=Scrivibile, z=ridimensionabile.
- Numero di volume fisico (PV) utilizzato in questo gruppo di volumi.
13. Per visualizzare ulteriori informazioni sul gruppo di volumi utilizzare il comando.
vgs -v
14. Per ottenere ulteriori informazioni sui gruppi di volumi appena creati, esegui il comando seguente.
vgdisplay tecmint_add_vg
Ecco la descrizione di ciascun parametro mostrato nello screenshot sopra.
- Nome del gruppo di volumi
- Architettura LVM utilizzata.
- Può essere letto e scritto, pronto per l'uso.
- Questo gruppo di volumi può essere ridimensionabile.
- Non è stato utilizzato alcun disco fisico e sono attivi.
- Dimensioni totali del gruppo di volumi.
- Una dimensione PE singola era 32 qui.
- Numero totale di PE disponibili in questo gruppo di volumi.
- Al momento non abbiamo creato alcun LV all'interno di questo VG, quindi è totalmente gratuito.
- UUID di questo gruppo di volumi.
Creazione di volumi logici LVM
15. Ora crea 3 volumi logici denominati tecmint_documents, tecmint_manager e tecmint_public. Qui dimostreremo come creare volumi logici utilizzando sia la dimensione PE che la dimensione GB.
Innanzitutto, elenca i volumi logici correnti utilizzando il seguente comando..
lvs
16. Questi volumi logici si trovano nel gruppo di volumi vg_tecmint. Per vedere quanto spazio libero è disponibile per creare volumi logici, elenca il gruppo di volumi e i volumi fisici disponibili utilizzando il comando "vgs".
vgs
La dimensione del gruppo di volumi è di quasi 60 GB ed è inutilizzato, quindi possiamo creare LV al suo interno. Dividiamo il gruppo di volumi in dimensioni uguali per creare 3 volumi logici. Ciò significa 60 GB/3=20 GB. Ciascun volume logico avrà una dimensione di 20 GB dopo la creazione.
Metodo 1: creazione di volumi logici utilizzando la dimensione PE
Innanzitutto, creiamo volumi logici utilizzando la dimensione dell'estensione fisica (PE). Dobbiamo conoscere la dimensione PE predefinita assegnata a questo gruppo di volumi e il totale dei PE disponibili per creare nuovi volumi logici.
Eseguire il comando seguente per ottenere queste informazioni.
vgdisplay tecmint_add_vg
- Il PE predefinito assegnato per questo VG è 32 MB, qui la dimensione del PE singolo sarà 32 MB.
- Il totale dei PE disponibili è 1917.
Basta fare e vedere un piccolo calcolo usando il comando bc.
bc
1917PE/3 = 639 PE.
639 PE x 32MB = 20448 --> 20GB
Premi CRTL+D per uscire da bc.
Creiamo ora 3 volumi logici utilizzando 639 PE. Qui -l
viene utilizzato per estendere la dimensione e -n
per assegnare un nome logico al volume.
lvcreate -l 639 -n tecmint_documents tecmint_add_vg
lvcreate -l 639 -n tecmint_manager tecmint_add_vg
lvcreate -l 639 -n tecmint_public tecmint_add_vg
Elenca i volumi logici creati utilizzando il comando lvs.
lvs
Metodo 2: creazione di volumi logici utilizzando la dimensione GB
Durante la creazione del volume logico utilizzando la dimensione GB non possiamo ottenere la dimensione esatta. Quindi, il modo migliore è creare utilizzando extend.
lvcreate -L 20G -n tecmint_documents tecmint_add_vg
lvcreate -L 20G -n tecmint_manager tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg
Elenca i volumi logici creati utilizzando il comando lvs.
lvs
Qui possiamo vedere che durante la creazione del 3° LV non possiamo arrotondare a 20 GB, a causa di piccoli cambiamenti nelle dimensioni, ma questo problema verrà ignorato durante la creazione del LV utilizzando la dimensione Estendi.
Creazione del file system
17. Per utilizzare i volumi logici dobbiamo formattare. Qui sto usando il file system ext4 per creare i volumi e li monterò sotto /mnt/.
mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents
mkfs.ext4 /dev/tecmint_add_vg/tecmint_public
mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager
18. Creiamo le directory in /mnt e montiamo i volumi logici che abbiamo creato nel file system.
mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/
mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/
mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/
19. Elenca e conferma il punto di montaggio utilizzando.
df -h
Montaggio permanente di volumi logici
20. Ora è montato temporaneamente, per il montaggio permanente dobbiamo aggiungere la voce in fstab, per questo otteniamo la voce di montaggio da mtab utilizzando
cat /etc/mtab
21. Dobbiamo apportare lievi modifiche alla voce fstab mentre inseriamo la voce di montaggio delle copie dei contenuti da mtab, dobbiamo modificare rw sui valori predefiniti
vi /etc/fstab
Le nostre voci fstab dovrebbero essere simili all'esempio seguente.
/dev/mapper/tecmint_add_vg-tecmint_documents /mnt/tecmint_documents ext4 defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_public /mnt/tecmint_public ext4 defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_manager /mnt/tecmint_manager ext4 defaults 0 0
22. Infine, esegui il comando mount -a per verificare la voce fstab prima di riavviare.
mount -av
Qui abbiamo visto come configurare l'archiviazione flessibile con volumi logici utilizzando il disco fisico sul volume fisico, il volume fisico sul gruppo di volumi e il gruppo di volumi sui volumi logici.
Nei miei prossimi articoli futuri, vedrò come estendere il gruppo di volumi e i volumi logici, ridurre il volume logico, acquisire istantanee e ripristinare da istantanee. Fino ad allora, rimani aggiornato su TecMint per altri fantastici articoli.