|

Una introducción a Logical Volume Management

La mayoria de las distribuciones de Linux modernas soportan los dispositivos LVM durante la fase de instalación y la mayoría de estas distribuciones los configuran por nosotros de forma automática. En las instalaciones tradicionales, podemos ver una particición del tipo Linux, la cual se formatea con un sistema de ficheros y se monta en un directorio del sistema. Una instalación normal. Cuando usamos LVM, necesitamos asignar la partición a un tipo Linux LVM y entonces usar las herramientas apropiadas para crear y manejar estos dispositivos. GParted no soporta particiones LVM, necesitamos otras herramientas. Si usas openSUSE, hay una excelente herramienta de configuración de LVM como parte de YaST. Hay un módulo del kernel que se requiere así como unas herramientas en línea de comandos. Es necesario instalar dichas herramientas con nuestro sistema de paquetes. El ejemplo de abajo lo hace bajo Debian.

# modprobe dm-mod ; apt-get install lvm2

Creación de dispositivo LVM

LVM consiste en unas pocas cosas. Primeramente, necesitamos una partición físca del tipo Linux LVM la cual formará el Physical Volume del LVM. Seguidamente, crearemos un Logical Group al cual asignaremos la partición física. A continuación, crearemos nuestras particiones individuales llamadas Logical Volumen. Veamos como hacer esto ahora desde el usuario root.

Paso  1

Creamos una partición en una unidad (habitualmente disco duro) en blanco y le asigname el tipo  LVM Linux (8e).
Nota: Mi dispositivo es  /dev/sde pero los vuestros pueden ser difirentes.

# fdisk /dev/sde
n
p
1
[Enter]
[Enter]
t
8e
w

El dispositivo debería aparecer como sigue:

# fdisk -l /dev/sde

Disk /dev/sde: 8040 MB, 8040480256 bytes
255 heads, 63 sectors/track, 977 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000bf9ae

Device Boot Start End Blocks Id System
/dev/sde1 1 977 7847721 8e Linux LVM

Aquí puedes ver que tenemos una partición sencilla pero del tipo  LVM Linux (8e).

Paso 2
Ahora necesitamos decirle al LVM que use esta partición como un Physical Volume.

# pvcreate /dev/sde1

No physical volume label read from /dev/sde1
Physical volume «/dev/sde1» successfully created

Este dispositivo se ha añadido ahora al sistema LVM.

Paso 3
Crear una Volume Group dentro del Physical Volume, el cual llamaremos  ‘system’, ya que tiene que recibir un nombre.

# vgcreate system /dev/sde1
Volume group «system» successfully created

Paso 4

Ahora que hemos creado un Physical Volume y un Volume Group, es el momento de crear volúmenes lógicos (Logical Volume). Crearemos uno para el root llamado linux y otro para el home.

# lvcreate -n linux -L 2G system
Logical volume «linux» created

# lvcreate -n home -L 3G system
Logical volume «home» created

!Esto es todo! Ahora tenemos dos particiones que pueden ser formateadas igual que las particiones normales. Si hechamos un vistazo bajo el directorio /dev debemos ver nuestros dispositivos recien creados.

# ls -l /dev/system/
total 0
lrwxrwxrwx 1 root root 23 Mar 9 17:18 home -> /dev/mapper/system-home
lrwxrwxrwx 1 root root 24 Mar 9 17:17 linux -> /dev/mapper/system-linux

Herramientas de visualización

Anes de seguir con otras cosas, veamos algunas de las herramientas que LVM nos proporciona para visualizar el estado de nuestros dispositivos. Recuerda que tenemos tres componentes para conseguir una partición LVM completa, Physical Volume (PV), Volume Group (VG) y Logical Volume (LV).

Echemos un vistazo al PV.

# pvdisplay
— Physical volume —
PV Name /dev/sde1
VG Name system
PV Size 7.48 GB / not usable 3.79 MB
Allocatable yes
PE Size (KByte) 4096
Total PE 1915
Free PE 1915
Allocated PE 0
PV UUID 7vkgGI-e402-K3hE-XGJz-kl4C-nI7o-oFqwA8

Con este comando podemos ver el nombre del Physical Volume, el Volume Group que se le ha asignado a la partición llamado system y también otra información relacionada con el tamaño del volumen.

Veamos ahora el VG.

# vgdisplay
— Volume group —
VG Name system
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 7.48 GB
PE Size 4.00 MB
Total PE 1915
Alloc PE / Size 1280 / 5.00 GB
Free PE / Size 635 / 2.48 GB
VG UUID Z6TSXO-0DQ3-7Jiz-67k2-dEkY-dYR2-RNJE85

Aquí podemos ver el nombre del Volume Group (que hemos llamado system), el tipo (lvm2), cuanto espacio total tiene y cuando de ese espacio está ya asignado (recuerda que hemos creado dos volúmenes lógico, root y home).

Finalmente, veamos el LV.

# lvdisplay
— Logical volume —
LV Name /dev/system/linux
VG Name system
LV UUID L0qrZu-bwCp-rnEu-uJry-4j3n-XBLB-OWsXVx
LV Write Access read/write
LV Status available
# open 0
LV Size 2.00 GB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:0

— Logical volume —
LV Name /dev/system/home
VG Name system
LV UUID AScHe0-q5sJ-F8eH-bYRy-3URL-Nt7m-0UFduW
LV Write Access read/write
LV Status available
# open 0
LV Size 3.00 GB
Current LE 768
Segments 1
Allocation inherit
Read ahead sectors auto
– currently set to 256
Block device 253:1

Aquí podemos ver las dos particiones que hemos creado, home y linux. Hay que destacar que como el PV y el VG, las particiones tienen un único identificador y éste es el que Linux usa para detectar y controlar los dispositivos.

Formateando

Ahora que tenemos las dos particiones, podemos formatearlas como lo haría con cualquier otro dispositivo.

# mke2fs /dev/system/linux -L linux
mke2fs 1.41.1 (01-Sep-2008)
Filesystem label=linux
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
131072 inodes, 524288 blocks
26214 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=536870912
16 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

Puede ahora montarse como cualquier otro dispositivo.

Expandiendo particiones

Ahora que estamos usando LVM, si nos quedamos sin espacio en una partición, todo lo que necesitamos hacer es decirle la LVM que asigne mas espacio a un dispositivo en particular y redimensione el sistema de ficheros. Mientras que podemos disminuir el tamaño de las particiones facilmente, debemos obrar con mucha cautela cuando las queremos aumentar de tamaño. Por esta razón, recomiendo que nunca asignemos el tamaño total de nuestro volúmen físico a nuestro Logical Volumes, para poder hacerlo mas grande o mas pequeño siempre que lo necesitemos. Si estas usando un sistema de ficheros ext, este puede ser transformado mientras las particiones estan todavía montadas (otros sistemas de fichero también lo permiten).

Esto es lo que podemos ver actualmente, cuando el 100% esta siendo usado.

# df -h
/dev/mapper/system-linux 2.0G 2.0G 0 100% /media/linux

Primero, hay que extender el Logical Volume 1GB mas.

# lvresize -L +1G /dev/system/linux
Extending logical volume linux to 3.00 GB
Logical volume linux successfully resized

Ahora que el dispositivo se ha extendido, necesitamos redimensionar el sistema de ficheros

# resize2fs /dev/system/linux
Filesystem at /dev/system/linux is mounted on /media/linux; on-line resizing required
Resizing the filesystem on /dev/system/linux to 786432 (4k) blocks.
The filesystem on /dev/system/linux is now 786432 blocks long.

Después de extender y redimensionar el sistema de fichero, esto es lo que podemos ver.

# df -h
/dev/mapper/system-linux 3.0G 2.0G 855M 71% /media/linux

Si queremos añadir otro disco duro a nuestra máquina, simplemente debemos instalarlo en nuestro ordenador y repetir los pasos 1 y 2. Como El Volume Group ya existe, no necesitas crearlo en el paso 3. En su lugar, añádelo al grupo existente.

# vgextend system /dev/sdf1
Volume group «system» successfully extended

Ahora tendremos el disco nuevo enteramente disposible como espacio adicional para el LVM, preparado para asignarlo a cualquier Logical Volume que queramos.

Y esta es la forma en la que podemos usar el LVM para expandir y reasignar mas espacio al vuelo, sin tener que cambiar todos los datos o apagar el ordenador.

Arrancando desde LVM

Si quieres usar LVM para el sistema entero, se puede hacer. La única precaución que se requiere es una partición adicional para /boot y que utilices un disco RAM inicial (initrd). Tu partición de arranque solo necesista unos 100MB y almacenará el kernel de Linux y el initrd. El initrd contendrá las herramientas LVM requeridas para detectar y activar los dispositivos LVM en el arranque, para poder arrancar el resto del sistema. Los instaladores de las principales distribuciones harán todo este proceso automáticamente.

Conclusión

Bueno, esto es básicamente el sistema de funcionamiento del LVM, el cual supone un control extra sobre los discos duros de nuestro ordenador. Permite a los usuarios expandir sus particiones individuales para conseguir un optimo uso del espacio del que disponen. LVM dispode de otras grandes ventajas, tales como hacer imágenes (snapshots) pro ejemplo que no cubriremos en este artículo. Tenga en cuenta que su distribución de Linux puede proveer alguna herramienta gráfica que ayude a configurar todo el LVM.

Traducción del enlace DistroWatch.com

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *