Búsqueda de sitios web

Cómo crear almacenamiento en disco con LVM en Linux - Parte 1


La Administración de volúmenes lógicos (LVM) es una poderosa herramienta que simplifica enormemente la administración del espacio en disco. Con LVM, la tarea de asignar espacio adicional a un sistema de archivos se vuelve sencilla.

Siempre que un sistema de archivos requiera más espacio, puede utilizar fácilmente el espacio libre disponible en su grupo de volúmenes correspondiente. Como resultado, los sistemas de archivos se pueden cambiar de tamaño dinámicamente para adaptarse a nuestras necesidades específicas.

Además, LVM ofrece una sólida protección de datos en caso de fallos del disco. Si un disco comienza a mostrar signos de falla, podemos integrar sin problemas un disco de reemplazo en el grupo de volúmenes como un nuevo volumen físico.

Al hacerlo, los volúmenes lógicos se pueden migrar de manera eficiente al disco nuevo, asegurando la continuidad y protegiendo contra cualquier posible pérdida de datos.

En esencia, LVM permite a los administradores gestionar la asignación y gestión del espacio en disco con una flexibilidad y resistencia incomparables. Sus capacidades de cambio de tamaño dinámico y funciones de redundancia integradas lo convierten en un activo indispensable para optimizar la utilización del almacenamiento y mejorar la integridad de los datos en cualquier configuración del sistema.

Presentamos la serie completa "Preparación para configurar LVM (administración de volúmenes lógicos)", cuidadosamente elaborada en las Partes 1 a 6, con una exploración en profundidad de los siguientes temas esenciales:

Antes de continuar con la configuración de LVM, considere los siguientes requisitos previos:

Configuración de mi servidor: requisitos
  • SO: RHEL 9 con instalación LVM
  • Dirección IP: 192.168.0.200
  • Discos: 3 discos de 20 GB cada uno.

Verifique el almacenamiento en disco LVM en Linux

1. Para obtener información sobre nuestra configuración LVM, podemos utilizar los siguientes comandos para revelar los distintos componentes: Volumen físico (PV), Grupo de volúmenes (VG) y Volumen lógico (LV).

pvs 
vgs
lvs

Aquí está la descripción de cada parámetro que se muestra en la captura de pantalla anterior.

  • Tamaño del disco físico (tamaño PV)
  • El disco utilizado fue Virtual Disk sda.
  • Tamaño del grupo de volumen (tamaño VG)
  • Nombre del grupo de volúmenes (vg_tecmint)
  • Nombre del volumen lógico (LogVol00, LogVol01)
  • LogVol00 Asignado para un intercambio con un tamaño de 956 MB
  • LogVol01 Asignado para/con 18,63 GB

Entonces, a partir de aquí llegamos a saber que no hay suficiente espacio libre en el disco VDA.

Crear un nuevo grupo de volúmenes en LVM

2. Para crear un nuevo grupo de volúmenes, necesitamos agregar 3 discos duros adicionales a este servidor. Sin embargo, no es obligatorio utilizar 3 unidades; solo 1 es suficiente para crear un nuevo VG y un LV (volumen lógico) dentro de ese VG.

Estoy agregando los siguientes 3 discos aquí con fines de demostración y para brindar más explicaciones de comandos de funciones.

sdb, sdc, sdd

3. Para enumerar todos los discos y sus particiones, como el nombre del disco, el tamaño, el tipo de partición, los sectores de inicio y fin, y más, utilice la utilidad fdisk como se muestra.

fdisk -l

Aquí está la descripción de cada disco que se muestra en la captura de pantalla anterior.

  • El disco predeterminado utilizado para el sistema operativo es RHEL 9.
  • Las particiones definidas en el disco predeterminado son las siguientes: (sda1=arranque), (sda2=/).
  • Además, los discos agregados se mencionan como Disco1, Disco2 y Disco3.

Todos y cada uno de los discos tienen un tamaño de 20 GB.

4. Ahora ejecute el comando vgdisplay para ver la información detallada sobre todos los grupos de volúmenes presentes en el sistema, incluido su nombre, tamaño, espacio libre y volumen físico (PV). información y más.

vgdisplay

Aquí está la descripción de cada parámetro que se muestra en la captura de pantalla anterior.

  • Nombre de VG: un nombre de grupo de volúmenes.
  • Formato: la arquitectura LVM utilizaba lvm2.
  • Acceso VG: el grupo de volúmenes está en modo de lectura y escritura y listo para usar.
  • Estado de VG: se puede cambiar el tamaño del grupo de volúmenes. Podemos ampliarlo si necesitamos agregar más espacio.
  • Cur LV: actualmente, hay 2 volúmenes lógicos en este grupo de volúmenes.
  • CurPV y Act PV: actualmente, el disco físico en uso es 1 (vda) y está activo. Entonces, podemos usar este grupo de volúmenes.
  • Tamaño de PE: las extensiones físicas (PE) y el tamaño de un disco se pueden definir utilizando el tamaño de PE o GB. El tamaño PE predeterminado de LVM es 4 MB. Por ejemplo, si necesitamos crear un volumen lógico de 5 GB, podemos usar una suma de 1280 PE. ¿Entiendes lo que te estoy diciendo?

Aquí está la explicación: 1 GB es igual a 1024 MB, por lo que 1024 MB x 5=5120 PE=5 GB. Ahora, divida 5120 entre 4=1280. 4 es el tamaño de PE predeterminado.

  • PE total: este grupo de volumen tiene.
  • Alloc PE: PE total utilizado, PE completo ya utilizado, 5008 x 4PE=20032.
  • PE gratuito – Aquí ya se utiliza, por lo que no había PE gratuito.

5. Ahora enumere la información del espacio en disco del sistema de archivos, aquí solo se usa sda con /boot, /, e intercambiar en el disco físico sda usando LVM. No queda espacio en este disco.

df -TH

La imagen de arriba muestra el punto de montaje que estamos usando y los 19 GB se usan por completo para la raíz, por lo que no hay espacio libre disponible.

Crear una partición de disco

6. Entonces, creemos un nuevo volumen físico (PV) y grupo de volúmenes (VG) llamado tecmint_add_vg y creemos volúmenes lógicos (LV) dentro de él. Aquí podemos crear 4 volúmenes lógicos con los nombres tecmint_documents, tecmint_manager y tecmint_public.

Podemos ampliar el Grupo de Volumen del VG actualmente utilizado para obtener más espacio. Sin embargo, en este caso, crearemos un nuevo grupo de volúmenes y experimentaremos con él. Más adelante podremos ver cómo ampliar los sistemas de archivos del Grupo de Volumen que está actualmente en uso.

Antes de usar un disco nuevo, necesitamos particionarlo usando el comando fdisk como se muestra.

fdisk -c /dev/sdb

A continuación, siga los pasos a continuación para crear una nueva partición.

  • Elija n para crear uno nuevo.
  • Elija p para crear una partición primaria.
  • Elija qué número de particiones necesitamos crear.
  • Presione enter dos veces para utilizar todo el espacio del disco.
  • Necesitamos cambiar el tipo de partición recién creada t.
  • Qué número de partición necesita cambiar, elija el número en el que creamos su 1.
  • Aquí necesitamos cambiar el tipo, necesitamos crear LVM, así que usaremos el código de tipo de LVM como 8e, si no conocemos el código de tipo presione L para enumerar todos los tipos de códigos.
  • Imprime la partición que creamos para confirmar.
  • Aquí podemos ver el ID como 8e LINUX LVM.
  • Escriba los cambios y salga del fdisk.

7. Realice los pasos anteriores para los otros 2 discos sdc y sdd para crear nuevas particiones. Luego reinicie la máquina para verificar la tabla de particiones usando el comando fdisk.

fdisk -l

Crear volumen físico LVM

8. Ahora es el momento de crear volúmenes físicos utilizando los 3 discos. Aquí, he enumerado los discos físicos usando el comando 'pvs' y ahora solo aparece un PV predeterminado.

pvs

9. Luego cree los nuevos discos físicos y confirme los discos físicos recién creados.

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
pvs

Crear grupos de volúmenes LVM

10. Cree un grupo de volúmenes denominado tecmint_add_vg utilizando el PV gratuito disponible y un tamaño de PE de 32. Para mostrar En los grupos de volúmenes actuales, podemos ver que hay un grupo de volúmenes con 1 PV en uso.

vgs

11. Esto creará el grupo de volúmenes llamado tecmint_add_vg usando un tamaño de 32 MB PE y los 3 volúmenes físicos que creamos en los últimos pasos.

vgcreate -s 32M tecmint_add_vg /dev/sdb1 /dev/sdc1 /dev/sdd1

12. A continuación, verifique el grupo de volúmenes ejecutando el comando vgs nuevamente.

vgs

Comprender la salida del comando vgs:

  • Nombre del grupo de volúmenes.
  • Volúmenes físicos utilizados en este grupo de volúmenes.
  • Muestra el espacio libre disponible en este grupo de volúmenes.
  • Tamaño total del grupo de volúmenes.
  • Volúmenes lógicos dentro de este grupo de volúmenes. Aquí aún no los hemos creado, por lo que hay 0.
  • SN=Número de instantáneas que contiene el grupo de volúmenes. (Más adelante podremos crear una instantánea).
  • Estado del grupo de volúmenes como Escribible, legible, redimensionable, exportado, parcial y agrupado. Aquí está wz–n-, lo que significa w=Escribible, z=redimensionable.
  • Número de volumen físico (PV) utilizado en este grupo de volúmenes.

13. Para mostrar más información sobre el grupo de volúmenes utilice el comando.

vgs -v

14. Para obtener más información sobre los grupos de volúmenes recién creados, ejecute el siguiente comando.

vgdisplay tecmint_add_vg

Aquí está la descripción de cada parámetro que se muestra en la captura de pantalla anterior.

  • Nombre del grupo de volúmenes
  • Arquitectura LVM utilizada.
  • Puede estar en estado de lectura y escritura, listo para usar.
  • Se puede cambiar el tamaño de este grupo de volúmenes.
  • No se utilizó ningún disco físico y están activos.
  • Tamaño total del grupo de volúmenes.
  • Una talla única de PE era 32 aquí.
  • Número total de PE disponibles en este grupo de volumen.
  • Actualmente, no hemos creado ningún LV dentro de este VG, por lo que es totalmente gratuito.
  • UUID de este grupo de volúmenes.

Creación de volúmenes lógicos LVM

15. Ahora, cree 3 volúmenes lógicos llamados tecmint_documents, tecmint_manager y tecmint_public. Aquí, demostraremos cómo crear volúmenes lógicos utilizando tanto el tamaño PE como el tamaño GB.

Primero, enumere los volúmenes lógicos actuales usando el siguiente comando.

lvs

16. Estos volúmenes lógicos están en el grupo de volúmenes vg_tecmint. Para ver cuánto espacio libre hay disponible para crear volúmenes lógicos, enumere el grupo de volúmenes y los volúmenes físicos disponibles usando el comando 'vgs'.

vgs

El tamaño del grupo de volúmenes es de casi 60 GB y no se utiliza, por lo que podemos crear LV en él. Dividamos el grupo de volúmenes en tamaños iguales para crear 3 volúmenes lógicos. Eso significa 60 GB/3=20 GB. Cada volumen lógico tendrá un tamaño de 20 GB después de su creación.

Método 1: crear volúmenes lógicos usando tamaño PE

Primero, creemos volúmenes lógicos utilizando el tamaño de extensión física (PE). Necesitamos conocer el tamaño de PE predeterminado asignado a este grupo de volúmenes y el total de PE disponibles para crear nuevos volúmenes lógicos.

Ejecute el siguiente comando para obtener esta información.

vgdisplay tecmint_add_vg

  • El PE predeterminado asignado para este VG es 32 MB, aquí el tamaño de PE único será 32 MB.
  • El PE total disponible es 1917.

Simplemente haga y vea un pequeño cálculo usando el comando bc.

bc
1917PE/3 = 639 PE. 
639 PE x 32MB = 20448 --> 20GB

Presione CRTL+D para salir de bc.

Creemos ahora 3 volúmenes lógicos usando 639 PE. Aquí -l se utiliza para ampliar el tamaño y -n para asignar un nombre de volumen lógico.

lvcreate -l 639 -n tecmint_documents tecmint_add_vg
lvcreate -l 639 -n tecmint_manager tecmint_add_vg
lvcreate -l 639 -n tecmint_public tecmint_add_vg

Enumere los volúmenes lógicos creados usando el comando lvs.

lvs

Método 2: crear volúmenes lógicos usando el tamaño GB

Al crear un volumen lógico utilizando el tamaño GB, no podemos obtener el tamaño exacto. Entonces, la mejor manera es crear usando extender.

lvcreate -L 20G -n tecmint_documents tecmint_add_vg
lvcreate -L 20G -n tecmint_manager tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg

Enumere los volúmenes lógicos creados usando el comando lvs.

lvs

Aquí, podemos ver que al crear el tercer LV no podemos redondear a 20 GB, se debe a pequeños cambios en el tamaño, pero este problema se ignorará al crear LV usando el tamaño extendido.

Creando un sistema de archivos

17. Para usar los volúmenes lógicos necesitamos formatear. Aquí estoy usando el sistema de archivos ext4 para crear los volúmenes y voy a montarlos en /mnt/.

mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents
mkfs.ext4 /dev/tecmint_add_vg/tecmint_public
mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager

18. Creemos directorios en /mnt y montemos los volúmenes lógicos que hemos creado en el sistema de archivos.

mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/
mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/
mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/

19. Enumere y confirme el punto de montaje utilizando.

 
df -h

Montaje permanente de volúmenes lógicos

20. Ahora está montado temporalmente, para montaje permanente, necesitamos agregar la entrada en fstab, para eso obtendremos la entrada de montaje de mtab usando

cat /etc/mtab

21. Necesitamos hacer pequeños cambios en la entrada fstab mientras ingresamos las copias del contenido de la entrada de montaje desde mtab, necesitamos cambiar el rw a los valores predeterminados.

vi /etc/fstab

Nuestras entradas de fstab deberían ser similares al siguiente ejemplo.

/dev/mapper/tecmint_add_vg-tecmint_documents    /mnt/tecmint_documents  ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_public       /mnt/tecmint_public     ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_manager      /mnt/tecmint_manager    ext4    defaults 0 0

22. Finalmente, ejecute el comando mount -a para verificar la entrada fstab antes de reiniciar.

mount -av

Aquí hemos visto cómo configurar el almacenamiento flexible con volúmenes lógicos utilizando disco físico para volumen físico, volumen físico para grupo de volúmenes y grupo de volúmenes para volúmenes lógicos.

En mis próximos artículos futuros, veré cómo ampliar el grupo de volúmenes y los volúmenes lógicos, reducir el volumen lógico, tomar instantáneas y restaurar a partir de instantáneas. Hasta entonces, manténgase actualizado con TecMint para obtener más artículos increíbles.