Saltar la navegación

Volúmenes lógicos - LVM

Los volúmenes lógicos son una técnica que nos va a permitir una mayor flexibilidad a la hora de manipular el almacenamiento de nuestro sistema. Con esta técnica vamos a poder crear uno o varios disco virtuales a partir de discos físicos, y dentro de los discos virtuales es donde crearemos las particiones virtuales, a las cuales les asignaremos un sistema de ficheros.

El software LVM (Logical Volume Management) es el que utilizaremos en GNU/Linux para administrar los volúmenes lógicos.

LVMSon muchas las ventajas del uso de los volúmenes lógicos en lugar del uso tradicional de los discos físicos, algunas de ellas son las siguientes:

  • Crear un gran disco (virtual) a partir de varios discos físicos.
  • Hacer particiones virtuales en el disco virtual ocupando varios discos físicos. El espacio de almacenamiento no tiene que ser consecutivo.
  • Redimensionar las particiones virtuales en caliente cuando lo necesitemos.
  • Cambiar (migrar) en caliente los discos físicos que realmente está utilizando una partición virtual, para que ahora sean otros. Por ejemplo, se cambian discos más lentos, por otros más rápidos.
  • Tomar instantáneas de las particiones virtuales, para hacer copias de seguridad, por ejemplo.
  • Etc.

En el contexto de los volúmenes lógicos se trabaja con la siguiente terminología que hay que saber:

  • Volumen físico (Physical Volume - PV): Podemos convertir en un PV a cualquier disco físico completo, partición o incluso un RAID, realmente, cualquier dispositivo de bloque. Una vez convertido el dispositivo de bloque en PV, lo que hace que se le añada una cabera LVM, este debe ser manipulado siempre a través de LVM.
  • Grupo de volúmenes (Volume Group - VG): Es una colección de volúmenes físicos (PV) que van a crear lo que podemos ver como un disco virtual, el cual será fácilmente extensible con nuevos PV.
  • Volumen lógico (Logical volume - LV): Serán las particiones virtuales que haremos sobre el disco virtual, es decir, un LV es un trozo de un VG al que le asignaremos un sistema de ficheros, para luego montarlo sobre un directorio para poderlo usar. Al LV no le afecta cómo está construido a bajo nivel su espacio, le da igual si es consecutivo o no, y si está en un solo PV o repartido entre varios PVs. Otra gran ventaja es que las particiones virtuales pueden ser ampliadas con facilidad y en caliente. Los LVs tienen un nombre de dispositivo bajo /dev para ser manipulado como cualquier partición de un disco físico de las que hemos utilizado hasta ahora.
  • Extensión física (Physical Extent - PE): Son el equivalente a los bloques de datos de los dispositivos de bloques pero para los PVs. Para identificarlos se numeran consecutivamente empezando por 0, obteniendo así cada PE un identificador único dentro de un PV, pero estos identificadores son los mismos para cada PV, por lo que se repiten entre PVs. Por defecto, el tamaño de una PE es de 4 MiB.
  • Extensión lógica (Logical Extent - LE): Es el identificador único que relaciona una PE concreta de un PV con un LV. Esto es necesario ya que las PE se repiten entre PVs. Por lo tanto, un LV lo define una relación de LEs. Las LEs se numeran consecutivamente empezando por 0 dentro del LV.

Todo esto lo que aporta es una capa de abstracción entre el espacio de almacenamiento que utilizaremos (LVs) y los dispositivos físicos (PVs) que realmente se estarán utilizando. La única limitación está en que un LV no puede tener un tamaño superior a la suma de los tamaños de los PVs a partir de los cuales se forma, o dicho de otra manera, el único límite está en el espacio total disponible, pues el tamaño de un LV puede aumentarse cuando lo necesitemos.