Hola a todos. Seguramente muchos de vosotros sepáis lo que es el LVM, pero para los que no, lo explicaré brevemente en unas líneas. Alguna vez he escuchado decir por ahí… “Linux Volumen Manager”, pero el acrónimo real de LVM es Logical Volume Manager, que no os lleve a confusión. LVM es un administrador de volúmenes lógicos desarrollado para el Kernel de Linux, y, existen 2 versiones actualmente. Estas versiones son LVM1 y LVM2. Como nota, deciros que a partir de la versión de kernel 2.6 viene LVM2, pero existe soporte para LVM1 A día de hoy, LVM2 está disponible en la mayoría de las distribuciones LINUX. Una ventaja fundamental de LVM, es que elimina el inconveniente de dimensionar con detalle y exactitud las particiones, tal y como las vamos a necesitar, encontrándonos a veces posteriormente con un esquema de particionado poco optimo o inadecuado. Por si no me he explicado, vamos a verlo de manera sencilla en un ejemplo: Instalación de un SLES (por ejemplo, una LSB), y  se dispone de un disco viejo de 40G. Se decide particionarlo de la siguiente manera: /boot          400M /                6G swap             1G /home           32G El problema al que nos enfrentamos en este caso (puede haber ocurrido en alguna ocasión), es quedarnos sin espacio en alguna partición y tener lugar de sobra en otra. Exagerando un poco el ejemplo al particionarlo, supongamos que se llena el disco raí z”/”, y sin embargo tenemos aún 14G libres en “/home”. Eso representa una situación donde se hace un uso ineficiente del espacio en disco, además de un problema. La solución más obvia en este caso es hacer algún link simbólico apuntando a algún lugar de /home, pero podríamos decir que no es una buena práctica. Con LVM, la solución a este problema es sencilla, dado que se podría simplemente reducir la partición que contiene “/home” y aumentar luego el espacio asignado al directorio raíz. Resumiendo un poco, LVM2 cuenta básicamente, con las siguientes funcionalidades:

  • Redimensión de grupos de volúmenes y volúmenes lógicos en caliente (veremos matices).
  • Crear instantáneas (snapshots) de lectura/escritura del sistema de archivos(En LVM1 solo de lectura).
  • Crear volúmenes lógicos separados en los diferentes volúmenes físicos, de manera similar que RAID 0.
  • Mover los volúmenes lógicos entre los diferentes volúmenes físicos.
  • Crear grupos de volúmenes o volúmenes lógicos sobre diferentes volúmenes físicos.
  • Añadir nuevos volúmenes físicos, sin impacto en el esquema lógico.
Vamos a ver, un poco de vocabulario de cara a entender cómo funciona LVM, ya que es necesario conocer algunos conceptos elementales para empezar a trabajar. Esos son los siguientes:
  • Physical Volume (PV) : un PV es un volumen físico, un disco rígido, una partición...Si tenemos varios, podemos montar volúmenes lógicos que estén en varios PV. Imaginarios una partición que esté en 3 discos diferentes.
  • Logical Volume (LV) : un LV es un volumen lógico, es el equivalente a una partición tradicional en un sistema que no sea LVM
  • Volume Group (VG) : un VG es un grupo de volúmenes, puede reunir uno o más PVs. Los PVs pueden comenzar a utilizarse en LVM en cuanto pasan a formar parte de un VG.
  • Physical extent (PE) : un PE es una parte de cada volumen físico, de tamaño fijo. Un volumen físico se divide en múltiples PEs del mismo tamaño.
  • Logical extent (LE) : un LE es una parte de cada volumen lógico, de tamaño fijo. Un volumen lógico se divide en múltiples LEs del mismo tamaño.
  • Device mapper : es un framework genérico del kernel de Linux que permite mapear un dispositivo de bloques a otro. Es la herramienta fundamental en la que se basa LVM para hacer el mapeo de los dispositivos virtuales con los dispositivos físicos. Lo veremos en detalle más adelante.
[caption id="attachment_2413" align="aligncenter" width="222"] Sistemas linux de diferente configuración lvm Sistemas linux de diferente configuración lvm[/caption] También es interesante conocer, que existe la opción de LVM cifrado.  Si os disponéis a instalar Linux, según que distribución y su gestor de instalación, veréis que hay varias opciones,  una de ellas es la del LVM cifrado.
  • Guiado - Utilizar todo el disco.
  • Guiado - Utilizar el disco completo y configurar LVM.
  • Guiado - Utilizar todo el disco y configurar LVM cifrado.
  • Manual.
Esta es la salida de varios gestores de instalación, por ejemplo de distribuciones como SUSE, KALI, UBUNTU… Llegados a este punto del artículo, se nos plantea un escenario donde podemos encontrarnos entonces diferentes puntos de partida:
  • Instalación de LVM en la inicialización de  un sistema (como hemos visto justo aquí arriba).
  • Instalación de LVM en una máquina ya operativa sin LVM:
    • Sin software necesario para LVM (cómo conseguirlo/instalarlo).
    • Con software necesario para LVM.
  • Actualización LVM1 a LVM2.
Nos centraremos de momento en el primero: Instalación de LVM en la inicialización de  un sistema. Intentaré redactar al menos, 3 entradas. En este caso, la primera entrega, ha sido sobre connotaciones básicas de LVM, comentando un poco su uso y posibilidades. En la segunda entrega, además de la instalación de una distribución Linux con LVM, veremos comandos de operación con LVM, y posteriormente; instalación de LVM en una distribución ya operativa, implementación de LVM cifrado, RAID sobre LVM… A partir de ahí, podemos seguir creciendo si se considera necesario J Aunque no hayamos entrado mucho en harina de momento, espero os haya sido de utilidad.