Está en la página 1de 3

LVM es una implementaci�n de un administrador de vol�menes l�gicos para el kernel

Linux. Se escribi� originalmente en 1998 por Heinz Mauelshagen, que se bas� en el


administrador de vol�menes de Veritas usado en sistemas HP-UX.

LVM incluye muchas de las caracter�sticas que se esperan de un administrador de


vol�menes, incluyendo:

Redimensionado de grupos l�gicos


Redimensionado de vol�menes l�gicos
Instant�neas de s�lo lectura (LVM2 ofrece lectura y escritura)
RAID0 de vol�menes l�gicos.
LVM no implementa RAID1 o RAID5, por lo que se recomienda usar software espec�fico
de RAID para estas operaciones, teniendo las LV por encima del RAID

En la imagen mostrada podemos observar c�mo trabaja LVM. Los vol�menes l�gicos
agrupan particiones f�sicas de disco, y �stos a su vez, aunque no est� representado
en la figura, se engloban en un grupo l�gico. De esta forma, /home se compone de
hda3, hda4 y hdb3, y a su vez, /usr engloba a hda1, hda2, hdb1 y hdb2.

�ndice
1 Introducci�n
2 Ventajas de usar LVM en un sistema peque�o
3 Ventajas de usar LVM en un sistema grande
4 Anatom�a de un LVM
5 Instant�neas (snapshots)
6 Ejemplos
6.1 Inicializaci�n del dispositivo l�gico
6.2 Creaci�n de la VG
6.3 Creaci�n del LV
6.4 Creaci�n del sistema de ficheros
7 Enlaces externos
Introducci�n
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".
Ventajas de usar LVM en un sistema peque�o
Una de las decisiones que afronta un usuario instalando GNU/Linux es c�mo
particionar el disco duro. La necesidad de estimar cuanto espacio ser� necesario
para el sistema, para los temporales o para los datos personales, puede convertirse
en algo problem�tico, por lo que muchos usuarios optan por crear una partici�n que
ocupe todo el disco y all� introducir los datos. Aun habiendo estimado
correctamente cu�nto espacio se necesita para /home, /usr, /tmp, o cualquier otro
directorio importante, es bastante com�n que nos quedemos sin espacio en estas
particiones, cuando tenemos espacio de sobra en alguna otra.

Con el uso de un administrador de vol�menes l�gicos, el disco completo puede ser


asignado a un �nico grupo l�gico y definir distintos vol�menes l�gicos para
almacenar /home u otros directorios. En el caso de que nos quedemos sin espacio,
por ejemplo, en /home, y tenemos espacio en /opt, podr�amos redimensionar /home
y /opt y usar el espacio que le hemos quitado a /opt y a�ad�rselo a /home. Hay que
tener en cuenta, que para realizar esto, nuestro sistema de ficheros debe soportar
el redimensionado por arriba y por abajo, como ReiserFS.
Otra alternativa ser�a dejar una cierta cantidad de espacio del disco sin asignar y
cuando fuera necesario, expandir el volumen.
Ventajas de usar LVM en un sistema grande
Administrar un sistema con muchos discos es un trabajo que consume tiempo, y se
hace particularmente complejo si el sistema contiene discos de distintos tama�os.
Equilibrar los requerimientos de almacenamiento de distintos usuarios (a menudo
conflictivos) puede ser una tarea muy laboriosa y compleja.
Los grupos de usuarios (llam�mosles por ejemplo administraci�n, desarrollo, etc.)
pueden tener sus vol�menes l�gicos y �stos pueden crecer lo que sea necesario, y el
administrador puede realizar las operaciones oportunas sobre dichos vol�menes.
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 todo lo que se considere adecuado. Tambi�n se pueden
migrar los datos de discos antiguos a otros nuevos, de forma totalmente
transparente al usuario.

Anatom�a de un LVM
Un LVM se descompone en tres partes:
Vol�menes f�sicos (PV): Son las particiones del disco duro con sistema de archivos
LVM. (raid's)
Vol�menes l�gicos (LV): es el equivalente a una partici�n en un sistema
tradicional. El LV es visible como un dispositivo est�ndar de bloques, por lo que
puede contener un sistema de archivos (por ejemplo /home)
Grupos de vol�menes (VG): es la parte superior de la LVM. Es la "caja" en la que
tenemos nuestros vol�menes l�gicos (LV) y nuestros vol�menes f�sicos (PV). Se puede
ver como una unidad administrativa en la que se engloban nuestros recursos. Hay que
hacer notar que mientras un PV no se a�ada al VG, no podemos comenzar a usarlo.
A su vez, un PV se divide en chunks de datos, que se conocen como PE (physical
extents), que son del mismo tama�o que los PE del VG. Adem�s, un LV se divide
tambi�n en LE (logical extents), cuyo tama�o es el mismo para todos los LV del VG.
Por ejemplo, teniendo como referencia la imagen del comienzo del art�culo,
supongamos que tenemos un VG llamado CASA, con 4MB de PE, al que queremos a�adir un
LV para /tmp/. A�adimos dos particiones de disco, /dev/sda4 y /dev/sdb3, que se
llamar�n PV1 y PV2 (se las puede renombrar a discreci�n del usuario). Los PV's
pueden ser de distinto tama�o y por lo tanto, tendr�n un n�mero distinto de PE, por
lo que supongamos que tenemos para PV1 99 PE's y para PV2 248 PE's. Ahora, podemos
crear el LV que necesitamos, que puede ser de cualquier tama�o entre 1 y 347
(99+248) PE. De esta forma se crea una tabla que relaciona PE's y LE's y si, por
ejemplo, escribimos 4 MB en el LE n�mero 1 del LV, se corresponder�n con el PE 51
de la PV1.
La tabla que relaciona PE's y LE's, se llama tabla de mapeo, y la correspondencia
puede ser de dos tipos:
Directo: se asigna un rango de PE's a otro rango de LE's en orden. Por ejemplo, las
LE's del n�mero 1 al 99 se mapean sobre las PE's del 100 al 347 de PV2.
Entrelazado: las LE's se entrelazan sobre las PE's de los vol�menes f�sicos, por
ejemplo:
Destino Origen
Primer chunk de la LE1 Primer chunk de la PV1
Segundo chunk de la LE1 Primer chunk de la PV2
Tercer chunk de la LE1 Segundo chunk de la PV1
... ...
Instant�neas (snapshots)
Las instant�neas (snapshots) permiten al administrador crear un nuevo dispositivo
que ser� una copia exacta del LV, congelada en alg�n punto del tiempo. Normalmente
esto se realiza de forma autom�tica, para no alterar el funcionamiento normal del
sistema. Cuando la instant�nea ha terminado, el administrador puede quitar el
dispositivo sin mayor complicaci�n. Adem�s, no es necesario que los datos en el LV
se encuentren en un estado consistente, ya que muchos sistemas de ficheros en el
kernel 2.6 lo realizan de forma autom�tica.
Una diferencia importante entre la versi�n 1 de LVM (LVM1 a partir de ahora) y la
versi�n 2 (LVM2) es que en la primera, los snapshots eran de s�lo lectura, mientras
que en LVM2 son de lectura y escritura. �Cu�l es la diferencia? En LVM1, se crea lo
que se llama una tabla de excepciones, que se usa para mantener una lista de qu�
bloques en disco han cambiado. Si un bloque va a ser modificado en el origen,
primero se copia en la instant�nea, se marca como copiado en la tabla de
excepciones y luego los nuevos datos se copian al volumen original. En LVM2, las
instant�neas funcionan como en LVM1, pero con la caracter�stica de que si los datos
se escriben en el snapshot (una vez montado), ese bloque se marca como usado en la
tabla de excepciones y no se copia al volumen original. Esta caracter�stica es muy
�til debido a que podemos crear nuestra instant�nea, montarla y probar un programa
o un nuevo navegador de ficheros. Si ocurre algo desastroso, la desmontamos, la
borramos y volvemos a colocar el volumen original.

Ejemplos
Ya que podemos crear un PV sobre un dispositivo cualquiera de bloques ya bien sean
discos USB, raids, discos internos, cintas, etc., en esta serie de ejemplos nos
centraremos en dispositivos del tipo /dev/sdaX, y bajo la versi�n 2 de LVM.
No entraremos en la sintaxis de los comandos, ya que la ayuda que proporciona el
man es muy extensa y completa.
Inicializaci�n del dispositivo l�gico
Primero borramos la tabla de particiones e inicializamos las particiones de disco.

# dd if=/dev/zero of=/dev/sda bs=1k count=1


# dd if=/dev/zero of=/dev/sdb bs=1k count=1
# pvcreate /dev/sda
Physical volume "/dev/sda" successfully created
# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
En este paso, tenemos creados dos vol�menes f�sicos (PVs).

También podría gustarte