Imprimir

LVM (volúmenes lógicos) en Linux

Es muy habitual que alguna partición (normalmente la más importante) tenga poco espacio mientras que otras tienen mucho espacio libre. Para evitar esta situación podemos usar volúmenes lógicos LVM (Logical Volume Manager). Veamos en qué consiste:

  • combinamos varias particiones (o discos o dispositivos RAID) para formar un disco virtual o grupo de volúmenes.
  • el disco virtual lo dividimos en particiones virtuales o volúmenes lógicos.
  • esto es transparente al usuario: sólo veremos los volúmenes lógicos.
  • la ventaja es que redimensionar los volúmenes lógicos o añadir/quitar un disco duro al disco virtual es razonablemente sencillo.

Gráficamente:

      hda     hdb   hdc           Discos duros
       /\      |     |
      /  \     |     |
   hda1 hda2  hdb1  hdc1          Particiones
    |     \    |     /
    |      \   |    /
    |     disco_virtual           Disco virtual
    |       /  |  \
    |      /   |   \
    |   home  usr  var            Particiones virtuales
    |    |     |    |
    |   ext3  ext3 ext3           Formato del filesystem
    |    |     |    |
    /  /home /usr /var            Punto de montaje

Recursos

La manera más sencilla y eficaz de instalar LVM es durante la instalación del Sistema Operativo. Lo haremos en el particionado:

  1. particionamos los discos: hda1 será la partición raíz y de booteo, y no formará parte del LVM. hda5, hdb1, etc. formarán el disco virtual:

    Particionamos los discos

  2. seleccionamos Configurar el Gestor de volúmenes lógicos LVM (antes de pasar a configurar el LVM el instalador particionará los discos):

    Seleccionamos LVM

  3. creamos el disco virtual:

    Creamos el disco virtual

  4. seleccionamos las particiones que van a formar parte del disco virtual:

    Seleccionamos las particiones

  5. nos pedirá un nombre para el disco virtual. Como somos muy imaginativos, disco_virtual:

    Nombre para el disco virtual

  6. ahora, particionamos el disco virtual:

    Particionamos el disco virtual

  7. crearemos los volúmenes lógicos swap, home, usr, var y tmp.

    Creamos los volumenes logicos

  8. asignamos a cada volumen lógico punto de montaje y formato:

    Punto de montaje y formato

  9. comprobamos que todo esté correcto:

    Todo correcto

  10. grabamos los cambios y listo:

    Grabamos los cambios

  11. el gestor de arranque GRUB lo instalaremos en el MBR.

Una vez terminada la instalación, veremos los volúmenes lógicos como si fuesen particiones normales:

# df
S.archivos                    1K-blocks   Used  Available Use%  Mount
/dev/hda1                        225806  84422     129337  40%  /
/dev/mapper/disco_virtual-home  1965459   8409    1852193   1%  /home
/dev/mapper/disco_virtual-tmp    476008   8250     442363   2%  /tmp
/dev/mapper/disco_virtual-usr   1965459 887092     973510  48%  /usr
/dev/mapper/disco_virtual-var   4128448  82516    3836220   3%  /var

Por último, veamos el manejo habitual de LVM (los comandos los proporciona el paquete lvm2 que se instala por dependencias):

  • para añadir una partición al disco virtual, primero tenemos que formatearla con fdisk y marcarla como 8e (Linux LVM). Después añadiremos la partición al disco virtual:
    # vgextend disco_virtual /dev/hdc1
  • para aumentar el tamaño de una partición virtual, primero aumentaremos el tamaño de la partición:
    # lvextend -L+120G /dev/mapper/disco_virtual-home

    y luego aumentaremos el tamaño del filesystem:

    # umount /dev/mapper/disco_virtual-home
    # resize2fs /dev/mapper/disco_virtual-home
    # mount /dev/mapper/disco_virtual-home /home
  • para reducir el tamaño de una partición virtual, primero reduciremos el tamaño del filesystem:
    # umount /dev/mapper/disco_virtual-home
    # resize2fs /dev/mapper/disco_virtual-home 80G
    # mount /dev/mapper/disco_virtual-home /home

    y luego reduciremos el tamaño de la partición:

    # lvreduce -L-120G /dev/mapper/disco_virtual-home
  • para quitar una partición del disco virtual, primero moveremos los datos que contiene a otras particiones con el comando:
    # pvmove /dev/hdc1

    y luego quitaremos la partición:

    # vgreduce disco_virtual /dev/hdc1

    Ya podemos quitar físicamente la unidad.

4 Comentarios en “LVM (volúmenes lógicos) en Linux”

  • rafa dice:

    Si tienes mas informacion sobre lvm, pues soy recien llegado a linux (windero arrepentido)

  • Enio dice:

    Buenas… Lo que yo quiesiera saber es como haces eso mismo cuanto ya tienes el S.O. ya instalado. por ejemplo un Ubuntu 9.04, y quieres asignarle una particion mas. Un saludo

  • Altair dice:

    Hola, estoy haciendo unas pruebas con el articulo de Linux y LVM usando dos discos duros creados con Qemu. El primero es de 1.1 Gb y el otro de 3.2 Gb. Intento adquirir cierta practica con esto para trasladarlo a un ordenador que tiene dos discos duros.

    El problema que me encuentro es que no entiendo como seleccionar los DOS discos duros para crear el disco virtual. Os mando una captura. Con objeto de empezar por lo facil, he usado el asistente de instalacion del CD de Debian Lenny que automaticamente crea las particiones, sus tipos y sus tamaños.

    Seguramente sea una tonteria, pero estoy atascado en ese paso.

    Gracias

    http://rapidshare.com/files/381566183/perfilado_qemu_doshd.png.html

  • Dzamo dice:

    [...] Recordar que las versiones que derivan de Red Hat proponen desde hace ya tiempo utilizar LVM. Es muy interesante utilizarlo ya que posteriormente se pueden agregar o quitar en caliente [...]

Deja un comentario