LVM [P2.2], llevemos las particiones al próximo nivel

por | 3 diciembre, 2021

Continuando con la parte anterior, ahora veremos la manipulación de los LV

Pequeño recordatorio

En el post anterior dejamos configurado 2 PV, /dev/sda y /dev/sdb1 y creamos un VG con nombre MIVG como podemos observar con los comandos «pvscan» y «vgs»

$ sudo pvscan
  PV /dev/sda                       lvm2 [<7.27 GiB]
  PV /dev/sdb1                      lvm2 [<3.71 GiB]
  Total: 2 [10.97 GiB] / in use: 0 [0   ] / in no VG: 2 [10.97 GiB]

$ sudo vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  MIVG   2   0   0 wz--n- <10.97g <10.97g

Creación de LV

Ya recordado como dejamos nuestra configuración procederemos a crear los LV, que, en términos simples es donde definimos las particiones que usará el sistema de archivos y será el espacio de almacenamiento que podremos usar.

Para esto tenemos una base del comando la cual es

$sudo lvcreate [-L|-l] [opcion][Nombre de VG] -n [Nombre del LV] 

En el primer argumento definimos el tamaño del LV que vamos a crear, en este caso podemos usar la opción -L o -l, la diferencia radica que el primero, -L, definirá un espacio fijo para el LV y el segundo podrá ser un porcentaje agregando a continuación del numero «%FREE». Veamos unos ejemplos, creare 3 LV usando distintas opciones para definir el tamaño, primero creare un LV con el 30% de espacio libre, luego creare un LV de tamaño fijo de 5Gb y finalmente nuevamente un LV con el 50% disponible

$ sudo lvcreate MIVG -n PrimerLV -l +30%FREE
  Logical volume "PrimerLV" created.
$ sudo lvcreate MIVG -n SegundoLV -L 5G
  Logical volume "SegundoLV" created.
$ sudo lvcreate MIVG -n TercerLV -l +50%FREE
  Logical volume "TercerLV" created.

En el siguiente apartado veremos que tamaños tienen nuestros LVs

Validación de LV

Al igual que en los 2 casos anteriores los comandos son «lvdisplay» y «lvs»

$ sudo lvdisplay
  --- Logical volume ---
  LV Path                /dev/MIVG/PrimerLV
  LV Name                PrimerLV
  VG Name                MIVG
  LV UUID                Zz8e8p-D4Lz-ZJsU-92FN-8IS9-u20a-8KpMBT
  LV Write Access        read/write
  LV Creation host, time raspberrypi, 2021-10-29 01:48:05 +0100
  LV Status              available
  # open                 0
  LV Size                <3.29 GiB
  Current LE             842
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0

  --- Logical volume ---
  LV Path                /dev/MIVG/SegundoLV
  LV Name                SegundoLV
  VG Name                MIVG
  LV UUID                jIZoAf-42uj-t0SN-nzw4-Vx4a-h4nv-P0H92P
  LV Write Access        read/write
  LV Creation host, time raspberrypi, 2021-10-29 01:49:09 +0100
  LV Status              available
  # open                 0
  LV Size                5.00 GiB
  Current LE             1280
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:1

  --- Logical volume ---
  LV Path                /dev/MIVG/TercerLV
  LV Name                TercerLV
  VG Name                MIVG
  LV UUID                Al1W0s-P2Nx-P74E-oMH1-Xwan-i7fm-FuTKFw
  LV Write Access        read/write
  LV Creation host, time raspberrypi, 2021-10-29 01:49:20 +0100
  LV Status              available
  # open                 0
  LV Size                <1.34 GiB
  Current LE             343
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:2

$ sudo lvs
  LV        VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  PrimerLV  MIVG -wi-a----- <3.29g
  SegundoLV MIVG -wi-a-----  5.00g
  TercerLV  MIVG -wi-a----- <1.34g

Ahora comprobaremos los valores de tamaño que usamos al inicio

en resumen tenemos

  • PrimerLV 30%FREE
  • SegundoLV 5G
  • TercerLV 50%FREE

Para el primer caso y a groso modo el calculo será sencillo

Sabemos que nuestro VG tiene una capacidad total de <10.97G por lo que multiplicamos este valor por 0,3 lo cual nos da como resultado 3,291G

Para el segundo caso no es necesario calcular nada, sabemos que el LV tendrá un valor fijo de 5Gb

En el tercer caso debemos tomar el mismo valor total 10.97G, restarle los 3,291G y los 5G lo que nos va a dar un total disponible de 2,679G, si ejecutamos un vgs antes de crear el tercer LV podremos confirmar el calculo

$ sudo vgs
  VG   #PV #LV #SN Attr   VSize   VFree
  MIVG   2   2   0 wz--n- <10.97g <2.68g

Como ven el calculo coincide, y como indicamos que el tercer LV sera el 50% del espacio disponible en el VG. Por lo que tendrá una capacidad de 1,3395G

Resumiendo, teóricamente tenemos los siguientes espacios para los LV’s

  • PrimerLV 30%FREE (3,291G)
  • SegundoLV 5G (5G)
  • TercerLV 50%FREE (1,3395G)

comprobamos que efectivamente es así con «lvs»

$ sudo lvs
  LV        VG   Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  PrimerLV  MIVG -wi-a----- <3.29g
  SegundoLV MIVG -wi-a-----  5.00g
  TercerLV  MIVG -wi-a----- <1.34g

Y para finalizar como los LV son los que se usan para el sistema de archivos podemos utilizar herramientas como fdisk para conocer el tamaño de un LV

$sudo fdisk -l
....


Disk /dev/mapper/MIVG-PrimerLV: 3.3 GiB, 3531603968 bytes, 6897664 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/MIVG-SegundoLV: 5 GiB, 5368709120 bytes, 10485760 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/MIVG-TercerLV: 1.3 GiB, 1438646272 bytes, 2809856 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Con esto terminamos esta parte, solo queda formatear la partición como siempre se ha hecho y ya podremos usar nuestra partición con LVM.

fuente:

https://wiki.archlinux.org/title/LVM_(Espa%C3%B1ol)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *