fbpx LVM en Linux: pvcreate, vgcreate y lvcreate | Certificação Linux

LVM en Linux: pvcreate, vgcreate, lvcreate y gestión de volúmenes

📅 01/01/2019 ⏱ 7 min ✍️ Uira Ribeiro
Linuxcomandos
LVM en Linux: pvcreate, vgcreate, lvcreate y gestión de volúmenes
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponible en
Google Play
Disponible en
App Store

El esquema de particionar los discos que acabas de ver es útil para dividir los datos en una estructura organizacional que atienda y tenga algún sentido. Sin embargo, una vez creada la partición, hacer alteraciones es complicado, sin involucrar una posible pérdida de datos.

En el mejor de los casos es posible mover los datos al inicio del disco y reparticionarlo "en caliente". En el peor de los casos, es necesario un backup, recrear las particiones y restaurar el backup en el nuevo layout.

Para evitar todo ese trabajo y posible pérdida de datos, el equipo resolvió crear un administrador de volúmenes lógicos, llamado LVM - Logical Volume Manager.

El LVM en Linux es un Administrador de Discos integrado al Kernel de Linux. Él permite que:

  • Los discos sean cambiados sin interrupción del servicio (hotswap);
  • Alterar el tamaño de los volúmenes;
  • Crear imágenes (snapshots) de volúmenes;
  • Crear backup de imágenes de los volúmenes;
  • Crear un volumen único a partir de varios discos (similar al RAID 0);
  • Crear volúmenes espejados en más de un disco (similar al RAID 1).

De esta forma, el LVM fue creado para 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 tenga el siguiente esquema de particiones sin el LVM:

 Punto de Montaje ParticiónTamaño
/boot/dev/sda1500 Megabytes
 Swap/dev/sda21 Gigabyte
 //dev/sda36 Gigabytes
/home/dev/sda44 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 disminuir el tamaño del /home y aumentar el raíz, o incluso agregar otro disco y aumentar el raíz, sin necesidad de hacer backup de los datos, formatear la partición y copiar los datos de vuelta. Observa el mismo ejemplo utilizando volúmenes:

 Punto de Montaje ParticiónTamaño
/boot/dev/sda1500 Megabytes
 Swap/dev/vg00/swap1 Gigabyte
 //dev/vg00/root6 Gigabytes
/home/dev/vg00/home4 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 aplicación de algunos patches.

Las versiones de Kernels 4.x y 5.x ya soportan el LVM versión 2.

La única partición que no puede ser utilizada con el administrador de volúmenes es la /boot.

Terminología del LVM

Antes de mostrar los comandos del LVM, necesitas entender la terminología que el LVM utiliza:

  • 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, necesitas inicializar los discos para el LVM, después crear al menos un grupo de Volúmenes, crear al menos un volumen lógico en el grupo que acabas de crear, formatear el volumen con el sistema de archivos deseado y por último montarlo.

Resumidamente, es necesario hacer los siguientes pasos:

  1. Si vas a utilizar solo una partición de un disco, es necesario crearla con el fdisk o parted y cambiar su tipo a 8e (LVM), de lo contrario, basta con usar todo el disco con el pvcreate;
  2. Inicializar los volúmenes físicos (particiones o discos) con el comando pvcreate;
  3. Crear un volume group con el comando vgcreate;
  4. Activar un volume group con el comando vgchange;
  5. Crear un volumen lógico con el comando lvcreate;
  6. Formatear el volumen lógico con el sistema de archivos deseado con el mkfs.
  7. Montar el volumen lógico con el mount.

Creando particiones LVM

Si no deseas utilizar todo el disco como LVM, puedes usar el fdisk para crear una o más particiones tipo LVM. Para crear una partición LVM con el fdisk, creas la partición normalmente y alteras el tipo de ella a 8e.

Para ejemplificar, imaginemos que el sistema fue instalado en el disco /dev/sda.

Y para el LVM serán utilizados más dos discos: /dev/sdb y /dev/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.

Inicializando volúmenes físicos

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

Creando un volume group

Después de inicializar los discos, 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

Activando un volume group

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 reboot del sistema es necesario activar el volume group nuevamente. Entonces, se hace necesario incluir ese comando en los scripts de carga del sistema.

Creando volúmenes lógicos

El comando lvcreate crea volúmenes lógicos. En el ejemplo será creado un volumen lógico de 1GB llamado logico1 en el volumen meuvolume:

# lvcreate -L 1000 -n logico1 meuvolume
Logical volume “logico1” created

Como en nuestro ejemplo los discos /dev/sdb y /dev/sdc tienen 2GB cada uno, es posible crear hasta 4 volúmenes de 1GB cada, o 1 solo volumen lógico de 4GB, como en el ejemplo debajo:

# lvcreate -L 4000 -n logico1 meuvolume
  Logical volume “logico1” created

Activando el volumen lógico

El comando lvchange activa / desactiva el volumen lógico para uso:

Para ACTIVAR:

# lvchange -a y /dev/meuvolume/logico1

Para DESACTIVAR:

# lvchange -a n /dev/meuvolume/logico1

Formateando el volumen lógico

Cualquier sistema de archivos puede usarse para formatear el volumen lógico:

# mkfs.ext4 /dev/meuvolume/logico1
mke2fs 1.41.14 (22-Dec-2010)
Filesystem label=
OS type: Linux
(…)

Después de formatear el volumen lógico, es necesario montarlo:

# mount /dev/meuvolume/logico1 /mnt

Después de estos pasos el volumen lógico estará listo para usar.

También puedes usar LVM para aumentar o disminuir el tamaño de un volumen.

Aumentando el tamaño del volumen con un disco nuevo

Primero es necesario crear el volumen físico:

# pvcreate /dev/sdd

Asignarlo al grupo:

# vgextend meugrupo /dev/sdd

Desmontar el volumen lógico:

# umount /dev/meuvolume/logico1

Aumentar el grupo de volumen lógico:

# lvextend -L +13090M /dev/meuvolume/logico1

Buscar error y reparación del mismo:

# e2fsck -f /dev/meuvolume/logico1

Finalmente, redimensionamos:

# resize2fs /dev/meuvolume/logico1

Ahora solo falta montar nuevamente:

# mount /dev/meuvolume/logico1 /mnt

Aprende 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

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Después de años viendo profesionales perder horas en tareas simples por no conocer las herramientas correctas de Linux, decidí enseñar.
Hoy soy autor de la mayoría de los Materiales de Aprendizaje oficiales de la LPI y mentor de más de 14,000 alumnos certificados.

Conoce mi historia completa →

Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp