GNU/Linux >> Linux Esercitazione >  >> Cent OS

Guida per principianti a LVM (Gestione del volume logico)

Cos'è LVM

Logical Volume Manager (LVM) introduce un livello aggiuntivo tra i dischi fisici e il file system consentendo di:
– ridimensionare e spostare facilmente e online senza richiedere un'interruzione a livello di sistema.
– Utilizzo discontinuo spazio su disco
– nomi significativi per i volumi, anziché i soliti nomi criptici dei dispositivi.
– si estende su più dischi fisici

Linux LVM è molto simile a HP-UX LVM e fornisce molte altre funzionalità avanzate come snapshot, supporto cluster (GFS2, OCFS e Lustre).

Concetti

LVM comprende pochi livelli concettuali come volume fisico, volume logico e file system.

Gli strati concettuali sono a loro volta costituiti da unità più piccole come le estensioni fisiche (in caso di volumi fisici) e le estensioni logiche (in caso di volumi logici).

Volume fisico (PV)

Ogni volume fisico può essere una partizione del disco, un intero disco, un meta-dispositivo o un file di loopback. Usa il comando pvcreate per inizializzare lo storage per l'uso da parte di LVM. L'inizializzazione di un dispositivo a blocchi come volume fisico inserisce un'etichetta all'inizio del dispositivo.

Gruppo di volumi (VG)

Un gruppo di volumi riunisce una raccolta di volumi logici e volumi fisici in un'unica unità amministrativa. Il gruppo di volumi è suddiviso in estensioni fisiche di dimensioni fisse. Il comando vgcreate crea un nuovo gruppo di volumi utilizzando il percorso del volume fisico del dispositivo speciale di blocco precedentemente configurato per LVM con pvcreate.
– I VG sono costituiti da PV, che a loro volta sono costituiti da estensioni fisiche (PE). La dimensione di PE può variare in diversi VG ed è definita al momento della creazione del VG.
– La dimensione predefinita di PE è 4 MB, ma puoi modificarla al valore desiderato al momento della creazione del VG.
– Generalmente, maggiore è la dimensione del PE, migliori sono le prestazioni (sebbene un controllo meno granulare di LV).

Volume logico (LV)

Un volume logico è l'equivalente concettuale di una partizione del disco in un sistema non LVM. I volumi logici sono dispositivi a blocchi creati dalle estensioni fisiche presenti nello stesso gruppo di volumi. Puoi usare il comando lvcreate per creare un volume logico in un gruppo di volumi esistente.

File system

I file system sono costruiti su volumi logici. Il comando mkfs può essere utilizzato per creare file system su un volume logico. Una volta creato il file system, possiamo montare il volume logico secondo le nostre esigenze.

Iniziamo

L'esempio
Nell'esempio seguente vorremmo:
1. Crea 3 volumi fisici da 3 dischi fisici (/dev/sdb, /dev/sdc, /dev/sdd ).
2. Crea un gruppo di volumi da questi 3 PV (/dev/vg01 ).
3. Crea un volume Lgical in questo VG (/dev/vg01/lvol01 ).
4. Crea un file system su questo LV e montalo (/data01 ).

Crea volumi fisici

Il pvcreate Il comando viene utilizzato per inizializzare il PV per l'uso da parte di LVM. Prima di creare il PV, assicurati che il disco sia visibile nel sistema operativo. Per eseguire la scansione dei dispositivi a blocchi da utilizzare come PV, utilizzare lvmdiskscan comando.

# lvmdiskscan
.......
  /dev/sdb   [       2.00 GiB]
  /dev/sdc   [       2.00 GiB]
  /dev/sdd   [       2.00 GiB]
  3 disks
  19 partitions
  0 LVM physical volume whole disks
  0 LVM physical volumes

Inizializza i dispositivi a blocchi :

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

Visualizza volumi fisici
Utilizza i comandi pvdisplay , pvs e pvscan per visualizzare i PV che abbiamo appena creato.

# pvdisplay
  "/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               Mt3F7z-a2AV-28Vn-uXe2-QejE-Z6tP-UMlQGM

  "/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               5m1Fuc-yTRn-I2vG-bMfU-6SE7-53EA-s8VQjt

  "/dev/sdd" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdd
  VG Name
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               1x3e2A-C0Lt-DrUA-tPSM-lsMu-sn70-qg1j8p
# pvscan
  PV /dev/sdb                      lvm2 [2.00 GiB]
  PV /dev/sdc                      lvm2 [2.00 GiB]
  PV /dev/sdd                      lvm2 [2.00 GiB]
  Total: 3 [6.00 GiB] / in use: 0 [0   ] / in no VG: 3 [6.00 GiB]
# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb        lvm2 a--  2.00g 2.00g
  /dev/sdc        lvm2 a--  2.00g 2.00g
  /dev/sdd        lvm2 a--  2.00g 2.00g

Crea un gruppo di volumi

Usa vgcreate comando per creare il nuovo gruppo di volumi vg01 utilizzando i 3 PV che abbiamo appena creato. Possiamo specificare le estensioni con -s opzione e numero massimo di PV e LV nel VG utilizzando le opzioni -p e -l rispettivamente. Tutte queste opzioni sono opzionali e non devono essere necessariamente utilizzate.

# vgcreate vg01 /dev/sdb /dev/sdc /dev/sdd
  Volume group "vg01" successfully created

Le opzioni facoltative utilizzate con il comando vgcreate sono:

Opzione Significato
-s Dimensione dell'estensione fisica
-p Numero massimo di PV
-l Numero massimo di LV
–alloc politica di allocazione (contigua, ovunque o aggrappata)

Visualizzazione delle informazioni VG
I comandi vgs e vgdisplay possono essere utilizzati per visualizzare le informazioni sul VG appena creato :

# vgs vg01
  VG   #PV #LV #SN Attr   VSize VFree
  vg01   3   0   0 wz--n- 5.99g 5.99g
# vgdisplay vg01
  --- Volume group ---
  VG Name               vg01
  System ID
  Format                lvm2
  Metadata Areas        3
  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                3
  Act PV                3
  VG Size               5.99 GiB
  PE Size               4.00 MiB
  Total PE              1533
  Alloc PE / Size       0 / 0
  Free  PE / Size       1533 / 5.99 GiB
  VG UUID               Cw7GGz-NH3o-Sax2-5jPv-buZS-938T-tmNKFa

Attivazione e disattivazione di VG
Il vgchange il comando può essere utilizzato per attivare/disattivare un gruppo di volumi.
Per disattivare un VG :

# vgchange -a n vg01
  0 logical volume(s) in volume group "vg01" now active

Per attivare un VG :

# vgchange -a y vg01
  1 logical volume(s) in volume group "vg01" now active

Crea volume logico

Il volume logico ora può essere creato nel VG utilizzando il comando lvcreate .
– Se non specifichi il nome LV nel comando, per impostazione predefinita al LV viene assegnato il nome lvol# .
– Normalmente se non si specifica quale PV coprire il LV, il volume logico verrà creato sul PV su base successiva.
– Per creare un volume logico lvol01 di dimensione 5 GB:

# lvcreate -L 5G -n lvol01 vg01
  Logical volume "lvol01" created

Creazione di un volume a strisce
Per creare un volume a strisce che copra tutti e 3 i PV che abbiamo creato :

# lvcreate -L 5G -I 4096 -i 3 -n lvol01 vg01
  Rounding size (1280 extents) up to stripe boundary size (1281 extents)
  Logical volume "lvol01" created
I - PVs to span while creating striped volume
i - stripe unit

Creazione del volume con mirroring
Per creare un volume con mirroring a 3 vie che copre i 3 PV (sdb, sdc, sdd):

# lvcreate -L 1G -m 2 -n lvol01 vg01
  Logical volume "lvol01" created

Possiamo anche specificare quali dispositivi utilizzare durante la creazione del mirroring LV. Nel nostro caso, poiché avevamo solo 3 PV nel VG, il LV viene creato per impostazione predefinita su questi 3 PV.

Visualizzazione delle informazioni LV
I comandi lvdisplay , liv e lvscan può essere utilizzato per visualizzare le informazioni sul LV appena creato.

# lvs /dev/vg01/lvol01
  LV     VG   Attr      LSize Pool Origin Data%  Move Log         Cpy%Sync Convert
  lvol01 vg01 mwi-a-m-- 1.00g                         lvol01_mlog   100.00
# lvdisplay /dev/vg01/lvol01
  --- Logical volume ---
  LV Path                /dev/vg01/lvol01
  LV Name                lvol01
  VG Name                vg01
  LV UUID                ptlmAV-mO42-fWiJ-e2Ml-r9kj-PFcC-MOexxw
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2014-10-22 09:04:25 -0700
  LV Status              available
  # open                 0
  LV Size                1.00 GiB
  Current LE             256
  Mirrored volumes       3
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4
# lvscan
  ACTIVE            '/dev/vg01/lvol01' [1.00 GiB] inherit

Creazione del file system

Il passaggio finale è creare un file system sul nuovo LV che abbiamo appena creato e montarlo su una directory per potervi accedere e memorizzare i dati al suo interno. Il comando mkfs può essere utilizzato per creare file system sopra il LV.

# mkfs.ext4 /dev/vg01/lvol01
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Il volume logico può essere montato, una volta creato il file system. Assicurati di aggiungere una voce a /etc/fstab , in modo che venga montato automaticamente all'avvio del sistema.

# mkdir /data01
# mount /dev/vg01/lvol01 /data01
# vi /etc/fstab
/dev/vg01/lvol01	/data01			ext4	defaults	0 0
# df -h /data01
Filesystem                   Size  Used  Avail  Use%  Mounted on
/dev/mapper/vg01-lvol01     1008M   34M  924M   4%    /data01

Lo strumento grafico per gestire LVM

È disponibile un fantastico strumento grafico (system-config-lvm ) nel caso si desideri utilizzare. Se non è già installato sul sistema, installalo usando yum:

# yum install system-config-lvm

Per avviare lo strumento di amministrazione di Graphical LVM, lancia il comando :

# system-config-lvm

Configurazione LVM:Operazioni/Utilità Logical Volume (LV)
Configurazione LVM:Operazioni/Utility Volume Group (VG)
Configurazione LVM:Operazioni/Utilità Physical Volume (PV)


Cent OS
  1. Come creare un volume fisico in Linux usando LVM

  2. Creazione di volumi logici in Linux con LVM

  3. Ridurre la radice utilizzando la gestione logica del volume?

  4. Come attivare un volume fisico LVM “SOSPESO”.

  5. Come rimuovere il disco da un gruppo di volumi LVM

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

Una guida sugli snapshot LVM con ext4 su CentOS 7

Gestione del volume logico

Backup e ripristino di snapshot LVM su Linux

Spiegazione della gestione del volume logico su Linux

Espandere il volume logico Lvm su macchina virtuale?