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
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ó
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ó)
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ó
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.
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
Red Hat Documentation: Logical Volume Manager Administration
SomeBooks: Qué es LVM
Última actualización