Búsqueda de sitios web

Cómo instalar Stratis para administrar el almacenamiento local en capas en RHEL 8


Stratis es una de las nuevas funciones que se incluyen con la distribución RHEL 8. Stratis es una solución de gestión de almacenamiento local que se centra en la simplicidad y la usabilidad mejorada y, al mismo tiempo, proporciona acceso a funciones de almacenamiento avanzadas. Utiliza el sistema de archivos XFS y le otorga acceso a capacidades de almacenamiento avanzadas como:

  • Aprovisionamiento ligero
  • Instantáneas del sistema de archivos
  • niveles
  • Gestión basada en grupos
  • Supervisión

Básicamente, Stratis es un grupo de almacenamiento que se crea a partir de uno o más discos locales o particiones de disco. Stratis ayuda al administrador del sistema a configurar y administrar configuraciones de almacenamiento complejas.

Antes de continuar, echemos un vistazo a algunos de los términos técnicos con los que seguramente se encontrará a medida que avanzamos:

  • pool: Un pool se compone de uno o más dispositivos de bloque. El tamaño total del grupo es igual a la suma total de los dispositivos de bloque.
  • blockdev: como habrás adivinado, esto se refiere a dispositivos de bloqueo, como particiones de disco.
  • Sistema de archivos: un sistema de archivos es una capa finamente aprovisionada que no tiene un tamaño total fijo. El tamaño real del sistema de archivos crece a medida que se agregan datos. Stratis aumenta automáticamente el tamaño del sistema de archivos a medida que el tamaño de los datos se acerca al tamaño virtual del sistema de archivos.

Los dispositivos de bloque que puede usar con Stratis incluyen:

  1. Volúmenes lógicos LVM
  2. lucas
  3. SSD (unidades de estado sólido)
  4. Ruta múltiple del asignador de dispositivos
  5. iSCSI
  6. HDD (unidades de disco duro)
  7. mdraid
  8. Dispositivos de almacenamiento NVMe

Componentes de software de Stratis

Stratis proporciona 2 utilidades de software:

  • Stratis-cli: esta es la herramienta de línea de comandos que se incluye con Stratis.
  • Demonio Stratisd: este es un demonio que crea y administra dispositivos de bloque y desempeña un papel en el suministro de una API DBUS.

Cómo instalar Stratis en RHEL 8

Habiendo analizado qué es Stratis y definido algunas terminologías. Ahora instalemos y configuremos Stratis en la distribución RHEL 8 (también funciona en CentOS 8).

Instalar Stratis en RHEL 8

Veamos cómo puede instalar Stratis en su sistema RHEL 8, inicie sesión como usuario root y ejecute el comando.

dnf install stratisd stratis-cli

Para encontrar más información sobre los paquetes instalados, ejecute el comando.

rpm -qi stratisd stratis-cli

Después de la instalación exitosa de Stratis, inicie el servicio ejecutando el comando.

systemctl enable --now stratisd

Para comprobar el estado de Stratis, ejecute el comando.

systemctl status stratisd

Crear un grupo Stratis

Para crear un grupo Stratis necesita bloquear dispositivos que no estén en uso o montados. Además, se supone que el servicio Stratisd está en funcionamiento. Además, los dispositivos de bloque que vayas a utilizar deben tener un tamaño mínimo de 1 GB.

En nuestro sistema RHEL 8, tenemos cuatro dispositivos de bloque adicionales: /dev/xvdb, /dev/xvdc, /dev/ xvdd, /dev/xvde. Para mostrar los dispositivos de bloque, ejecute el comando lsblk.

lsblk

Ninguno de estos dispositivos de bloque debería tener una tabla de particiones. Puede confirmar esto usando el comando.

blkid -p /dev/xvdb

Si no obtiene ningún resultado, significa que sus dispositivos de bloque no tienen ninguna tabla de particiones en ellos. Sin embargo, en caso de que exista una tabla de particiones, puedes borrarla usando el comando:

wipefs -a /<device-path>

Cree un grupo Stratis desde un dispositivo de un bloque

Puede crear un grupo Stratis desde un dispositivo de bloque único usando la sintaxis.

stratis pool create <pool-name> <block-device>

Por ejemplo, para crear un grupo desde /dev/xvdb ejecute el comando.

stratis pool create my_pool_1 /dev/xvdb

Para confirmar la ejecución del grupo creado.

stratis pool list

Cree un grupo Stratis a partir de múltiples dispositivos de bloques

Para crear un grupo desde varios dispositivos, utilice la sintaxis siguiente, enumerando todos los dispositivos en una línea.

stratis pool create <pool_name> device-1 device-2 device-n

Para crear un grupo desde /dev/xvdc, /dev/xvdd y /dev/xvde ejecute el comando.

stratis pool create my_pool_2 /dev/xvdc /dev/xvdd/ /dev/xvde

Una vez más, enumere los grupos disponibles usando el comando.

stratis pool list

En este punto, deberías tener 2 grupos: my_pool_1 y my_pool_2.

Como puede ver arriba, el espacio en el disco duro ocupado por el grupo my_pool_2 es tres veces mayor que el del primer grupo que creamos a partir de un solo dispositivo de bloque con una memoria de 10 GB.

Crear un sistema de archivos a partir de un grupo

Una vez creado su sistema de archivos, puede crear un sistema de archivos a partir de uno de los grupos utilizando la sintaxis.

stratis fs create <poolname> <filesystemname>

Por ejemplo, para crear sistema de archivos-1 y sistema de archivos-2 desde my_pool_1 y my_pool_2, ejecute respectivamente los comandos:

stratis fs create my_pool_1 filesystem-1
stratis fs create my_pool_2 filesystem-2

Para ver los sistemas de archivos recién creados, ejecute el comando.

stratis fs list

Para limitar los resultados de un sistema de archivos a un grupo, ejecute el comando:

stratis fs list <poolname>

Por ejemplo, para comprobar el sistema de archivos en my_pool_2 ejecute el comando.

stratis fs list my_pool_2

Ahora, si ejecuta el comando lsblk, el resultado debería ser algo similar al resultado de muestra a continuación.

lsblk

Montaje de un sistema de archivos Stratis

Ahora vamos a montar los sistemas de archivos existentes para poder acceder a ellos. Primero, cree los puntos de montaje.

Para el sistema de archivos en el primer grupo, ejecute el comando:

mkdir /data
mount /stratis/my_pool_1/filesystem-1 /data

Para el segundo sistema de archivos del segundo grupo, ejecute el comando.

mkdir /block
mount /stratis/my_pool_2/filesystem-2 /block

Para verificar la existencia de los puntos de montaje actuales, ejecute el comando df:

df -Th | grep  stratis

¡Perfecto! Podemos ver claramente que nuestros puntos de montaje están presentes.

Montar persistentemente sistemas de archivos Stratis

Los puntos de montaje que acabamos de crear no pueden sobrevivir a un reinicio. Para hacerlos persistentes, primero obtenga el UUID de cada uno de los sistemas de archivos:

blkid -p /stratis/my_pool_1/filesystem-1
blkid -p /stratis/my_pool_2/filesystem-2

Ahora continúe y copie las opciones del UUID y del punto de montaje en /etc/fstab como se muestra.

echo "UUID=c632dcf5-3e23-46c8-82b6-b06a4cc9d6a7 /data xfs defaults 0 0" | sudo tee -a /etc/fstab
echo "UUID=b485ce80-be18-4a06-8631-925132bbfd78 /block xfs defaults 0 0" | sudo tee -a /etc/fstab

Para que el sistema registre la nueva configuración ejecute el comando:

systemctl daemon-reload

Para verificar que la configuración funcione como se esperaba, monte los sistemas de archivos.

mount /data
mount /block

Eliminación de un sistema de archivos Stratis

Para eliminar un sistema de archivos, primero debe desmontar el sistema de archivos como se muestra.

umount /mount-point

En este caso, lo tendremos.

umount /data

Para destruir el sistema de archivos, use la sintaxis:

stratis filesystem destroy <poolname> <filesystem-name>

Entonces, tendremos:

stratis filesystem destroy my_pool_1 filesystem-1

Para confirmar la eliminación del sistema de archivos, emita el comando.

stratis filesystem list my_pool_1

En el resultado, podemos ver claramente que el sistema de archivos asociado con my_pool_1 ha sido eliminado.

Agregar un disco a un grupo Stratis existente

Puede agregar un disco a un grupo existente usando el comando:

stratis pool add-data <poolname> /<devicepath>

Por ejemplo, para agregar un disco adicional /dev/xvdf, a my_pool_1, ejecute el comando:

stratis pool add-data my_pool_1 /dev/xvdf

Observe que el tamaño de my_pool_1 se duplica después de agregar el volumen adicional.

Crear instantáneas de Stratis

Una instantánea es una lectura y escritura con aprovisionamiento ligero de una copia de un sistema de archivos en un momento determinado.

Para crear una instantánea, ejecute el comando:

stratis fs snapshot <poolname> <fsname> <snapshotname>

En este caso el comando será:

stratis fs snapshot my_pool_2 filesystem-2 mysnapshot

Puede agregar el atributo de datos -$ (fecha +%Y-%m-%d) a la instantánea y agregar la etiqueta de fecha como se muestra en la siguiente captura de pantalla.

Para verificar la creación de la instantánea, ejecute el comando:

stratis filesystem list <poolname>

En este caso el comando será:

stratis filesystem list my_pool_2

Revertir a una instantánea anterior usando un sistema de archivos

Para revertir un sistema de archivos Stratis a una instantánea creada previamente, primero desmonte y destruya el sistema de archivos original.

umount /stratis/<poolname>/filesystem

En nuestro escenario, esto será.


umount /stratis/my_pool_2/filesystem-2

Luego cree una copia de la instantánea usando el sistema de archivos original:

stratis filesystem snapshot <poolname> filesystem-snapshot filesystem

El comando será:

stratis filesystem snapshot my_pool_2 mysnapshot-2019-10-24 block

Finalmente, monte la instantánea.

mount /stratis/my-pool/my-fs mount-point

Eliminar una instantánea de Stratis

Para eliminar la instantánea, primero desmóntela.

unmount /stratis/my_pool_2/mysnapshot-2019-10-24

A continuación, proceda y destruya la instantánea:

stratis filesystem destroy my_pool_2 mysnapshot-2019-10-24

Eliminación de un grupo Stratis

Para eliminar un grupo de Stratis, siga los sencillos pasos a continuación.

1. Enumere los sistemas de archivos que existen en el grupo.

stratis filesystem list <poolname>

2. A continuación, desmonte todos los sistemas de archivos del grupo.

umount /stratis//filesystem-1
umount /stratis//filesystem-2
umount /stratis//filesystem-3

3. Destruya los sistemas de archivos.

stratis filesystem destroy <poolname> fs-1 fs-2

4. Y luego, deshazte de la piscina.

stratis pool destroy poolname

En este caso, la sintaxis será.

stratis pool destroy my_pool_2

Puede verificar la lista del grupo nuevamente.

stratis pool list

Finalmente, elimine las entradas en /etc/fstab para los sistemas de archivos.

Hemos llegado al final de la guía. En este tutorial, explicamos cómo puede instalar y usar Stratis para administrar el almacenamiento local en capas en RHEL. Esperamos que te haya resultado útil. Pruébalo y cuéntanos cómo te fue.