GNU/Linux >> Linux Esercitazione >  >> Linux

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

La capacità di archiviazione del server è stata gestita per decenni tramite le dimensioni dell'unità disco e le configurazioni delle partizioni. Chiaramente, queste strategie funzionano bene e sono affidabili. Tuttavia, ci sono molti vantaggi nel ripensare la gestione dello storage sui server locali. Questo articolo confronta la gestione e il partizionamento dell'archiviazione standard con Logical Volume Manager (LVM). Vengono inoltre illustrati alcuni comandi di base per ogni approccio.

Gestione tradizionale dello stoccaggio

Uso la frase gestione tradizionale dell'archiviazione per descrivere il processo di partizionamento, formattazione e montaggio della capacità di archiviazione da un'unità disco fisso di base. Contrasto questo partizionamento standard con un metodo alternativo chiamato Logical Volume Manager o LVM.

Lo spazio di archiviazione viene generalmente gestito in base alla capacità massima delle singole unità disco fisso. Il risultato è che quando un amministratore di sistema pensa all'archiviazione, lo fa in base a ciascuna unità. Ad esempio, se un server ha tre unità disco rigido da 1 TB ciascuna, l'amministratore di sistema considera lo spazio di archiviazione letteralmente, Ho tre unità da 1 TB con cui lavorare .

Esaminiamo molto rapidamente la gestione dello storage tradizionale. Ecco uno scenario di esempio:

1. Installa una nuova unità disco fisso

Acquista un'unità disco fisso da un terabyte (1 TB), quindi installala fisicamente nel server.

2. Partizionare l'unità

Usa fdisk o gparted per creare una o più partizioni. È importante notare che le partizioni non possono consumare più di 1 TB totale di capacità del disco.

Esempio fdisk comando:

# fdisk /dev/sdb

Non tratterò la sintassi per fdisk in questo articolo, ma supponiamo di aver creato una singola partizione che consuma l'intero disco da 1 TB. La partizione è /dev/sdb1 .

Visualizza la capacità utilizzando /proc/partitions e lsblk contenuto:

# cat /proc/partitions
# lsblk

3. Crea un filesystem

Crea un filesystem sulla nuova partizione usando mkfs comando. Potresti usare ext4 o l'impostazione predefinita di RHEL XFS filesystem.

# mkfs.ext4 /dev/sdb1

Mentre XFS è l'impostazione predefinita di Red Hat, potrebbe non essere flessibile se combinato con LVM come ext4 . XFS i filesystem possono essere facilmente estesi ma non ridotti. Approfondirò ulteriormente l'idea verso la fine dell'articolo.

4. Crea un punto di montaggio

Il resto di questo processo è relativamente standard. Innanzitutto, crea una directory che funga da punto di montaggio. Quindi, monta manualmente la partizione sul punto di montaggio.

# mkdir /newstorage
# mount /dev/sdb1 /newstorage

5. Conferma la capacità di archiviazione

Usa il du comando per confermare che lo spazio di archiviazione è accessibile e della dimensione prevista.

# du -h /newstorage

Nota :Il -h l'opzione mostra l'output di du in termini di capacità facilmente comprensibili per gli esseri umani, come GB o TB.

6. Configura lo spazio da montare all'avvio

Modifica il /etc/fstab file per montare il filesystem all'avvio. Se hai bisogno di un promemoria su /etc/fstab , dai un'occhiata all'articolo di Tyler Carrigan Un'introduzione al file Linux /etc/fstab qui su Enable Sysadmin.

Gestione volume logico (LVM)

La capacità di archiviazione tradizionale si basa sulla capacità del singolo disco. LVM utilizza un concetto diverso. Lo spazio di archiviazione viene gestito combinando o raggruppando la capacità delle unità disponibili. Con lo storage tradizionale, tre dischi da 1 TB vengono gestiti singolarmente. Con LVM, gli stessi tre dischi sono considerati 3 TB di capacità di archiviazione aggregata. Ciò si ottiene designando i dischi di archiviazione come Volumi fisici (PV) o capacità di archiviazione utilizzabile da LVM. I PV vengono quindi aggiunti a uno o più Gruppi di volumi (VG). I VG sono suddivisi in uno o più Volumi logici (LV), che poi vengono trattati come partizioni tradizionali.

Fonte :Panoramica dell'architettura Red Hat LVM

1. Installa una nuova unità disco fisso

Ovviamente, deve essere disponibile un disco di archiviazione. Proprio come abbiamo visto sopra, devi installare fisicamente un'unità nel server.

2. Designare i volumi fisici

I volumi fisici (PV) sono dischi o partizioni disponibili per LVM come potenziale capacità di archiviazione. Hanno identificatori e metadati che descrivono ogni PV. È interessante notare che, a differenza del RAID, i PV non devono avere le stesse dimensioni o su dischi che hanno la stessa velocità. È possibile combinare e abbinare i tipi di unità per creare PV. Per implementare LVM, designa prima un'unità come volume fisico.

Comando per creare un PV:

# pvcreate /dev/sdb1
# pvcreate /dev/sdc

Questi due esempi di comandi sono leggermente diversi. Il primo comando designa la partizione 1 sul disco di archiviazione b come PV. Il secondo comando imposta la capacità totale del disco di archiviazione c come PV.

Visualizza capacità fotovoltaica e informazioni aggiuntive:

# pvdisplay

Questo comando mostra tutti i volumi fisici configurati sul server.

3. Gestisci i gruppi di volumi

Una volta che uno o più dischi sono disponibili per LVM come volumi fisici, la capacità di archiviazione viene combinata in gruppi di volumi (VG). Potrebbe esserci più di una VG su un server e i dischi possono essere membri di più di una VG (ma i PV stessi possono essere membri di una sola VG).

Usa vgcreate comando per creare un nuovo gruppo di volumi. Il VG deve avere almeno un membro. La sintassi del comando è:

vgcreate name-of-new-VG PV-members

Utilizza il comando seguente per creare un gruppo di volumi denominato vg00 con /dev/sdb1 e /dev/sdc come membri:

# vgcreate vg00 /dev/sdb1 /dev/sdc

Visualizza le informazioni per un VG denominato vg00 :

# vgdisplay vg00

4. Gestisci i volumi logici

Il VG può essere suddiviso in uno o più Volumi Logici (LV). Questi volumi logici vengono quindi utilizzati come se fossero partizioni tradizionali. Il VG ha una capacità totale, quindi una parte di tale capacità viene allocata a un volume logico.

Il lvcreate il comando ritaglia la capacità di archiviazione da un VG. Ci sono alcune opzioni di cui essere a conoscenza.

Opzioni lvcreate
Opzione Descrizione
-n Nome di LV - es. vendite-lv
-L Taglia in G o T - es. 10G
-q Silenzioso, sopprime l'output del comando
-v Modalità dettagliata che fornisce dettagli aggiuntivi

La sintassi per lvcreate il comando è il seguente:

lvcreate -L size -n lvname vgname

Ecco il comando per creare un 10 GB volume logico denominato sales-lv scolpito dal vg00 Gruppo di volumi:

# lvcreate -L 10G -n sales-lv vg00

Come ricorderete, abbiamo creato il vg00 Gruppo di volumi da due volumi fisici, /dev/sdb1 e /dev/sdc . Quindi, in sintesi, abbiamo combinato la capacità di /dev/sdb1 e /dev/sdc in vg00 , quindi ha scolpito un volume logico denominato sales-lv da quello spazio di archiviazione aggregato.

Puoi usare lvdisplay comando per vedere la configurazione del volume logico.

# lvdisplay /dev/vg00/sales-lv

5. Applica un filesystem e imposta un punto di montaggio

Una volta creato, il LV viene gestito come qualsiasi altra partizione. Ha bisogno di un filesystem e di un punto di montaggio, proprio come abbiamo configurato nella sezione di gestione delle partizioni standard sopra.

  1. Esegui mkfs.ex4 comando sulla LV.
  2. Crea un punto di montaggio utilizzando mkdir.
  3. Monta manualmente il volume usando il mount comando o modifica il /etc/fstab per montare il volume automaticamente all'avvio del sistema.
  4. Utilizza df -h comando per verificare la disponibilità della capacità di archiviazione.

[ Potrebbe piacerti anche: Introduzione a Logical Volume Manager ]

Capacità di ridimensionamento

A questo punto, abbiamo visto la configurazione di LVM, ma non siamo stati ancora in grado di vedere i numerosi vantaggi. Uno dei vantaggi delle configurazioni LVM è la capacità di scalare la capacità di storage in modo facile e veloce. Di solito, ovviamente, gli amministratori di sistema devono aumentare (aumento della capacità). Vale la pena notare che puoi anche ridurre la capacità di archiviazione con LVM. Ciò significa che se la capacità di archiviazione è sovraallocata (hai configurato molto più spazio di archiviazione del necessario), puoi ridurla. Tratterò entrambi gli scenari in questa sezione.

Iniziamo con l'aumento della capacità.

Aumenta la capacità

È possibile aggiungere capacità di archiviazione al volume logico. Ciò è utile se gli utenti consumano più spazio del previsto. Il processo è abbastanza logico:

  1. Aggiungi un disco e configuralo come PV.
  2. Aggiungilo a un VG.
  3. Aggiungi la capacità al LV e poi estendi il filesystem.

1. Installa un disco di archiviazione e quindi configuralo come PV

Per aumentare la capacità, installa un nuovo disco e configuralo come PV, secondo i passaggi precedenti. Se c'è già un disco con spazio libero disponibile, puoi sicuramente usare anche quello.

Ecco un promemoria del comando per creare un PV:

# pvcreate /dev/sdb2

In questo caso, sto designando la partizione 2 su disco /dev/sdb come il nuovo PV.

2. Aggiungi spazio al VG

Una volta che la nuova capacità è stata designata per LVM, puoi aggiungerla al VG, aumentando le dimensioni del pool.

Esegui questo comando per aggiungere un nuovo PV a un VG esistente:

# vgextend vg00 /dev/sdb2

Ora il pool di archiviazione è più grande. Il passaggio successivo consiste nell'aggiungere la capacità aumentata al volume logico specifico. È possibile allocare parte o tutto lo spazio di accumulo fotovoltaico appena aggiunto al pool al BT esistente.

3. Aggiungi spazio al LV

Successivamente, aggiungi parte o tutto il nuovo spazio di archiviazione VG al LV che deve essere espanso.

Esegui lvextend comando per estendere il LV a una determinata dimensione:

# lvextend -L3T /dev/vg00/sales-lv

Esegui lvextend comando per aggiungere 1 GB di spazio alla dimensione esistente:

# lvextend -L+1G /dev/vg00/sales-lv

4. Estendi il file system per rendere disponibile la capacità di archiviazione

Infine, estendi il file system. Entrambi ext4 e XFS supporta questa capacità, quindi entrambi i filesystem vanno bene.

Smonta il filesystem usando umount comando:

# umount /newstorage

Ecco il comando di base per ext4 :

# resize2fs /dev/vg00/sales-lv 3T

Ridurre la capacità

La riduzione dello spazio di archiviazione è un'attività meno comune, ma vale la pena notare. Il processo avviene nell'ordine opposto rispetto all'espansione dello spazio di archiviazione.

Nota :XFS i filesystem non sono effettivamente ridotti. Invece, esegui il backup del contenuto e quindi ripristinalo su un LV ridimensionato. Puoi usare xfsdump utilità per realizzare questo. Il ext4 il filesystem può essere ridotto. Questo è il filesystem su cui mi concentro in questa sezione. Come abbiamo visto sopra con l'estensione del filesystem, il volume deve essere smontato. Il comando esatto varierà a seconda del tuo nome LV.

# umount /dev/vg00/sales-lv

1. Riduci il filesystem

Quindi, usa il resize2fs comando per ridurre la dimensione del filesystem. Si consiglia di eseguire fsck su ext4 filesystem prima di ridurli. Si consiglia inoltre di eseguire il backup dei dati sul LV nel caso si verifichi qualcosa di imprevisto.

Ecco un esempio di riduzione di un ext4 filesystem:

# resize2fs /dev/vg00/sales-lv 3T

Nota :non puoi ridurre un filesystem a una dimensione inferiore alla quantità di dati memorizzati su di esso.

2. Riduci il LV

Usa lvreduce comando per ridurre lo spazio di archiviazione allocato al BT. Ciò restituisce la capacità di archiviazione potenziale al VG.

# lvreduce -L 2T vg00/sales-lv

È fondamentale rendersi conto che il comando precedente imposta il sales-lv a 2T . non rimuovere due terabyte dal LV esistente. Configura il LV a due terabyte. È possibile dire a lvreduce per sottrarre una quantità di spazio dalla capacità esistente utilizzando un comando molto simile:

# lvreduce -L -2T vg00/sales-lv

In questo caso, ho aggiunto un - (trattino) prima del 2T size, indicando che voglio che la quantità di spazio venga sottratta dal sales-lv esistente capacità. La differenza tra i due comandi è piccola ma importante.

Ora hai la capacità restituita al VG per l'utilizzo in un altro LV. È possibile utilizzare i comandi extend discussi in precedenza per riallocare questa capacità. Il VG può anche essere ridotto.

Flessibilità

La capacità può anche essere facilmente riallocata con LVM. Puoi ridurre la capacità in un VG e aggiungerlo a un altro. Ciò si ottiene riducendo il filesystem e quindi rimuovendo LV dal VG. Supponiamo che tu abbia un server con 10 TB di capacità. Utilizzando i processi di cui sopra, hai creato due LV di 5 TB ciascuno. Dopo alcune settimane, scopri che avresti dovuto creare invece LV di 7 TB e 3 TB. Puoi rimuovere 2 TB di capacità da uno dei gruppi di volumi e quindi aggiungere tale capacità all'altro VG. Questa è molto più flessibilità rispetto alle tradizionali offerte di partizionamento.

LVM supporta anche configurazioni RAID, mirroring e altre impostazioni avanzate che lo rendono una soluzione ancora più interessante. L'articolo di Tyler Carrigan Creazione di volumi logici in Linux con LVM contiene alcune buone informazioni sullo striping e il mirroring dei volumi logici.

[ Vuoi testare le tue capacità di amministratore di sistema? Fai una valutazione delle abilità oggi. ] 

Concludi

Logical Volume Manager è un ottimo modo per aggiungere flessibilità alle tue esigenze di archiviazione e in realtà non è molto più complicato della tradizionale gestione delle unità. Sul sito di Red Hat è disponibile un'ottima documentazione e anche i corsi di formazione ufficiali la coprono in modo molto efficace.

Una delle cose che apprezzo di LVM è la struttura logica dei comandi. La maggior parte dei comandi di gestione sono correlati e quindi relativamente facili da ricordare. Il punto della tabella seguente è non per riassumere i comandi, ma per farvi notare che i comandi sono tutti molto simili e quindi facili da usare:

Comandi simili sono usati per gestire i componenti LVM
Comando Descrizione
pvcreate Crea volume fisico
pvdisplay Visualizza informazioni sul volume fisico
pvs Visualizza informazioni sul volume fisico
pvremove Rimuovi volume fisico
vgcreate Crea gruppo di volumi
vgdisplay Visualizza le informazioni sul gruppo di volumi
vgs Visualizza le informazioni sul gruppo di volumi
vgremove Rimuovi gruppo di volumi
vgextend/vgreduce Estendi o riduci il gruppo di volume
lvcreate Crea volume logico
lvdisplay Visualizza le informazioni sul volume logico
lvs Visualizza le informazioni sul volume logico
lvremove Rimuovi volume logico
lvextend/lvextend Estendi o riduci il volume logico

La prossima volta che stai in piedi su un file server locale, prendi in considerazione l'utilizzo di LVM invece delle tradizionali tecniche di gestione dello storage. Potresti ringraziare te stesso per mesi o anni in quanto è necessario regolare la capacità di archiviazione del server.


Linux
  1. Come creare un filesystem su una partizione Linux o un volume logico

  2. Utilizzo di Ansible per automatizzare le configurazioni di Logical Volume Manager

  3. Come ridurre un volume LVM su Ubuntu

  4. Intel Matrix Storage Manager vs Linux Software RAID

  5. Crea partizione (partizione standard vs volume fisico LVM) nell'installazione di CentOS

Come gestire lo storage su Linux con LVM

Come creare un gruppo di volumi in Linux con LVM

Come ridimensionare un volume logico con 5 semplici comandi LVM

Backup e ripristino di snapshot LVM su Linux

Spiegazione della gestione del volume logico su Linux

Quali sono i vantaggi del Logical Volume Manager