LVM en Linux: Cómo Crear, Redimensionar y Gestionar Volúmenes Lógicos
El LVM es útil para gestionar los discos de forma inteligente a través de volúmenes. Conoce esta tecnología usada en muchas distribuciones
El LVM es un administrador de discos del Kernel de Linux. Permite que los discos sean intercambiados sin interrupción del servicio (hotswap), alterar el tamaño de los volúmenes, crear respaldo de imágenes de los volúmenes, crear un volumen único a partir de varios # mount /dev/meuvolume/logico1 /dadosdiscos (similar al RAID 0) o crear volúmenes espejados en más de un disco (similar al RAID 1).
El LVM permite ampliar el sistema de archivos que tradicionalmente es visto como un conjunto de discos físicos y particiones. Su objetivo es permitir una gran flexibilidad para el administrador en la gestión de los discos.
Imagina que el usuario tiene el siguiente esquema de particiones sin el LVM:
/boot /dev/hda1 50 Megabytes
swap /dev/hda2 256 Megabytes
/ /dev/hda3 2 Gigabytes
/home /dev/hda4 6 Gigabytes
En este ejemplo, si el usuario desea aumentar la partición raíz, tendría que reformatear su disco, o incluso mover parte de los datos a otro disco y montar la nueva partición como un directorio del raíz.
Mientras que, si el usuario utiliza el LVM, podría simplemente reducir el tamaño de /home y aumentar el raíz, o incluso agregar otro disco y aumentar el raíz, sin necesidad de hacer respaldo de los datos, formatear la partición y copiar los datos de vuelta.
Observa el mismo ejemplo utilizando volúmenes:
/boot /dev/hda1 50Mb
swap /dev/vg00/swap 256Mb
/ /dev/vg00/root 2 Gigabytes
/home /dev/vg00/home 6 Gigabytes
En grandes sistemas con muchos discos, es prácticamente inviable gestionar los discos sin el uso del LVM.
Es importante que sepas que existen dos versiones del LVM: 1 y 2. La versión 2 es soportada por el Kernel 2.6 y 3.x, y por el Kernel 2.4 con la aplicación de algunos parches.
La única partición linux que no puede ser utilizada con el administrador de volúmenes es /boot.
Terminología del LVM
- Volumen Físico: Es un disco o algún hardware que se comporte como un disco (como un storage que use RAID);
- Volume Group: Es una abstracción del LVM que congrega volúmenes lógicos y volúmenes físicos en una misma unidad administrativa;
- Volumen Lógico: Es el equivalente a una partición en un sistema no-LVM.
Paso a paso para trabajar con el LVM
Para trabajar con el LVM es necesario hacer los siguientes pasos:
- Si vas a utilizar solo una partición de un disco, es necesario crearla con fdisk y cambiar su tipo;
- Inicializar los volúmenes físicos (particiones o discos) con el comando pvcreate;
- Crear un volume group con el comando vgcreate;
- Activar un volume group con el comando vgchange;
- Crear un volumen lógico con el comando lvcreate;
- Formatear el volumen lógico con el sistema de archivos deseado.
Preparar las particiones para el LVM con fdisk
Si no deseas utilizar todo el disco como LVM, puedes usar fdisk para crear una o más particiones tipo LVM.
Para crear una partición LVM con fdisk, creas la partición normalmente y alteras el tipo de la misma a 8e.
Para ejemplificar, imaginemos que el sistema fue instalado en el disco sda. Y serán utilizados dos discos para el LVM: sdb y sdc que no están particionados.
Antes de agregar un disco o partición como un volumen físico del LVM es necesario inicializarlo con el comando pvcreate.
Inicializar volúmenes físicos con pvcreate
Para inicializar volúmenes físicos de discos enteros el comando es pvcreate y la ruta completa de la partición o disco:
# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created
# pvcreate /dev/sdc
Physical volume "/dev/sdc" successfully created
Recuerda cambiar antes el tipo de las particiones con fdisk a 8e.
Crear un volume group con vgcreate
Después de inicializados, es necesario crear un grupo de volumen con los discos con el comando vgcreate:
# vgcreate meuvolume /dev/sdb /dev/sdc
Volume group "meuvolume" successfully created
Activar un volume group con vgchange
Después de crear el volume group, es necesario activarlo con el comando vgchange:
# vgchange -a y meuvolume
0 logical volume(s) in volume group "meuvolume" now active
Después del reinicio del sistema es necesario activar el volume group nuevamente. Por lo tanto, es necesario incluir este comando en los scripts de carga del sistema.
Eliminar un volume group con vgremove
Para eliminar un volume group no puede haber volúmenes lógicos dentro del grupo.
El comando para eliminar volúmenes es vgremove y el volumen necesita estar desactivado:
# vgchange -a n meuvolume
# vgremove meuvolume
Agregar nuevos "volúmenes físicos al volume group con vgextend
Nuevos discos pueden ser agregados al volume group con el comando:
# vgextend meuvolume /dev/sdd
Eliminar volúmenes "físicos del volume group" con vgreduce
Los discos pueden ser eliminados del volume group con el comando vgreduce.
Você precisa ter certeza de que não há nenhum volume lógico no volume físico, que pode ser migrado para outro disco.
# vgreduce meuvolume /dev/sdd
Crear volúmenes lógicos con lvcreate
O comando lvcreate cria volumes lógicos. No exemplo será criado um volume lógico de 1GB chamado logico1 no volume meuvolume:
# lvcreate -L 1000 -n logico1 meuvolume
Logical volume "logico1" created
Como o sdb e sdc têm 2GB cada um, é possível criar até 4 volumes de 1GB cada, ou 1 só volume lógico de 4GB, como no exemplo abaixo:
# lvcreate -L 4000 -n logico1 meuvolume
Logical volume "logico1" created
Activar el volumen lógico con lvchange
O comando lvchange ativa / desativa o volume lógico para uso:
ATIVAR:
# lvchange -a y /dev/meuvolume/logico1
DESATIVAR:
# lvchange -a n /dev/meuvolume/logico1
Formatear el volumen lógico con mkfs
Qualquer sistema de arquivos pode ser usado para formatar o volume lógico:
# mkfs.ext4 /dev/meuvolume/logico1
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
(…)
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Depois de formatar o volume lógico, é necessário montá-lo:
# mount /dev/meuvolume/logico1 /dados
Após esses passos o volume lógico estará pronto para uso.
Aumentar el tamaño del volumen
Primeiro é necessário criar o volume físico:
# pvcreate /dev/hda8
Atribuí-lo ao grupo:
# vgextend meugrupo /dev/hda8
Desmonte o volume lógico:
# umount /dev/meuvolume/logico1
Aumente o grupo de volume lógico:
# lvextend -L +13090M /dev/meuvolume/logico1
Procurar por erro e reparação do mesmo:
# e2fsck -f /dev/meuvolume/logico1
Finalmente, redimensionamos:
# resize2fs /dev/meuvolume/logico1
Agora basta montar:
# mount /dev/meuvolume/logico1 /dados
Diminuindo o tamanho do volume
Desmontar o sistema de arquivos:
# umount /dev/meuvolume/logico1
Checar o volume lógico contra erros:
# e2fsck -f /dev/meuvolume/logico1
Diminuir a partição:
# resize2fs /dev/meuvolume/logico1 524288
Diminuir o volume lógico:
# lvreduce -L -50M //dev/meuvolume/logico1
Remontar o sistema de arquivos:
# mount /dev/meuvolume/logico1 /dados
Aprenda mucho más sobre Linux en nuestro curso en línea. Puedes realizar la inscripción aquí. Si ya tienes una cuenta, o quieres crear una, simplemente ingresa o crea tu usuario aquí.
¿Te gustó? Comparte
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.