LVM - Crear un volumen lógico

Que proporciona LVM?

Extraído de la wikipedia:

  • La gestión de volúmenes lógicos proporciona una vista de alto nivel sobre el almacenamiento en un ordenador, en vez de la tradicional vista de discos y particiones.
  • Los volúmenes de almacenamiento bajo el control de LVM pueden ser redimensionados y movidos a voluntad, aunque esto quizá necesite actualizar las herramientas del sistema.
  • LVM también permite la administración en grupos definidos por el usuario, permitiendo al administrador del sistema tratar con volúmenes llamados, por ejemplo, "ventas" o "desarrollo", en vez de nombres de dispositivos físicos, como "sda" o "sdb"

Crear un volumen lógico

Primero instalamos las herramientas necesarias:

lynks@servidor:~$ sudo aptitude install lvm

Ahora creamos una tabla de particiones con cfdisk, sino sabes como, consulta el siguiente artículo ;) "Crear tabla de particiones y formatear un disco duro". Es muy importante usar como tipo de partición "Linux LVM".

En mi caso tengo dos discos duros con una partición cada uno sda1 y sdb1. Procedemos a inicializar el soporte para LVM en las 2 particiones:

lynks@servidor:~$ pvcreate /dev/sda1
  Physical volume "/dev/sda1" successfully created
lynks@servidor:~$ pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

Indicamos que volúmenes (particiones, raids..) formarán nuestro sistema LVM:

lynks@servidor:~$ vgcreate GRUPO /dev/sda1 /dev/sdb1
  Volume group "GRUPO" successfully created

Ahora ya podemos crear los volúmenes lógicos, estos se podrán redimensionar dentro del tamaño máximo del volumen LVM:

lynks@servidor:~$ lvcreate -L500,00G -n VOLUMEN GRUPO
Logical volume "VOLUMEN" created

Donde -L indica el tamaño y -n el nombre del volumen. Ahora ya podemos formatear el volumen como si fuera una partición normal, el nombre del dispositivo es /dev/mapper/GRUPO-VOLUMEN. Si no sabes formatear una partición, puede seguir el articulo Crear tabla de particiones y formatear un disco duro.

Para ver la información de los volúmenes y grupos, podemos usar lvdisplay y vgdisplay:

lynks@servidor:~$ lvdisplay multimedia

  --- Logical volume ---
  LV Name                /dev/multimedia/files
  VG Name                multimedia
  LV UUID                oL0dk8-oKeY-7UZz-SjY1-0jV2-Vc60-BkLkTk
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                465,75 GB
  Current LE             119232
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

lynks@servidor:~$ sudo vgdisplay multimedia
  --- Volume group ---
  VG Name               multimedia
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  9
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               745,23 GB
  PE Size               4,00 MB
  Total PE              190779
  Alloc PE / Size       190779 / 745,23 GB
  Free  PE / Size       0 / 0
  VG UUID               HzqIrT-FomE-6j3a-Q7B9-2WJJ-XKHo-otRqLe

Extender grupo con otra partición:

Inicializamos el soporte LVM en la partición:

lynks@tetsuo:~$ sudo pvcreate /dev/hdh1
  Physical volume "/dev/hdh1" successfully created

Ahora extendemos el grupo con la nueva partición:

lynks@servidor:~$ sudo vgextend GRUPO /dev/hdh1
  Volume group "GRUPO" successfully extended

Extender tamaño de volumen:

Indicamos el tamaño a añadir con el siguíente comando:

lynks@servidor:~$ sudo lvextend --size +300Gb /dev/multimedia/files
  Rounding up size to full physical extent 300,87 GB
  Extending logical volume files to 800,62 GB
  Logical volume files successfully resized

Ahora aplicamos el cambio en nuestro sistema de ficheros (ext3):

lynks@servidor:~$ sudo resize2fs /dev/mapper/multimedia-files
resize2fs 1.40.5 (27-Jan-2008)
Filesystem at /dev/mapper/multimedia-files is mounted on /media/multimedia; on-line resizing required
old desc_blocks = 30, new_desc_blocks = 34
Performing an on-line resize of /dev/mapper/multimedia-files to 140409856 (4k) blocks.
The filesystem on /dev/mapper/multimedia-files is now 140409856 blocks long.