Otra forma de configurar unidades de almacenamiento y que trabajen de manera conjunta, flexible y dinámica es a través de volúmenes lógicos. El Administrador de Volúmenes Lógicos (LVM) crea un nivel de abstracción sobre las unidades de disco; que en realidad son particiones concentradas en un pool que posteriormente se presentan en volumen lógico o partición.
Como se puede ver en la imagen anterior los discos son agregados a un grupo para posteriormente presentarse en uno o más volúmenes lógicos, esto es más flexible que presentar una partición por disco. A un servidor se le han presentado 3 discos duros de 10 GB para crear un grupo y gestionar el almacenamiento.
[tusysadmin@lvm ~]$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 7G 0 disk
├─vda1 252:1 0 1G 0 part /boot
└─vda2 252:2 0 6G 0 part
├─centos-root 253:0 0 5.3G 0 lvm /
└─centos-swap 253:1 0 716M 0 lvm [SWAP]
vdb 252:16 0 10G 0 disk
vdc 252:32 0 10G 0 disk
vdd 252:48 0 10G 0 disk
A estos discos se les crea una tabla de particiones, la partición y la etiqueta de lvm.
sudo parted /dev/vdb mklabel msdos
sudo parted /dev/vdb mkpart primary 0% 100%
sudo parted /dev/vdb set 1 lvm on
sudo parted /dev/vdc mklabel msdos
sudo parted /dev/vdc mkpart primary 0% 100%
sudo parted /dev/vdc set 1 lvm on
sudo parted /dev/vdd mklabel msdos
sudo parted /dev/vdd mkpart primary 0% 100%
sudo parted /dev/vdd set 1 lvm on
Las particiones /dev/vdb1, /dev/vdc1 y /dev/vdd1 son agregadas como pvs, para ser agregadas al VG vg1.
sudo pvcreate /dev/vdb1 /dev/vdc1 /dev/vdd1
sudo vgcreate vg1 /dev/vdb1 /dev/vdc1 /dev/vdd1
[tusysadmin@lvm ~]$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <6.00g 4.00m
vg1 3 0 0 wz--n- <29.99g <29.99g
Este VG dispone de la suma de las tres particiones, se creara un LVM de 12GB que sera montado en la ruta /lv1.
sudo lvcreate -n lv1 -L 12G vg1
sudo mkdir /lv1
sudo mkfs.ext4 /dev/vg1/lv1
sudo mount /dev/vg1/lv1 /lv1
Para montar esta partición al iniciar el servidor se modifica el archivo /etc/fstab, como root escribimos.
echo "/dev/vg1/lv1 /lv1 ext4 defaults 1 2" >> /etc/fstab
LVM Con XFS
Hasta este momento se cuenta con una partición que no utiliza todo el espacio de los discos montados, por lo que el volumen VG1 contará con espacio suficiente, para revisar el espacio con disponible usamos vgs.
[tusysadmin@lvm ~]$ sudo vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <6.00g 4.00m
vg1 3 1 0 wz--n- <29.99g <17.99g
Con los 17.99GB disponibles se creara un nuevo LVM, pero esta vez con un sistema de archivos xfs.
sudo lvcreate -n lv2 -L 12G vg1
sudo mkdir /lv2
sudo mkfs.xfs /dev/vg1/lv2
sudo mount /dev/vg1/lv2
Al igual que en la otra partición, se modifica el archivo /etc/fstab para que sea montada al momento de arrancar el servidor. Como root escribimos.
echo "/dev/vg1/lv2 /lv2 xfs defaults 1 2" >> /etc/fstab
Y con esto, tenemos dos particiones con diferentes sistemas de archivos, el VG cuenta con espacio libre para incrementar alguno de los volúmenes en caso de requerirse.
tusysadmin@lvm ~]$ sudo vgdisplay vg1
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 3
Act PV 3
VG Size <29.99 GiB
PE Size 4.00 MiB
Total PE 7677
Alloc PE / Size 6144 / 24.00 GiB
Free PE / Size 1533 / <5.99 GiB
VG UUID eyvICn-sJmi-x5aQ-J20q-szo2-1ynY-FjSaL5
En entradas posteriores se mostrara como incrementar estas particiones así como la adición de un nuevo disco.
0 comentarios
3 pingbacks