- Estréllate y Arde - https://www.estrellateyarde.org -

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.


Article printed from Estréllate y Arde: https://www.estrellateyarde.org

URL to article: https://www.estrellateyarde.org/discover/lvm-en-linux

Copyright © 2010 Estrellate y Arde