GNU/Linux >> Linux Esercitazione >  >> Linux

Utilizzo di LVM per gestire volumi fisici, gruppi di volumi e volumi logici – Preparazione dell'obiettivo RHCSA

Come parte della preparazione all'esame RHCSA, abbiamo già imparato a gestire le partizioni su disco. Le partizioni sono utili per separare lo spazio su disco (ad esempio, separando i file relativi al database dai file relativi al server web), ma abbiamo una soluzione molto più flessibile che può separare o aggregare lo spazio di archiviazione.

Questa soluzione si chiama LVM, il Logical Volume Manager. LVM ci consente di vedere più dischi come un unico filesystem, superando così i limiti del sito di un disco fisico. Possiamo anche creare mirroring del software su dischi per proteggere o dati scritti sul filesystem. In questo tutorial tratteremo le basi:gestiremo i tre livelli di LVM, volumi fisici, gruppi di volumi e volumi logici.

In questo tutorial imparerai:

  • Come creare e rimuovere volumi fisici
  • Come assegnare i volumi fisici ai gruppi di volumi
  • Come creare ed eliminare volumi logici

Creazione di un nuovo volume fisico con LVM.

Requisiti e convenzioni software utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema Red Hat Enterprise Linux 8.1
Software LVM 2.03
Altro Accesso privilegiato al tuo sistema Linux come root o tramite sudo comando.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Con LVM, abbiamo tre livelli che si sovrappongono:physical volumes (pv), che sono molto simili alle partizioni, contrassegnate solo per l'utilizzo LVM. Possiamo creare un volume fisico da una partizione del disco o da un intero disco grezzo. Se intendiamo utilizzare un disco solo come volume fisico LVM, non è necessario creare prima una partizione su di esso. Il livello successivo è un volume group (vg). Come suggerisce il nome, è semplicemente il raggruppamento di volumi fisici. A questo livello possiamo aggregare tutto lo spazio del volume fisico sottostante in un'unità di archiviazione più grande. Sopra i gruppi di volumi possiamo creare il livello finale, logical volumes (lv). Questi possono contenere filesystem, in cui possiamo archiviare i nostri dati.

Una delle caratteristiche principali di LVM è che possiamo aggiungere al volo un altro volume fisico a un gruppo di volumi e possiamo anche modificare le dimensioni di un volume logico mentre il sistema è in esecuzione. Quindi, se esauriamo lo spazio, possiamo ridimensionare senza spegnere un sistema.

Le abbreviazioni dei livelli sono buoni promemoria quando abbiamo a che fare con LVM. I comandi che funzionano su livelli diversi iniziano tutti con queste abbreviazioni, ad esempio, se lavoriamo con volumi fisici, il comando per crearne uno sarà pvcreate , il comando per elencare i volumi fisici esistenti sarà pvdisplay , e così via. Anche se è necessario farlo di rado, è facile indovinare o trovare il comando giusto, poiché questa convenzione di denominazione è coerente su tutti i livelli.

Per questo tutorial, abbiamo aggiunto ai dischi 2 GB di dimensioni ciascuno per la nostra macchina di laboratorio. Sono riconosciuti come /dev/sdb e /dev/sdc sul nostro sistema, mentre /dev/sda contiene il sistema operativo, che non toccheremo durante i passaggi seguenti.

Come creare e rimuovere volumi fisici

Come creare un volume fisico

Per creare un volume fisico, utilizzeremo pvcreate . Creeremo un volume fisico di 2 GB su entrambi sdb e sdc .

# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created.

Possiamo verificare se l'abbiamo fatto bene elencando i nostri volumi fisici. Useremo pvdisplay .

# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rhel
  PV Size               <14.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              3583
  Free PE               0
  Allocated PE          3583
  PV UUID               rfezEa-GlgW-jWUX-Zixs-Ydw0-EsZS-nk3JDH
   
  "/dev/sdb" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name               
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               V2PUv4-O9eQ-jFvQ-UmQf-dmq3-caF9-xmxYGj
   
  "/dev/sdc" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name               
  PV Size               2.00 GiB                                                                                                                                                                            
  Allocatable           NO                                                                                                                                                                                  
  PE Size               0                                                                                                                                                                                   
  Total PE              0                                                                                                                                                                                   
  Free PE               0                                                                                                                                                                                   
  Allocated PE          0                                                                                                                                                                                   
  PV UUID               PWTs7Q-x3wD-RyXj-ertn-Sh2N-CiXb-ayDc1q

La macchina di laboratorio utilizza già LVM nella sua configurazione predefinita (come la maggior parte delle distribuzioni oggigiorno), ecco perché /dev/sda2 è mostrato. Siamo interessati ai nostri due nuovi volumi fisici, che ora possiamo verificare.

Come rimuovere il volume fisico

Per eliminare un volume fisico, abbiamo il pvremove comando. Non rimuovere un volume fisico su cui sono scritti i dati necessari.

# pvremove /dev/sdc 
  Labels on physical volume "/dev/sdc" successfully wiped.

Come assegnare i volumi fisici ai gruppi di volumi

Creazione di gruppi di volumi da volumi fisici.

Dopo aver ricreato il sdc eliminato volume fisico, abbiamo tutto ciò di cui abbiamo bisogno per creare un gruppo di volumi che possa contenere un volume logico. Potremmo creare un "gruppo" di volumi con un solo volume fisico, che è il caso esatto del sda2 predefinito – ma per dimostrare l'aggregazione dell'archiviazione, utilizzeremo entrambi i nostri nuovi volumi fisici per creare un gruppo di volumi chiamato "dati" con 4 GB di spazio su disco disponibili.

Possiamo creare un gruppo di volumi con vgcreate . Tutto ciò di cui abbiamo bisogno è specificare il nome VG e i volumi fisici che saranno membri del gruppo di volumi.

# vgcreate data /dev/sdb /dev/sdc
  Volume group "data" successfully created

Possiamo elencare le proprietà del nostro nuovo gruppo di volumi con vgdisplay .

# vgdisplay data
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.99 GiB
  PE Size               4.00 MiB
  Total PE              1022
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1022 / 3.99 GiB
  VG UUID               CmM07M-16Ys-PZx2-XGvo-N1j3-nINX-fnIFIA

Nota la dimensione VG di quasi 4 GB, la somma dei due volumi fisici. Non sarà esattamente la somma dei volumi, in quanto parte dello spazio è riservato ai metadati.

Come creare ed eliminare volumi logici

Sopra un gruppo di volumi, possiamo creare volumi logici che a loro volta possono contenere filesystem. L'installazione predefinita su molte distribuzioni separa l'archiviazione in questo modo, ad esempio, i dati dell'utente vengono conservati su /home volume logico e i registri di sistema sono archiviati in /var volume. Nel caso in cui un utente riempia il volume home, l'intero sistema sarà comunque in grado di scrivere i log, e quindi i suoi servizi continueranno a essere eseguiti mentre l'amministratore di sistema può gestire l'utente che si è scatenato.

Come creare un volume logico

Creeremo due volumi logici, il primo chiamato "database" con 2 GB di dimensione, l'altro chiamato "webserver" con 500 MB di spazio su disco. Come puoi intuire dagli esempi precedenti, il comando che useremo è lvcreate .

# lvcreate -L 2G -n database data
  Logical volume "database" created.
# lvcreate -L 500M -n webserver data
  Logical volume "webserver" created.

Possiamo visualizzare le nostre proprietà del volume con lvdisplay <volume path> oppure possiamo elencare tutti i nostri volumi logici se non forniamo un argomento per lvdisplay . Sebbene ciò possa fornire un output lungo su alcuni sistemi, è utile in un ambiente sconosciuto, poiché i percorsi del volume possono variare a seconda della distribuzione e della versione.

# lvdisplay /dev/data/database 
  --- Logical volume ---
  LV Path                /dev/data/database
  LV Name                database
  VG Name                data
  LV UUID                D7f9An-G0dd-kEGw-OGrP-HZlA-dQlX-yBbQbi
  LV Write Access        read/write
  LV Creation host, time rhel8rhcsa, 2019-12-28 16:53:24 +0100
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             512
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
# lvdisplay /dev/data/webserver 
  --- Logical volume ---
  LV Path                /dev/data/webserver
  LV Name                webserver
  VG Name                data
  LV UUID                7Ldt79-aw0i-Oydm-4d0I-JaVe-Zd8m-xKpvrD
  LV Write Access        read/write
  LV Creation host, time rhel8rhcsa, 2019-12-28 16:53:38 +0100
  LV Status              available
  # open                 0
  LV Size                500.00 MiB
  Current LE             125
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

Se controlliamo il nostro gruppo di volumi a questo punto, possiamo notare lo spazio che i volumi logici utilizzano dal gruppo di volumi.

# vgdisplay data
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.99 GiB
  PE Size               4.00 MiB
  Total PE              1022
  Alloc PE / Size       637 / <2.49 GiB
  Free  PE / Size       385 / 1.50 GiB
  VG UUID               CmM07M-16Ys-PZx2-XGvo-N1j3-nINX-fnIFIA

Come creare un volume logico su un sistema RHEL Linux

Come eliminare un volume logico

Per liberare spazio o riorganizzare i volumi, possiamo eliminare i volumi logici con lvremove .

AVVISO
Non rimuovere i volumi logici che contengono dati preziosi. In questo modo verranno distrutti i dati sul volume.

Ci sono cinture di sicurezza integrate, sono finiti i giorni in cui pulire il nostro sistema non doveva aspettare un prompt. Almeno, quando si utilizzano i comandi LVM.

# lvremove /dev/data/webserver 
Do you really want to remove active logical volume data/webserver? [y/n]: y
  Logical volume "webserver" successfully removed

Un altro elenco di gruppi di volumi mostra che i 500 MB del webserver il volume viene ora aggiunto di nuovo alla dimensione libera del gruppo di volumi:

# vgdisplay data
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.99 GiB
  PE Size               4.00 MiB
  Total PE              1022
  Alloc PE / Size       512 / 2.00 GiB
  Free  PE / Size       510 / 1.99 GiB
  VG UUID               CmM07M-16Ys-PZx2-XGvo-N1j3-nINX-fnIFIA

Esercizi

  1. Crea due gruppi di volumi e crea volumi logici su entrambi con lo stesso nome.
  2. Aggiungi un altro volume fisico al tuo gruppo di volumi, quindi crea un volume logico che occupi l'intero gruppo di volumi. Ora prova a rimuovere uno dei volumi fisici.
  3. Prova a creare un volume logico che abbia le dimensioni esatte del gruppo di volumi.
  4. Crea un altro volume fisico su un disco, aggiungilo al tuo gruppo di volumi, quindi spegni la macchina e rimuovi il disco. Cosa significa vgdisplay dici sul disco mancante?
  5. Aggiungi nuovamente il disco precedentemente rimosso. Viene riconosciuto al prossimo avvio?

Linux
  1. Come creare LVM usando i comandi vgcreate, lvcreate e lvextend lvm2

  2. CentOS / RHEL:come trovare i volumi logici (LV) contenuti in Physical Volume (PV) in LVM

  3. Come unire 2 gruppi di volumi (VG) in uno usando vgmerge in LVM

  4. Configurazione LVM:Operazioni/Utility Volume Logico (LV).

  5. Configurazione LVM:Operazioni/Utility Volume Fisico (PV).

Aggiungere nuove partizioni, volumi logici e scambiare a un sistema in modo non distruttivo – Preparazione dell'obiettivo RHCSA

Crea e configura le directory setgid per la collaborazione – Preparazione dell'obiettivo RHCSA

Backup e ripristino di snapshot LVM su Linux

Spiegazione della gestione del volume logico su Linux

Espandere il volume logico Lvm su macchina virtuale?

Guida per principianti a LVM (Gestione del volume logico)