Vous êtes sur la page 1sur 8

Manual sobre LVM (Parte I –

Introducción)

No te ha pasado alguna vez que cuando instalas tu distribución de GNU/Linux


crees que has elegido el tamaño correcto para cada partición pero una de éstas
particiones se queda sin espacio libre, aquí es donde LVM entra en acción,
facilitándonos la administración de nuestros sistemas de almacenamiento.

LVM(Logical Volume Management) es una implementación de un administrador de


volúmenes lógicos para el kernel Linux, que nos permite:

 Redimensionado de grupos lógicos.


 Redimensionado de volúmenes lógicos.
 Instantáneas de sólo lectura.
 RAID0 de volúmenes lógicos.
Supongamos que por ejemplo nuestro disco duro donde hemos colocado la
partición de /home se está quedando sin espacio, LVM nos permite añadir más
espacio a esa partición de forma que no es necesario tener que reinstalar todo el
sistema operativo de nuevo en un disco de mayor tamaño, sino que asociamos un
nuevo disco a la partición /home.

Por lo que cuando un nuevo disco se añade al sistema, no es necesario mover los
datos de los usuarios, simplemente se añade el nuevo disco al grupo lógico
correspondiente y se expanden los volúmenes lógicos a todo lo que se considere
adecuado, o bien se migran los datos de discos antiguos a otros nuevos de forma
totalmente transparente al usuario.

LVM está dividido en cinco partes:


 Volúmenes físicos (PV) -> Son los discos duros o particiones.
 Volúmenes lógicos (LV) -> Es el equivalente a una partición en un sistema tradicional, por
lo que puede contener un sistema de archivos como por ejemplo /home.
 Grupos de volúmenes (VG) -> Es la parte que engloba los volúmenes lógicos (LV) y
nuestros volúmenes físicos (PV), es decir, es una especie de caja donde se sitúan los
volúmenes lógicos (LV) y los volúmenes físicos (PV).
 Extensión Lógica (LE) -> Cada volúmen físico esta divido en pequeños trozo de datos
llamados extensión lógica(logical extents).
 Extensión Física (PE) -> Cada volúmen físico(LV) esta divido en pequeños trozos datos
que se llaman extensión física(physical extents), que es del mismo tamaño que una
extensión lógica(LE).
Veamos cómo encajan estos concepto en nuestro sistema. Supongamos que
tenemos una partición /dev/sda1, y creamos un grupo de volúmenes(VG) llamado
vg1 e introducimos en él la partición, con lo que está partición se convierte en un
volumen físico(PV) que se llamará pv1, si el grupo de volúmenes vg1 tiene una
extensión física de 4Mb entonces los volúmenes físicos están divididos en
pedazos 4Mb de datos cada uno.

Ahora ya sabemos que es LVM y para que se utiliza, en el artículo de la semana


que viene veremos cómo instalar y configurar nuestro sistema con LVM.
Manual sobre LVM (Parte II – Instalación
y configuración)
Para este articulo vamos a ver como se instala LVM en una distribución Debian
Etch, y cómo crear volúmenes físicos(PV) para el nuevo disco que queremos
introducir en nuestro sistema.

Lo primero que tenemos que hacer para usar LVM es instalarlo, para está ocasión
hemos escogido la distribución Debian ya que la instalación en está distribución es
muy sencilla, tan sencilla cómo hacer:

#apt-get install lvm2

Ahora que ya tenemos instalado LVM es hora de añadir nuestro nuevo disco al
sistema. Supongamos que tenemos los siguientes disco:

/dev/sda1 * 1 768 6168928+ 83 Linux


/dev/sda2 4742 4865 996030 82 Linux swap / Solaris
/dev/sda3 769 4741 81913122+ 83 Linux(Está es el nuevo disco a añadir)

Donde sda1 es un disco de 50Gb y sda2 es una partición swap de sda1, y por otro
lado tenemos el disco sda3 de 80Gb que es el disco queremos añadir a nuestro
sistema, concretamente queremos ampliar el directorio /home.

Lo primero que tendríamos que hacer para poder usar un dispositivo de


almacenamiento con LVM es inicializarlo, para ello podemos usar el
comando pvcreate que nos creará un volumen físico de nuestro nuevo disco.
websecurity:~# pvcreate /dev/hda3
Physical volume "/dev/sda3" successfully created

Para ver el resultado de la operación podemos ejecutar el comando pvdisplay.

Una vez que tenemos creados el volumen físico tenemos que agregarlo a un
grupo de volúmenes para que se sume su tamaño y se forme un área de
almacenamiento general, para realizar está acción tenemos que usar el
comando vgcreate de la siguiente manera.
websecurity:~# vgcreate vg1 /dev/sda3
Volume group "vg1" successfully created

Y al igual que antes podríamos ver los resultados de la operación con el


comando vgdisplay.

Ahora el siguiente paso es crear el volumen lógico(LV), que nos dividirá el espacio
del grupo de Volúmenes en volúmenes lógicos sobre los cuales se crearán los
sistemas de archivos, es decir, creamos un volumen logico en nuestro
disco sda3 con el tamaño que queramos a asignar posteriormente por ejemplo a la
carpeta /home, para ello tenemos que ejecutar el comando lvcreate de la siguiente
forma:
websecurity:~# lvcreate -L 30G -n lvhome vg1
Logical volume "lvhome" created

Y al igual que en las ocasiones anteriores podemos observar el resultado, está vez
con el comando lvdisplay.

Una vez tenemos creados los volumen lógico, tenemos que asignarle el sistema
de archivos que utilizara, ext3, xfs, ext2, fat32, etc… Para crear un sistema de
archivos que fuese ext3 utilizaríamos el comando mkfs:
mkfs.ext3 /dev/mapper/vg1-lvhome

Por ultimo tenemos que asignar nuestro nuevo volumen lógico a nuestro
directorio /home, entonces para evitarnos perder información tenemos que seguir
los siguientes pasos:
websecurity:~#telinit 1 (Evitar que alguien este accediendo)
(Ahora copiamos la información de /home a lvhome para que haya lo mismo)
websecurity:~#mount /dev/vg1/lvhome /mnt
websecurity:~#cp -a /home/* /mnt
websecurity:~#umount /mnt
websecurity:~#mkdir /old_home
websecurity:~#mv /home/* /old_home/
websecurity:~#mount /dev/vg1*lvusr /usr

Y ahora sólo nos quedaría modificar el archivo /etc/fstab para que se monte
automáticamente al arrancar el sistema, por lo que tenemos que añadir la
siguiente línea a dicho fichero
/dev/vg1/lvhome /home ext3 defaults 0 2

Y volver al nivel de ejecución 2:

websecurity:~#telinit 2

Pues ahora ya sabemos añadir un nuevo volumen lógico a nuestro sistema, en el


artículo de la semana que viene veremos como redimensionar los volúmenes
lógicos.

Manual sobre LVM (Parte III –


Expandiendo volúmenes lógicos)
Con el paso del tiempo siempre surge la necesidad de aumentar o reducir el
tamaño de una de nuestros volúmenes lógicos, imaginemos que nuestra
partición /home se nos ha quedado pequeña y queremos ampliar de nuevo dicho
directorio, además anteriormente le habíamos asignado ya 30 GB de un disco de
40GB, y por lo tanto queremos añadirle esos 10 GB al directorio /home.

Lo primero que tenemos que hacer es verificar exactamente el espacio que nos
queda disponible en el grupo de volúmenes, por lo tanto ejecutaremos el siguiente
comando para comprobar cuanto espacio tenemos:
websecurity:~# vgdisplay vg1
Free PE / Size 3951 / 10.32 GB (Y nos fijamos en este valor)
Por lo que realmente nos quedan 10 .32GB de espacio que podemos asignar a la
carpeta /home.

Ahora que conocemos el tamaño exacto vamos a expandir el volumen lógico


ejecutando el comando lvresize indicándole el tamaño que queremos añadir, así
como el grupo al que queremos añadir el espacio:
websecurity:~# lvresize -L +10G /dev/vg1/lvhome
Extending logical volume lvhome to 40.00 GB
Logical volume lvhome successfully resized

Con lo que ya hemos añadido el tamaño al volumen lógico, por lo que ahora
tendremos que hacer coincidir el sistema de archivos con el nuevo tamaño del
volumen lógico, por lo que tenemos que hacer:

websecurity:~#telinit 1 (Evitar que alguien este accediendo)


websecurity:~#umount /home
websecurity:~# resize2fs /dev/vg1/lvhome (Según el sistema de fichero elegido)
websecurity:~#mount /home

Ahora para comprobar que todo ha ido bien, ejecutamos el siguiente comando:

websecurity:~#lvdisplay /dev/vg1/lvhome
LV Size 40.00 GB (Y nos fijamos en este valor)

Con lo que podemos observar que ahora tenemos eso 10GB de más asignados a
nuestro directorio /home, y ya no tendremos problemas de espacio en dicho
directorio.

En el artículo de la semana que viene veremos como reducir los volúmenes


lógicos, ya que puede darse ocasiones en que necesitemos quitar espacio de un
grupo de volúmenes y añadirlo a otro.
Manual sobre LVM (Parte IV –
Reduciendo volúmenes lógicos)
Como es natural con el paso del tiempo puede darse el caso que tengamos un
volumen lógico que no necesite parte del espacio que habíamos reservado en un
principio, y por lo tanto queramos quitar un trozo de ese volumen lógico para
tenerlo disponible para asignarlo a otro de nuestros discos.

Supongamos que tenemos que nuestra partición /home tiene demasiado espacio y
queremos reducir el tamaño de dicho directorio, supongamos también que para la
carpeta /home tiene actualmente 40 GB de disco y queremos quitar 10 GB, con lo
que nos quedaremos con 30GB, pues manos a la obra.

Lo primero que tenemos que hacer es verificar la información disponible en el


grupo de volúmenes, por lo tanto ejecutaremos el siguiente comando para
comprobar cuanto espacio tenemos:
websecurity:~# lvdisplay /dev/vg1/lvhome
LV Size 40.00 GB (Y nos fijamos en este valor)

Ahora que conocemos el tamaño exacto vamos a reducir el volumen lógico, para
eso tenemos que hacer:

websecurity:~#telinit 1 (Evitar que alguien este accediendo)


websecurity:~#umount /home
websecurity:~# resize2fs /dev/vg1/lvhome 30GB (Según el sistema de fichero
elegido)
websecurity:~# lvreduce -L -1G /dev/vg1/lvhome (Reducimos el volumen lógico)
websecurity:~#mount /home

Con lo que ya tendremos nuestro volumen lógico reducido, ahora para comprobar
que el proceso a funcionado correctamente volvemos a ejecutar el mismo
comando de antes y observamos que el nuevo tamaño es 30 GB:
websecurity:~# lvdisplay /dev/vg1/lvhome
LV Size 30.00 GB (Y nos fijamos en este valor)

Con este artículo llegamos al final de está serie de artículos sobre LVM, espero
que haya sido de vuestro interés y que os sea muy útil.

Vous aimerez peut-être aussi