Saltar la navegación

Uso de los LVs

Teniendo ya los LVs creados, hay que saber cómo utilizarlos, y vamos a empezar conociendo los dispositivos de bloque que se han creado en el sistema para mapearlos.

Los dispositivos de bloque que se crean para los LVs tienen la nomenclatura /dev/dm-*.

# ls -l /dev/dm-*
brw-rw---- 1 root disk 254, 0 ene 14 22:27 /dev/dm-0

Para estos dispositivos se les crea un enlace simbólico en el directorio /dev/mapper con un nombre del estilo nombreVG-nombreLV.

# ls -l /dev/mapper/
total 0
crw------- 1 root root 10, 236 ene 14 19:42 control
lrwxrwxrwx 1 root root 7 ene 14 22:27 disco_virtual-web -> ../dm-0

Y por último, para simplificar un poco más el uso de los LVs, se crean directorios dentro de /dev con el nombre de los VG, y dentro de ellos, se crean enlaces simbólicos a los dispositivos de bloques /dev/dm-*, con el nombre de los LVs. Estos enlaces simbólicos, son los que utilizaremos como nombre para referirnos a los LVs, aunque valdrían también los dispositivos de bloque /dev/dm-* o los enlaces simbólicos de /dev/mapper.

# ls -l /dev/disco_virtual/
total 0
lrwxrwxrwx 1 root root 7 ene 14 22:27 web -> ../dm-0

Una vez que tenemos ya los LVs, es decir, las particiones virtuales, estas las podemos usar como las particiones normales de los dispositivos físicos, con las que estamos habituados a trabajar. Por lo tanto, lo primero que haremos será asignarle un sistema de ficheros:

# mkfs -t ext4 /dev/disco_virtual/web
mke2fs 1.42.12 (29-Aug-2014)
Se está creando El sistema de ficheros con 155648 1k bloques y 38912 nodos-i

UUID del sistema de ficheros: 8a9a5cdf-fb7b-4341-8a18-ce030fd96a64
Respaldo del superbloque guardado en los bloques: 
  8193, 24577, 40961, 57345, 73729

Reservando las tablas de grupo: hecho                           
Escribiendo las tablas de nodos-i: hecho                           
Creando el fichero de transacciones (4096 bloques): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho

Y ya podríamos montarlo:

# mount /dev/disco_virtual/web /mnt
# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 09db078f-57e4-4d86-9d2b-918da1f2da0a /
└─sda2 swap 4fab3948-c9a2-4a42-8527-686296fab931 [SWAP]
sdb LVM2_member mHsm57-0CKQ-fBt7-VecZ-hR01-7e8F-jVUwKz
└─disco_virtual-web ext4 8a9a5cdf-fb7b-4341-8a18-ce030fd96a64 /mnt
sdc LVM2_member Gtg7dE-k4YQ-nSgE-7KvZ-dbU2-Jrev-W1dBqf
└─disco_virtual-web ext4 8a9a5cdf-fb7b-4341-8a18-ce030fd96a64 /mnt
sdd
sde
├─sde1 LVM2_member 1H04tT-uiti-5obu-qO7r-DxUs-a6dd-DdnVuB
└─sde2
sr0
# df -h /mnt
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/mapper/disco_virtual-web 144M 1,6M 132M 2% /mnt
# df -h /dev/disco_virtual/web
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/mapper/disco_virtual-web 144M 1,6M 132M 2% /mnt
# man bash > /mnt/bash.man
# df -h /mnt
S.ficheros Tamaño Usados Disp Uso% Montado en
/dev/mapper/disco_virtual-web 144M 1,9M 131M 2% /mnt
# umount /mnt

Vemos que tras el formateo, algo de espacio libre se pierde por la información de control que hay que grabar en la partición, hemos pasado de 150M a 144M.

Es importante recordar que también podríamos montar los LVs automáticamente indicándolo en el fichero /etc/fstab.

Ahora que hemos usado el LV, sí podríamos ver la correspondencia a la que nos hemos referido en apartados anteriores entre PEs y LEs .

# pvdisplay -m
--- Physical volume ---
PV Name /dev/sdb
VG Name disco_virtual
PV Size 100,00 MiB / not usable 4,00 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 24
Free PE 0
Allocated PE 24
PV UUID mHsm57-0CKQ-fBt7-VecZ-hR01-7e8F-jVUwKz

--- Physical Segments ---
Physical extent 0 to 23:
Logical volume /dev/disco_virtual/web
Logical extents 0 to 23

--- Physical volume ---
PV Name /dev/sdc
VG Name disco_virtual
PV Size 100,00 MiB / not usable 4,00 MiB
Allocatable yes
PE Size 4,00 MiB
Total PE 24
Free PE 10
Allocated PE 14
PV UUID Gtg7dE-k4YQ-nSgE-7KvZ-dbU2-Jrev-W1dBqf

--- Physical Segments ---
Physical extent 0 to 13:
Logical volume /dev/disco_virtual/web
Logical extents 24 to 37
Physical extent 14 to 23:
FREE

--- Physical volume ---
PV Name /dev/sde1
VG Name disco_virtual
PV Size 50,00 MiB / not usable 2,00 MiB
Allocatable yes
PE Size 4,00 MiB
Total PE 12
Free PE 12
Allocated PE 0
PV UUID 1H04tT-uiti-5obu-qO7r-DxUs-a6dd-DdnVuB

--- Physical Segments ---
Physical extent 0 to 11:
FREE

La opción -o de lvs con el campo devices es muy interesante, pues nos muestra los PVs que usan los LVs.

# lvs -o +devices
  LV   VG            Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices    
  web  disco_virtual -wi-a----- 152,00m                                                     /dev/sdb(0)
  web  disco_virtual -wi-a----- 152,00m                                                     /dev/sdc(0)