Administració de discos amb LVM

Què és LVM?

El LVM (Logical Volume Manager) serveix per gestionar espai d’emmagatzematge de forma flexible (crear, ampliar o reduir volums lògics sense haver de tornar a particionar).

És un sistema que va un pas més endavant de la gestió de discos habitual. Aquesta és una capa d'abstracció que ens permet agrupar (i desagrupar) múltiples dispositius físics o particions en un conjunt (pool) i després distribuir i redimensionar espai de forma flexible.

El concepte clau és que, amb LVM els discos deixen de ser blocs separats per convertir-se en part d'un conjunt. Des del punt de vista de l'usuari no importa la quantitat de discos físics que hi ha, sinó la suma de capacitats d'aquests.

Conceptes clau

Alguns termes bàsics són els següents:

  • Volum físic (PV - Physical Volume): Partició de disc dur (o fins i tot el propi disc o arxius en bucle) en el qual es pot tenir grups de volums. S’assignen metadades LVM sobre ell.

  • Grup de volums (VG - Volume Groups): Grup de volums físics utilitzats com un volum d'emmagatzematge (com un disc de discos o particions). Contenen els volums lògics. Penseu en els grups de volums com discs durs.

  • Volums lògics (LV - Logical Volume): Una partició lògica que resideix en un grup de volums i es compon d'extensions físiques. Penseu en els volums lògics com particions normals.

  • Extensió física (PE - Physical Extent): La mida més petita en el volum físic que es pot assignar a un volum lògic (4 MiB per defecte). Penseu d'extensions físiques com a parts de discos que es poden assignar a qualsevol partició.

Veiem: Volum físic (PV), Grup de volums (VG), Grup de volums físics, Volums lògics (LV), Extensió física (PE).

En aquest cas es pot observar tota l'estructura LVM en una simulació de punts de muntatge Linux. Tenim 2 discos, cada disc amb 2 particions.

En realitat podríem fer servir punts de muntatge que estiguin en diversos discos a la vegada. Al següent exemple, es mostra una estructura amb dos discos (a i b), en què cada volum lògic es troba a particions físiques dels dos discos.

Característiques

  • Pot agrupar qualsevol nombre de discs com un gran disc.

  • Tenir volums lògics repartits sobre diversos discos.

  • Crear petits volums lògics i canviar la seva mida “dinàmicament”, tan bon punt s'omplen.

  • Canviar la mida dels volums lògics independentment de la seva posició en el disc.

  • Redimensionar/crear/esborrar els volums lògics i físics en línia i en calent (amb ext4 i ext5, btrfs, també xfs, però només expandir).

  • La migració en línia/en viu de LV, metre són utilitzats pels serveis, a diferents discos sense repercussions pels serveis.

  • Les instantànies (snapshots) que permeten fer còpies de seguretat del sistema de fitxers, amb les mínimes conseqüències en l’activitat del servei.

  • Suport de xifratge del sistema de fitxers.

Comandes bàsiques de LVM

Abans de començar, s'ha de tenir en compte que les mides es poden indicar de diverses maneres:

  • En unitats de Bytes (Exemple: -L 20G)

  • Extensions físiques (Exemple: -l 500)

  • Percentatge d'espai (Exemple: -l 100%FREE).

Comandes de visualització/consulta

Comanda
Descripció
Exemple

pvdisplay

Mostra informació sobre un volum físic.

pvdisplay /dev/sdb1, on es visualitza la informació de partició 1 de disc b.

vgdisplay

Mostra informació sobre un grup de volums.

vgdisplay vg_data on vg_data és el Grup de Volums

lvdisplay

Mostra informació sobre un volum lògic.

lvdisplay /dev/vg_data/lv_home que detalla l’estat del volum lv_var

pvs

Mostra tots els PV amb informació resumida. Versió reduïda de pvdisplay

pvs

vgs

Mostra tots els grups de volum de manera resumida. També surt informació de l'espai. Versió reduïda de vgdisplay

vgs

lvs

Mostra tots els volums lògics del sistema de manera resumida. Versió reduïda de lvdisplay

lvs

lvscan

Escaneja i mostra tots els volums lògics actius

lvscan

vgscan

Escaneja tots els grups de volum disponibles

vgscan

pvscan

Escaneja tots els volums físics disponibles

pvscan

Comandes de Creació

Comanda
Descripció
Exemple

pvcreate

Converteix un dispositiu o partició en un volum físic per LVM.

pvcreate /dev/sdb1, marca la partició sdb1 com a LVM

vgcreate

Agrupa un o més PV en un grup de volums.

vgcreate vg_backup /dev/sdc1 /dev/sdd1 , crea vg_backup amb els PVs sdc1 i sdc2.

lvcreate

Crea un volum lògic dins d’un VG amb una mida determinada. Aquesta pot ser en unitats de Bytes (-L 20G), extensions físiques (-l 500) o percentatge d'espai (-l 100%FREE).

lvcreate -L 5G -n lv_backup vg_backup , crea un volum lògic de 5 GiB dins vg_backup.

Comandes de modificació (ampliació / reducció)

Comanda
Descripció
Exemple

vgextend

Afegeix un PV a un grup de volums existent.

vgextend vg_backup /dev/sde1, afegeix /dev/sde1 al grup vg_backup

vgreduce

Treu un PV (prèviament buidat) d’un grup de volum.

vgreduce vg_backup /dev/sde1 , retira /dev/sde1 de vg_data.

lvextend

Augmenta (+) o es redimensiona la mida d'un volum lògic.

lvextend -L +5G /dev/vg_backup/lv_home, afegeix 5 GiB al volum lv_home lvextend -L 15G /dev/vg_backup/lv_home - redimensiona (augmenta) la mida del volum lv_home a 15GiB

lvreduce

Es redueix o es redimensiona la mida d'un volum lògic.

lvreduce -L -5G /dev/vg_backup/lv_home, redueix 5 GiB al volum lv_home lvreduce -L 15G /dev/vg_backup/lv_home - redimensiona (redueix) la mida del volum lv_home a 15GiB

lvresize

Redimensiona el volum (ampliar o reduir).

lvresize -L +5G /dev/vg_backup/lv_home, afegeix 5 GiB al volum lv_home

lvresize -L -5G /dev/vg_backup/lv_home, treu 5 GiB al volum lv_home lvextend -L 15G /dev/vg_backup/lv_home, redimensiona la mida del volum lv_home a 15GiB

Comandes d'eliminació

Comanda
Descripció
Exemple

lvremove

Elimina el volum lògic especificat.

lvremove /dev/vg_backup/lv_backup, suprimeix el LV anomenat lv_backup

vgremove

Elimina un grup de volum (no a contenir cap LV)

vgremove vg_backup, elimina el grup vg_backup (Recorda: no ha de contenir volums)

pvremove

Desvincula un dispositiu/partició del LVM.

pvremove /dev/sde1, fa que /dev/sde1 deixi de ser PV.

Altres comandes útils durant les operacions amb LVM

Hi ha comandes que es fan servir durant les operacions amb volums LVM, però que no formen part del paquet. Algunes d'elles ja venen preinstal·lades amb els sistemes GNU/Linux.

Tot i que segons les circumstàncies en puguem fer servir d'altres, a continuació, es llisten algunes comandes molt comunes.

Comanda
Descripció
Exemple

fdisk

Eina clàssica per gestionar particions. En permet veure particions, crear, eliminar, canviar el tipus...

fdisk -l /dev/sda , llista les particions del disc /dev/sda

lsblk

Mostra l'arbre de discs/particions, punts de muntatge, mides, relacions...

lsblk -f, mostra el sistema de fitxers, UUID i tipus per a cada partició/dispositiu.

df

Mostra espai usat i disponible dins dels sistemes de fitxers muntats.

df -h, mostra espai usat i lliure global.

resize2fs

Eina per redimensionar sistemes de fitxers tipus ext.

resize2fs /dev/sde1, redimensionar el sistema de fitxers a tot l’espai lliure de la partició /dev/sde1.

fsck

Comprovar i reparar errors en sistemes de fitxers. La partició no ha d'estar muntada.

fsck -f /dev/sde2, força la comprovació del sistema de fitxers de la partició /dev/sde1. fsck.ext4 -p /dev/sde2, comprava el sistema de fitxers ext4 de la partició /dev/sde2, indicant que es reparin automàticament els errors.

e2fsck

L'eina de baix nivell invocada amb fsck

e2fsck -n /dev/sde1, comprova el sistema de fitxers de la partició /dev/sde1. En aquest cas, ho fa només en mode lectura; no farà reparacions, només informarà. Més segur per a sistemes muntats.

Documentació i altres recursos

Última actualización