LVM

LVM quiere decir Logical Volume Manager.

Las particiones son estáticas. Si quieres cambiarla de tamaño, generalmente debes respaldar todo, reparticionar y restaurar.

Pero se puede crear un “volumen” con varias particiones físicas y luego utilizar ese espacio combinado para construir particiones lógicas. Usar particiones lógicas en lugar físicas facilita el ampliado de particiones, y la posibilidad de tener particiones que ocupan más de un disco físico. Se usa con grandes servidores por lo general, con docenas de discos. Para usos domésticos, basta con planificar bien las particiones físicas,

EL kernel debe tener soporte para LVM.

Es importante contar con las utilidades para LVM en el sistema.

Instalando LVM

En Debian y Debian based distros

# apt-get install lvm2

Esto instalará en el sistema las herramientas necesarias para trabajar con volúmenes LVM.

En distros basadas en RPM

Descargar los RPM desde internet o utilizando el manejador de paquetes de la distribución(Yast en SuSe y yum en RedHat) o directamente desde internet.

En caso de utilizar esta última opción, deberán instalar el paquete manualmente usando la siguiente instrucción:

# rpm i lvm2

Cómo lo usamos

Dispositivo

  • Usamos un gestor de particiones(fdisk, cfdisk, etc) para configurar las particiones que deseamos usar como parte de volúmenes lógicos como “Linux LVM” - Tipo 0x8e.
  • Creamos un “Volumen Físico” en cada partición. Por ejemplo:
# pvcreate /dev/sdb1
Este paso debe ser repetido por cada partición que se desee utilizar como parte de volúmenes lógicos.

Grupo de Volúmenes

  • Creamos un ”Grupo de Volúmenes”. Se le asigna un nombre, y se asignan las particiones que la conformarán. En el futuro puede agragarse otras particiones.

Sintaxis: vgcreate <nombreVolúmenLogico> <partición_1> … <partición_n>

# vgcreate miLVM /dev/sdb1 /dev/sdc2
para visualizar las unidades físicas podemos usar el comando vgdisplay. \ Sintaxis: vgdisplay [<nombre>]
  • Creamos el “Volúmen Lógico”, creando además el device(/dev/miLVM/lvol0) para luego poder operar sobre el mismo.

Sintaxis: lvcreate <opciones> <nombreVolúmenLogico>

lvcreate -L 2000 miLVM

En este caso estamos usando la opción -L con el valor 2000(+/-2GB). Lo que decimos es que queremos crear el volúmen lógico llamado miLVM y asignarle un tamaño de 2000 megabytes. Una vez realizado este paso, se creará un nuevo dispositivo en /dev llamado miLVM y dentro del mismo las “unidades”, normalmente lvoln dónde “n” comienza de 0:

El hecho de asignar 2000M implica que la suma de las particiones incluidas en el volúmen lógico tienen espacio igual o mayor al espacio asignado.
# ls -l /dev/miL* 
drwx------   2   root  root    80   2008-05-04  06:00  miLVM
# ls -l /dev/miLVM
lrwxrwxrwx   1   root  root    28   2008-05-04  06:00  lvol0 -> /dev/mapper/miLVM-lvol0
Para ver información sobre un volúmen lógico, debemos usar el comando lvdisplay. \ Sintaxis: lvdisplay [<nombre>]
# lvdisplay

Preparando la nueva "unidad"

  • Creamos el sistema de archivos(ext2, ext3, raiserFS, etc.) para el volúmen
# mkfs.ext3 /dev/miLVM/lvol0
  • Montamos el nuevo volúmen que está listo para ser usado.
# mount -text3 /dev/miLVM/lvol0 /mnt

Si quisieramos que el volúmen se montara automáticamente cada vez que reiniciamos el sistema, debemos modificar el archivo /etc/fstab, agregando la linea:

/dev/miLVM/lvol0   /mnt   ext3    defaults    0   0

Modificando un volúmen lógico

Ahora es fácil modificar, si hay espacio libre en el grupo de volúmenes:

"Agrandando" el volúmen

  1. Desmontar colúmen
  2. Asignar más espacio
# umount /mnt
# lvexpand -L+2g /dev/miLVM/lvol0
debe haber ese espacio libre entre los volúmenes físicos asignados al volumen lógico.

Si no queda más espacio disponible entre los volúmenes físicos, debemos agregar nuevas particiones, preparlas para LVM y asignarla al volumen en cuestión antes de realizar la extensión de tamaño.

  1. Particionar
  2. Crear volúmen físico
  3. Formatear
  4. Desmontar volúmen
  5. Añadir otro volúmen físico al volúmen lógico
  6. Asignar espacio al VL
  7. Re-montar
Asumiremos que ya está tenemos la partición creada(/dev/sdc1) y preparada para el LVM.
# pvcreate /dev/sdc1
# lvcreate -L 2000 miLVM
# mkfs.
# vgextend miLVM /dev/sdc1

FIXME

  • Eliminar un Volúmen Lógico:
# lmremove /dev/miLVM/lvol1
  • Eliminar un disco con pvmove
  • Hacer striping para distribuir la carga de trabajo sobre varios discos.

Chequear particiones

Generalmente se hace durante el arranque si el equipo se apagó o tras un número determinado de montajes. Pero en caso de necesidad chequear una partición ya montada, es peligroso, y en el caso de / no podemos desmontarla. Para hacerlo:

  • Pasamos a modo linux single con “init 1” o quizás “telinit 1”
  • Remontamos en solo lectura (puede que al entrar en modo normal nos lo pida directamente).
mount -n -o remount,ro /
  • Chequeamos con “fsck” (como root, el usuario normal no puede usarlo)

Referencias

tutoriales/lvm.txt · Última modificación: 2008/05/24 14:36 por gboksar
Recent changes RSS feed Creative Commons License Donate Driven by DokuWiki