Ricerca nel sito web

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 Premi L 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.