GNU/Linux >> Linux Esercitazione >  >> Linux

Aggiungi spazio di archiviazione con LVM

Logical Volume Manager (LVM) consente un livello di astrazione tra il sistema operativo e l'hardware. Normalmente, il tuo sistema operativo cerca i dischi (/dev/sda/dev/sdb e così via) e partizioni all'interno di quei dischi (/dev/sda1/dev/sdb1 , e così via).

In LVM, viene creato uno strato virtuale tra il sistema operativo ei dischi. Invece di un'unità che contiene un certo numero di partizioni, LVM crea un pool di archiviazione unificato (chiamato Gruppo di volumi ) che si estende su un numero qualsiasi di unità fisiche (denominate Volumi fisici ). Utilizzando lo spazio di archiviazione disponibile in un gruppo di volumi, LVM fornisce quelli che sembrano essere dischi e partizioni al tuo sistema operativo.

E il sistema operativo è completamente ignaro di essere stato "ingannato".

Poiché LVM crea virtualmente gruppi di volumi e volumi logici, semplifica il ridimensionamento, lo spostamento o la creazione di nuovi volumi, anche mentre il sistema è in esecuzione. Inoltre, LVM fornisce funzionalità che non sono altrimenti presenti, come la creazione di snapshot live di volumi logici, senza prima smontare il disco.

Un gruppo di volumi in un LVM è un contenitore virtuale denominato che raggruppa i dischi fisici sottostanti. Funge da pool da cui è possibile creare volumi logici di diverse dimensioni. I volumi logici contengono il file system effettivo e possono estendersi su più dischi e non è necessario che siano fisicamente contigui.

Più risorse Linux

  • Comandi Linux cheat sheet
  • Cheat sheet sui comandi avanzati di Linux
  • Corso online gratuito:Panoramica tecnica RHEL
  • Cheat sheet della rete Linux
  • Cheat sheet di SELinux
  • Cheat sheet dei comandi comuni di Linux
  • Cosa sono i container Linux?
  • I nostri ultimi articoli su Linux

Caratteristiche

  • I nomi delle partizioni normalmente hanno designazioni di sistema come /dev/sda1 . I volumi LVM hanno nomi normali comprensibili dall'uomo, come homemedia .
  • La dimensione totale delle partizioni è limitata dalla dimensione del disco fisico sottostante. In LVM, i volumi possono estendersi su più dischi e sono limitati solo dalla dimensione totale di tutti i dischi fisici nell'LVM.
  • Le partizioni normalmente possono essere ridimensionate, spostate o eliminate solo quando il disco non è in uso ed è smontato. I volumi LVM possono essere manipolati mentre il sistema è in esecuzione.
  • Le partizioni possono essere espanse solo assegnando loro spazio libero adiacente alla partizione. I volumi LVM possono occupare spazio libero da qualsiasi luogo.
  • L'espansione di una partizione comporta lo spostamento dei dati per liberare spazio, il che richiede molto tempo e potrebbe causare la perdita di dati durante un'interruzione di corrente. I volumi LVM possono occupare spazio libero da qualsiasi punto del gruppo di volumi, anche su un altro disco.
  • Poiché è così facile creare volumi in un LVM, incoraggia la creazione di volumi diversi, come la creazione di volumi separati per testare funzionalità o per provare sistemi operativi diversi. Con le partizioni, questo processo richiederebbe molto tempo e sarebbe soggetto a errori.
  • Gli snapshot possono essere creati solo in un LVM. Consente di creare un'immagine point-in-time del volume logico corrente, anche mentre il sistema è in esecuzione. Questo è ottimo per i backup.

Impostazione di prova

A titolo dimostrativo, supponi che il tuo sistema abbia la seguente configurazione dell'unità:

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
`-xvda1 202:1    0   8G  0 part /
xvdb    202:16   0   1G  0 disk
xvdc    202:32   0   1G  0 disk
xvdd    202:48   0   2G  0 disk
xvde    202:64   0   5G  0 disk
xvdf    202:80   0   8G  0 disk

Passaggio 1. Inizializza i dischi da utilizzare con LVM

Esegui pvcreate /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf . L'output dovrebbe essere:

Physical volume "/dev/xvdb" successfully created
Physical volume "/dev/xvdc" successfully created
Physical volume "/dev/xvdd" successfully created
Physical volume "/dev/xvde" successfully created
Physical volume "/dev/xvdf" successfully created

Guarda il risultato utilizzando pvspvdisplay :

"/dev/xvde" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/xvde
VG Name
PV Size               5.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               728JtI-ffZD-h2dZ-JKnV-8IOf-YKdS-8srJtn

"/dev/xvdb" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/xvdb
VG Name
PV Size               1.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               zk1phS-7uXc-PjBP-5Pv9-dtAV-zKe6-8OCRkZ

"/dev/xvdd" is a new physical volume of "2.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/xvdd
VG Name
PV Size               2.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               R0I139-Ipca-KFra-2IZX-o9xJ-IW49-T22fPc

"/dev/xvdc" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/xvdc
VG Name
PV Size               1.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               FDzcVS-sq22-2b13-cYRj-dXHf-QLjS-22Meae

"/dev/xvdf" is a new physical volume of "8.00 GiB"
--- NEW Physical volume ---
PV Name               /dev/xvdf
VG Name
PV Size               8.00 GiB
Allocatable           NO
PE Size               0
Total PE              0
Free PE               0
Allocated PE          0
PV UUID               TRVSH9-Bo5D-JHHb-g0NX-8IoS-GG6T-YV4d0p

Passaggio 2. Crea il gruppo di volumi

Esegui vgcreate myvg /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf . Guarda i risultati con vgsvgdisplay :

--- Volume group ---
VG Name               myvg
System ID
Format                lvm2
Metadata Areas        5
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                5
Act PV                5
VG Size               16.98 GiB
PE Size               4.00 MiB
Total PE              4347
Alloc PE / Size       0 / 0
Free  PE / Size       4347 / 16.98 GiB
VG UUID               ewrrWp-Tonj-LeFa-4Ogi-BIJJ-vztN-yrepkh

Fase 3:crea volumi logici

Esegui i seguenti comandi:

lvcreate myvg --name media --size 4G
lvcreate myvg --name home --size 4G

Verifica i risultati utilizzando lvslvdisplay :

--- Logical volume ---
LV Path                /dev/myvg/media
LV Name                media
VG Name                myvg
LV UUID                LOBga3-pUNX-ZnxM-GliZ-mABH-xsdF-3VBXFT
LV Write Access        read/write
LV Creation host, time ip-10-0-5-236, 2017-02-03 05:29:15 +0000
LV Status              available
# open                 0
LV Size                4.00 GiB
Current LE             1024
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           252:0

--- Logical volume ---
LV Path                /dev/myvg/home
LV Name                home
VG Name                myvg
LV UUID                Hc06sl-vtss-DuS0-jfqj-oNce-qKf6-e5qHhK
LV Write Access        read/write
LV Creation host, time ip-10-0-5-236, 2017-02-03 05:29:40 +0000
LV Status              available
# open                 0
LV Size                4.00 GiB
Current LE             1024
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           252:1

Fase 4:crea il file system

Crea il file system usando:

mkfs.ext3 /dev/myvg/media
mkfs.ext3 /dev/myvg/home

Montalo:

mount /dev/myvg/media /media
mount /dev/myvg/home /home

Visualizza la configurazione completa utilizzando lsblk :

NAME         MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda         202:0    0   8G  0 disk
`-xvda1      202:1    0   8G  0 part /
xvdb         202:16   0   1G  0 disk
xvdc         202:32   0   1G  0 disk
xvdd         202:48   0   2G  0 disk
xvde         202:64   0   5G  0 disk
`-myvg-media 252:0    0   4G  0 lvm  /media
xvdf         202:80   0   8G  0 disk
`-myvg-home  252:1    0   4G  0 lvm  /home

Fase 5:estensione dell'LVM

Aggiungi un nuovo disco in /dev/xvdg . Per estendere la home volume, esegui i seguenti comandi:

pvcreate /dev/xvdg
vgextend myvg /dev/xvdg
lvextend -l 100%FREE /dev/myvg/home
resize2fs /dev/myvg/home

Esegui df -h e dovresti vedere la tua nuova taglia riflessa.

E questo è tutto!

LVM consente un'estrema flessibilità nella configurazione dello storage. Provalo e divertiti con LVM!

Questo articolo è stato originariamente pubblicato sul blog personale dell'autore ed è stato adattato previa autorizzazione.


Linux
  1. Configurazione dell'archiviazione locale in Linux con Stratis

  2. Configurazione dell'archiviazione a blocchi sui server Linux

  3. Configurazione dell'archiviazione a blocchi sui server Windows

  4. CentOS / RHEL:come migrare lo storage (LVM) con pvmove Command

  5. CentOS / RHEL:come aggiungere volume fisico (PV) a un gruppo di volumi (VG) in LVM

Come aggiungere memoria esterna a ownCloud 9

Impara LVM su Linux con strumenti grafici

Una guida sugli snapshot LVM con ext4 su CentOS 7

Come creare un gruppo di volumi in Linux con LVM

Logical Volume Manager (LVM) rispetto al partizionamento standard in Linux

Come ridimensionare un volume logico con 5 semplici comandi LVM