LVM (o Gestor de Volúmenes Lógicos) te permite crear y gestionar el almacenamiento de los discos duros de una manera muy útil; añadir, eliminar y cambiar el tamaño de las particiones según su demanda. La primera vez que trabajas con LVM puede ser un poco confuso para los recién llegados, lo que esta entrada pretende es mostrar los aspectos básicos de LVM de una manera sencilla.
Pero antes de empezar con los comandos hay que aprenderse ciertas palabras para comprender correctamente este tutorial y LVM. Lo más importante que tienes que saber de LVM son:
- Physical Volumes (Volúmenes Físicos): Estos son los discos físicos o particiones del disco, como /dev/sda o /dev/sda1. Estos son los que montamos en nuestro sistema de ficheros. En LVM podemos combinar varios PV en Grupos de Volúmenes o Group Volumes.
- Volume Groups (Grupos de Volúmenes): Un VG se compone de PV (Volúmenes Físicos) reales, y es el almacenamiento utilizado para crear los Volúmenes Lógicos que se pueden crear, redimensionar, eliminar y utilizar. Se puede considerar que un VG como una «partición virtual» que se compone de un número arbitrario de PV.
- Logical Volumes (Volúmenes Lógicos): Estos son los volúmenes que en última instancia terminan siendo montados en tu sistema. Se pueden añadir, eliminar, cambiar de tamaño (incluso cuando el LV está trabajando, es decir, no es necesario desmontarlo para hacer una modificación).
Preparación
Para realizar esta entrada he instalado un Debian 8 en una maquina virtual con VirtualBox. Después de la instalación he añadido un disco duro de 8 GB el cual he particionado de la siguiente manera:
Dispositiu Arrenc. Inici Final Blocs Id Sistema /dev/sdb1 2048 8390655 194304 83 Linux /dev/sdb2 8390656 16777215 4193280 83 Linux
Instalar LVM
En el caso de que no tengas instalado LVM, puedes hacerlo con este comando o instalando el paquete LVM2 con tu gestor de Software favorito:
# aptitude install lvm2
Trabajando con LVM
Vamos a explicar unos cuantos comandos para gestionar nuestros volúmenes, el primero del que vamos a hablar es vgdisplay. Este comando nuestra los VG que tienes en tu sistema.
root@PortalLinux:~# vgdisplay No volume groups found
Por ahora, nos dice que no tenemos ningún VG disponible. Para crear un VG con la primera partición del segundo disco primero tenemos que crear un PV (Volumen Físico):
root@PortalLinux:~# pvcreate /dev/sdb1 Writing physical volume data to disk "/dev/sdb1" Physical volume "/dev/sdb1" successfully created
Y con el comando pvdisplay podemos ver los Volúmenes Físicos que tenemos:
root@PortalLinux:~# pvdisplay "/dev/sdb1" is a new physical volume of "4,00 GiB" --- NEW Physical volume --- PV Name /dev/sdb1 VG Name PV Size 4,00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID cxt2AN-G0AT-vMGi-ULq0-glkQ-heFv-GZFo3y
Una vez tenemos un PV creado, ahora podemos hacer un grupo de volúmenes con:
root@PortalLinux:~# vgcreate Datos /dev/sdb1 Volume group "Datos" successfully created
Donde Datos es el nombre que le damos a nuestro VG para poderlo identificar de una manera más fácil.
root@PortalLinux:~# vgdisplay --- Volume group --- VG Name Datos 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 4,00 GiB PE Size 4,00 MiB Total PE 1023 Alloc PE / Size 0 / 0 Free PE / Size 1023 / 4,00 GiB VG UUID MXSGZi-W1Cr-ntc8-Nk8V-wAKq-5v3V-yp8PfV
Ahora ya tenemos PV creado y un VG llamado «Datos», el siguiente paso es crear los LV que estarán dentro de ese grupo de volúmenes, para crear LV hay que hacerlo con el siguiente comando:
# lvcreate -n NombreLV -L 2G Datos
root@PortalLinux:~# lvcreate -n Personales -L 2G Datos Logical volume "Personales" created root@PortalLinux:~# lvcreate -n Publicos -L 1G Datos Logical volume "Publicos" created root@PortalLinux:~# lvcreate -n Otros -L 900MB Datos Logical volume "Otros" created
Para poder ver los LV creados en nuestro sistema lo podremos hacer con lvdisplay:
root@PortalLinux:~# lvdisplay --- Logical volume --- LV Path /dev/Datos/Personales LV Name Personales VG Name Datos LV UUID iZsm4I-ivkh-rgno-NmtK-VsTT-83BZ-avq5yo LV Write Access read/write LV Creation host, time PortalLinux, 2015-03-15 16:35:23 +0100 LV Status available # open 0 LV Size 2,00 GiB Current LE 512 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:0 --- Logical volume --- LV Path /dev/Datos/Publicos LV Name Publicos VG Name Datos LV UUID 0jqPlL-I1CA-FqGR-ZRvX-3SVq-u2Re-hAmGv2 LV Write Access read/write LV Creation host, time PortalLinux, 2015-03-15 16:35:44 +0100 LV Status available # open 0 LV Size 1,00 GiB Current LE 256 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:1 --- Logical volume --- LV Path /dev/Datos/Otros LV Name Otros VG Name Datos LV UUID wFeQSH-ZKEH-KgAB-8TIi-1rJn-s6IS-N0G5QT LV Write Access read/write LV Creation host, time PortalLinux, 2015-03-15 16:36:16 +0100 LV Status available # open 0 LV Size 900,00 MiB Current LE 225 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:2
Llegados a este punto, ¿Que tenemos que hacer con los LV? Los LV podríamos decir que son similares a las particiones de toda la vida, pero no funcionan de la misma manera. Por lo que lo siguiente a realizar es darles un formato:
# mkfs.ext4 /dev/Datos/Personales # mkfs.ext4 /dev/Datos/Publicos # mkfs.ext4 /dev/Datos/Otros
Montar un Volúmen Lógico
Para montar un Volúmen Lógico es tan sencillo como montar una partición:
# mount /dev/Datos/Personales /mnt
Comentarios