Administrador Lógico de Volúmenes
Crear Volúmenes Físicos (PV)
La primera versión del LVM requería que se crease una partición de
tipo Linux LVM
, pero con la introducción de LVM2 se
elimino dicha limitación, ahora simplemente se puede emplear como
Volúmen Físico cualquier dispositivo de bloques, ya sea un disco
duro entero (/dev/sda), una partición (/dev/sda1), hasta incluso
dispositivos de bucle (/dev/loop0).
Para poder usar un dispositivo de almacenamiento con el LVM
lo primero es inicializarlo, para ello se usa el comando
pvcreate
seguido del nombre del dispositivo o
los dispositivos de bloques a inicializar.
Así, si queremos inicializar la tercera partición del primer disco
ATA, podríamos usar el comando:
[hell@hipnos] $ pvcreate /dev/hda3
Physical volume "/dev/hda3" successfully created
En caso de querer inicializar la segunda partición del primer disco
SATA o SCSI, y el segundo disco SATA entero:
[hell@hipnos] $ pvcreate /dev/sda2 /dev/sdb
Physical volume "/dev/sda2" successfully created
Physical volume "/dev/sdb" successfully created
Crear Grupos de Volúmen (VG)
Una vez que tenemos inicializados uno o varios Volúmenes Físicos
hay que unirlos en un Grupo de Volúmen, de está forma se
obtiene algo así como un área de almacenamiento cuya capacidad es
la suma de las capacidades de todos los Volúmenes Físicos que lo
forman, o dicho de otra forma, si tenemos un Volúmen Físico de
4GB y otro de 8GB y los unimos en un Grupo de Volúmen, dicho
Grupo de Volúmen tendrá una capacidad de 12GB (4+8=12).
Para crear un nuevo Grupo de Volúmen se emplea el comando
vgcreate
, con el primer parámetro se especifica el
nombre que tendrá el Grupo de Volúmen, a continuación, se indica
la lista de Volúmenes Físicos que formarán el Grupo de Volúmen.
Básicamente, la sintaxis es la siguiente:
vgcreate nombre_del_vg volúmen_físico [volúmen_físico ...]
Por ejemplo, suponiendo que queramos crear un Grupo de Volúmen
para albergar el contenido de nuestros servidores de FTP y HTTP,
hemos decidido llamar servidores
al Grupo de
Volúmen, y usará el Volúmen Físico que hemos creado en la
cuarta partición del primer disco SATA (/dev/sda4), para ello,
podríamos emplear el siguiente comando:
[hell@hipnos] $ vgcreate servidores /dev/sda4
Volume group "servidores" successfully created
Ahora, por el contrario, queremos crear otro Grupo de Volumen
para almacenar los archivos de los usuarios del sistema, y por
lo tanto, elegimos ponerle el nombre usuarios
,
en este caso los Volúmenes Físicos que vamos
a emplear son la segunda partición del primer disco SATA
(/dev/sda2) y el segundo disco SATA entero (/dev/sdb), conociendo
esto, podríamos crear el Grupo de Volúmen con el comando:
[hell@hipnos] $ vgcreate usuarios /dev/sda2 /dev/sdb
Volume group "usuarios" successfully created
Crear Volúmenes Lógicos (LV)
Una vez dispongamos de un Grupo de Volúmen, es hora de distribuir
su espacio en Volúmenes Lógicos sobre los que poder crear sistemas
de archivos. Para crear un Volúmen Lógico se emplea el comando
lvcreate
, su sintaxis es la siguiente:
lvcreate {-L/--size tamaño} {-n/--name nombre_del_lv} nombre_del_vg
Con la opción -L
o --size
se
especifica el tamaño que
tendrá el Volúmen Lógico, si no se espeficica ningún sufijo, se
asumirá que es en megabytes, los sufijos que se pueden usar son:
K para kilobytes, M para megabytes,
G para gigabytes y T para
terabytes.
La opción -n
o --name
sirve para
establecer el nombre
que tendrá el Volúmen Lógico, si no se especificase un nombre
entonces se establecería uno del tipo lvol#
,
donde # es número interno asignado al Volúmen Lógico.
El último parámetro que hay que indicarle al comando
lvcreate
es el Grupo de Volúmen donde se creará
el Volúmen Lógico.
Por cada Volúmen Lógico que tengamos, se creará un dispositivo
dentro de /dev/mapper/
que estará compuesto por
el nombre del Grupo de Volúmen, un guión y el nombre del Volúmen
Lógico, por ejemplo, si el Grupo de Volúmen se llama
servidores
y la Volúmen Lógico que hemos creado
se llama ftp
, entonces se creará el dispositivo
/dev/mapper/servidores-ftp
. Por otro lado, también
se creará un enlace simbólico con la forma
/dev/grupo_de_volúmen/volúmen_lógico, en
el caso del ejemplo, se llamaría: /dev/servidores/ftp.
Siguiendo con los ejemplos, anteriormente, se mostró como
crear un Grupo de Volúmen llamado servidores
,
ahora imaginemos que lo que queremos es crear dos Volúmenes
Lógicos en ese Grupo de Volúmen, uno para un servidor de
FTP al que llamaremos ftp
con 10GB, y otro
para el servidor de HTTP al que llamaremos web
con un tamaño de 5GB, entonces, los siguientes comandos
podrían crear los Volúmenes Lógicos deseados:
[hell@hipnos] $ lvcreate --size 10G --name ftp servidores
Logical volume "ftp" created
[hell@hipnos] $ lvcreate --size 5G --name web servidores
Logical volume "web" created
Tras ejecutar los comandos anteriores, y suponiendo que hubiese
espacio suficiente en el Grupo de Volúmen para ambos Volúmenes
Lógicos, se crearán automáticamente dos dispositivos dentro de
/dev/mapper/
, uno será
/dev/mapper/servidores-ftp
y el otro será
/dev/mapper/servidores-web
, también se crearán los
enlaces simbólicos y
/dev/servidores/web
, tanto los dispositivos como
los enalces simbólicos se pueden utilizar para referirse a los
Volúmenes Lógicos.
Crear un sistema de archivos en un Volúmen Lógico
Una vez que tenemos un Volúmen Lógico, podemos usar su
dispositivo como un dispositivo de bloques en el que
crear un sistema de archivos. Ejemplo, para crear un sistema
de archigos ext3 en el Volúmen Lógico perteneciente al servidor
de FTP:
[hell@hipnos] $ mkfs.ext3 /dev/mapper/servidores-ftp
Mientras que si queremos crear un sistema de archivos XFS en
el Volúmen Lógico del servidor HTTP:
[hell@hipnos] $ mkfs.xfs /dev/mapper/servidores-web
Después, restaría montarlos en sus correspondientes directorios,
por ejemplo, para montar el Volúmen Lógico perteneciente al
servidor HTTP en el directorio /var/httpd
podríamos
poner:
[hell@hipnos] $ mount -t xfs /dev/mapper/servidores-web /var/httpd