Skip to content

Instantly share code, notes, and snippets.

@fuentesld
Last active March 4, 2020 00:13
Show Gist options
  • Select an option

  • Save fuentesld/2864d63a3369a1069bae7019319b298d to your computer and use it in GitHub Desktop.

Select an option

Save fuentesld/2864d63a3369a1069bae7019319b298d to your computer and use it in GitHub Desktop.
LVM How to

Entregando dispotivos de almacenamiento al LVM (PV)

Estos comando deben ser ejecutados con el usuario root

Normanlment los usuarios no pueden jugar con los discos :-)

Marcar el primer disco, por completo, como PV

pvcreate /dev/sda

Marcar varias particiones como PV

pvcreate /dev/sda3 /dev/sdb1 /dev/sdc1

Marcar un dispositivo RAID por software como PV

pvcreate /dev/md0

ver información del mismo con los comandos «pvs» y «pvdisplay«:

pvcreate /dev/vda3

Writing physical volume data to disk "/dev/vda3" Physical volume "/dev/vda3" successfully created

pvs

PV VG Fmt Attr PSize PFree /dev/vda3 lvm2 a-- 400.00m 400.00m

pvdisplay /dev/vda3

"/dev/vda3" is a new physical volume of "400.00 MiB" --- NEW Physical volume --- PV Name /dev/vda3 VG Name PV Size 400.00 MiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID q2noaK-2apE-kkGe-MnNA-IzuE-ICDY-3MiKns

Creando un Grupo de Volúmenes (VG)

Creando un vg llamado "multimedia" con un PV

vgcreate multimedia /dev/vda3 Volume group "multimedia" successfully created

Creando un vg con más de un PV

vgcreate produccion /dev/sdb /dev/sdc /dev/sdd Volume group "produccion" successfully created

ver información del mismo con los comandos «vgs» y «vgdisplay«:

vgs

VG #PV #LV #SN Attr VSize VFree multimedia 1 0 0 wz--n- 396.00m 396.00m

vgdisplay

--- Volume group --- VG Name multimedia System ID Format lvm2 Metadata Areas 1 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 1 Act PV 1 VG Size 396.00 MiB PE Size 4.00 MiB Total PE 99 Alloc PE / Size 0 / 0 Free PE / Size 99 / 396.00 MiB VG UUID xuYff2-maw7-0ldW-PiLv-xZ6F-NFa3-3gNPod

Crear Volúmenes Lógicos (LV)

Un LV de 40MB en el VG multimedia para guardar música

lvcreate -L 40M -n musica multimedia

O especificando el número de PEs (de 4MB por defecto)

lvcreate -l 10 -n musica multimedia

ver información sobre el LV creado con los comandos «lvs» y «lvdisplay«:

lvs

LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert musica multimedia -wi-a--- 40.00m

lvdisplay -m

--- Logical volume --- LV Path /dev/multimedia/musica LV Name musica VG Name multimedia LV UUID KTtf7H-z5kt-68f6-8B8r-cNk0-OUBa-2cRFfe LV Write Access read/write LV Creation host, time curso, 2014-10-30 18:35:31 +0100 LV Status available

open 0

LV Size 40.00 MiB Current LE 10 Segments 1 Allocation inherit Read ahead sectors auto

  • currently set to 256 Block device 253:0

--- Segments --- Logical extent 0 to 9: Type linear Physical volume /dev/vda3 Physical extents 0 to 9

mkfs.ext4 /dev/multimedia/musica

mke2fs 1.42.5 (29-Jul-2012) ....

mount /dev/multimedia/musica /media/

df /media/

Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/multimedia-musica 39663 4587 33028 13% /media

Ampliar un PV

Originalmente el PV tenía 400MB

pvs

PV VG Fmt Attr PSize PFree /dev/vda3 multimedia lvm2 a-- 396.00m 356.00m

Se amplia la partición a 500MB y se ejecuta pvresize

pvresize /dev/vda3

Physical volume "/dev/vda3" changed 1 physical volume(s) resized / 0 physical volume(s) not resized

pvs

PV VG Fmt Attr PSize PFree /dev/vda3 multimedia lvm2 a-- 496.00m 456.00m

Ya tenemos 100MB más en el PV y por tanto en el VG

Ampliar un VG

Inicialmente el VG multimedia tiene 50MB libres y 1 PV

vgs

VG #PV #LV #SN Attr VSize VFree multimedia 1 1 0 wz--n- 496.00m 50.00m

Recuerda "marcar" el dispositivo como PV primero

pvcreate /dev/vda5

Writing physical volume data to disk "/dev/vda5" Physical volume "/dev/vda5" successfully created

Añadimos el nuevo PV al VG

vgextend multimedia /dev/vda5

Volume group "multimedia" successfully extended

Ahora nuestro VG tiene 150MB libres y 2 PVs

vgs

VG #PV #LV #SN Attr VSize VFree multimedia 2 1 0 wz--n- 592.00m 150.00m

Ampliar un LV

Nuestro LV tiene 40MB actualmente

lvs

LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert musica multimedia -wi-ao-- 40.00m

Pedimos una ampliación de 10MB

lvextend -L+10M /dev/multimedia/musica

Rounding up size to full physical extent 12.00 MiB Extending logical volume musica to 52.00 MiB Logical volume musica successfully resized

Como el tamaño de las extensiones físicas es de 4MB,

el LVM ampliará 12MB (3 PEs) en vez de los 10M solicitados.

El resultado final, 52MB

lvs

LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert musica multimedia -wi-ao-- 52.00m

df -h /mnt/

Filesystem Size Used Avail Use% Mounted on /dev/mapper/multimedia-musica 39M 4.5M 33M 13% /mnt

En función del sistema de archivos debemos usar un comando u otro:

Para XFS

xfs_growfs LV

o

xfs_growfs PM (PM -> Punto de Montaje, p.e. /mnt)

Para reiserfs

resize_reiserfs LV

o

resize_reiserfs PM

Para ext3/ext4

resize2fs LV

En nuestro caso:

resize2fs /dev/multimedia/musica

resize2fs 1.42.5 (29-Jul-2012) Filesystem at /dev/multimedia/musica is mounted on /mnt; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 Performing an on-line resize of /dev/multimedia/musica to 53248 (1k) blocks. The filesystem on /dev/multimedia/musica is now 53248 blocks long

Ahora ya tenemos los 52MB disponibles en el sistema de ficheros

df -h /mnt/

Filesystem Size Used Avail Use% Mounted on /dev/mapper/multimedia-musica 51M 4.7M 43M 10% /mnt

https://blog.inittab.org/administracion-sistemas/lvm-para-torpes-i/ https://blog.inittab.org/administracion-sistemas/lvm-para-torpes-ii/ https://blog.inittab.org/administracion-sistemas/lvm-para-torpes-iii-ampliando-espacio/

conocer datos de nuestros HDD o particiones sudo lsblk -fm

reformatear una particion mkfs -t xfs -f /dev/xvdg1*

Linux mount an LVM volume / partition command https://www.cyberciti.biz/faq/linux-mount-an-lvm-volume-partition-command/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment