Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 19. Gestión del almacenamiento local en capas con Stratis

Podrá configurar y gestionar fácilmente complejas configuraciones de almacenamiento integradas por el sistema de alto nivel Stratis.

Importante

Stratis está disponible como Technology Preview. Para obtener información sobre el alcance del soporte de Red Hat para las características de la Technology Preview, consulte el documento sobre el alcance del soporte de las características de la Technology Preview.

Se anima a los clientes que implanten Stratis a que envíen sus comentarios a Red Hat.

19.1. Configuración de los sistemas de archivos Stratis

Como administrador del sistema, puede habilitar y configurar el sistema de archivos de gestión de volumen Stratis en su sistema para gestionar fácilmente el almacenamiento en capas.

19.1.1. Objetivo y características de Stratis

Stratis es una solución de gestión de almacenamiento local para Linux. Se centra en la simplicidad y la facilidad de uso, y le da acceso a funciones de almacenamiento avanzadas.

Stratis facilita las siguientes actividades:

  • Configuración inicial del almacenamiento
  • Realización de cambios a posteriori
  • Uso de las funciones de almacenamiento avanzadas

Stratis es un sistema híbrido de gestión de almacenamiento local de usuario y de núcleo que admite funciones avanzadas de almacenamiento. El concepto central de Stratis es un pool de almacenamiento pool. Este pool se crea a partir de uno o más discos o particiones locales, y los volúmenes se crean a partir del pool.

La piscina permite muchas funciones útiles, como:

  • Instantáneas del sistema de archivos
  • Aprovisionamiento ligero
  • Nivelación

19.1.2. Componentes de un volumen Stratis

Externamente, Stratis presenta los siguientes componentes de volumen en la interfaz de línea de comandos y en la API:

blockdev
Dispositivos de bloque, como un disco o una partición de disco.
pool

Compuesto por uno o varios dispositivos en bloque.

Un pool tiene un tamaño total fijo, igual al tamaño de los dispositivos de bloque.

El pool contiene la mayoría de las capas de Stratis, como la caché de datos no volátil que utiliza el objetivo dm-cache.

Stratis crea un /stratis/my-pool/ directorio para cada pool. Este directorio contiene enlaces a dispositivos que representan sistemas de archivos Stratis en el pool.

filesystem

Cada pool puede contener uno o más sistemas de archivos, que almacenan archivos.

Los sistemas de archivos se aprovisionan de forma ligera y no tienen un tamaño total fijo. El tamaño real de un sistema de archivos crece con los datos almacenados en él. Si el tamaño de los datos se acerca al tamaño virtual del sistema de archivos, Stratis hace crecer el volumen delgado y el sistema de archivos automáticamente.

Los sistemas de archivos están formateados con XFS.

Importante

Stratis rastrea información sobre los sistemas de archivos creados con Stratis que XFS no conoce, y los cambios realizados con XFS no crean automáticamente actualizaciones en Stratis. Los usuarios no deben reformatear o reconfigurar los sistemas de archivos XFS que son administrados por Stratis.

Stratis crea enlaces a sistemas de archivos en la /stratis/my-pool/my-fs ruta de acceso.

Nota

Stratis utiliza muchos dispositivos Device Mapper, que aparecen en los listados de dmsetup y en el archivo /proc/partitions. Del mismo modo, la salida del comando lsblk refleja el funcionamiento interno y las capas de Stratis.

19.1.3. Dispositivos en bloque utilizables con Stratis

Esta sección enumera los dispositivos de almacenamiento que puede utilizar para Stratis.

Dispositivos compatibles

Las piscinas Stratis han sido probadas para funcionar en este tipo de dispositivos de bloque:

  • LUKS
  • Volúmenes lógicos LVM
  • MD RAID
  • DM Multipath
  • iSCSI
  • Discos duros y unidades de estado sólido (SSD)
  • Dispositivos NVMe
Aviso

En la versión actual, Stratis no maneja fallos en los discos duros u otro hardware. Si se crea un pool de Stratis sobre múltiples dispositivos de hardware, se incrementa el riesgo de pérdida de datos porque varios dispositivos deben estar operativos para acceder a los datos.

Dispositivos no compatibles

Debido a que Stratis contiene una capa de aprovisionamiento fino, Red Hat no recomienda colocar un pool de Stratis en dispositivos de bloque que ya están aprovisionados de forma fina.

Recursos adicionales

  • Para iSCSI y otros dispositivos de bloque que requieren red, consulte la página man systemd.mount(5) para obtener información sobre la opción de montaje _netdev.

19.1.4. Instalación de Stratis

Este procedimiento instala todos los paquetes necesarios para utilizar Stratis.

Procedimiento

  1. Instale los paquetes que proporcionan el servicio Stratis y las utilidades de línea de comandos:

    # yum install stratisd stratis-cli
  2. Asegúrese de que el servicio stratisd está activado:

    # systemctl enable --now stratisd

19.1.5. Creación de un pool de Stratis

Este procedimiento describe cómo crear un pool Stratis encriptado o no encriptado a partir de uno o varios dispositivos de bloque.

Las siguientes notas se aplican a los pools Stratis encriptados:

  • Cada dispositivo de bloque se encripta utilizando la biblioteca cryptsetup e implementa el formato LUKS2.
  • Cada pool de Stratis puede tener una clave única o puede compartir la misma clave con otros pools. Estas claves se almacenan en el llavero del kernel.
  • Todos los dispositivos de bloque que componen un pool Stratis están encriptados o sin encriptar. No es posible tener dispositivos de bloque encriptados y no encriptados en el mismo pool de Stratis.
  • Los dispositivos de bloque añadidos al nivel de datos de un pool Stratis encriptado se encriptan automáticamente.

Requisitos previos

  • Stratis v2.2.1 está instalado en su sistema. Consulte Sección 19.1.4, “Instalación de Stratis”.
  • El servicio stratisd está funcionando.
  • Los dispositivos de bloque en los que está creando un pool de Stratis no están en uso y no están montados.
  • Los dispositivos de bloque en los que está creando un pool de Stratis tienen un tamaño mínimo de 1 GiB cada uno.
  • En la arquitectura IBM Z, los dispositivos de bloque /dev/dasd* deben ser particionados. Utilice la partición en el pool de Stratis.

    Para obtener información sobre la partición de dispositivos DASD, consulte Configuración de una instancia de Linux en IBM Z.

Procedimiento

  1. Si el dispositivo de bloque seleccionado contiene firmas del sistema de archivos, de la tabla de particiones o del RAID, bórrelas con el siguiente comando:

    # wipefs --all block-device

    donde block-device es la ruta de acceso al dispositivo de bloque; por ejemplo, /dev/sdb.

  2. Cree el nuevo pool de Stratis en el o los dispositivos de bloque seleccionados:

    Nota

    Especifique varios dispositivos de bloque en una sola línea, separados por un espacio:

    # stratis pool create my-pool block-device-1 block-device-2
    • Para crear un pool Stratis no encriptado, utilice el siguiente comando y vaya al paso 3:

      # stratis pool create my-pool block-device

      donde block-device es la ruta a un dispositivo de bloque vacío o borrado.

      Nota

      No se puede encriptar un pool Stratis no encriptado después de crearlo.

    • Para crear un pool Stratis encriptado, complete los siguientes pasos:

      1. Si aún no ha creado un conjunto de claves, ejecute el siguiente comando y siga las indicaciones para crear un conjunto de claves que se utilizará para el cifrado:

        # stratis key set --capture-key key-description

        donde key-description es la descripción o el nombre del conjunto de claves.

      2. Cree el pool Stratis encriptado y especifique la descripción de la clave a utilizar para la encriptación. También puede especificar la ruta de la clave utilizando el parámetro --keyfile-path en su lugar.

        # stratis pool create --key-desc key-description my-pool block-device

        donde

        key-description
        Especifica la descripción o el nombre del archivo de claves que se utilizará para el cifrado.
        my-pool
        Especifica el nombre del nuevo pool de Stratis.
        block-device
        Especifica la ruta de acceso a un dispositivo de bloque vacío o borrado.
  3. Compruebe que se ha creado el nuevo pool de Stratis:

    # lista de piscinas de stratis

Solución de problemas

Después de un reinicio del sistema, a veces puede que no vea su pool Stratis encriptado o los dispositivos de bloque que lo componen. Si se encuentra con este problema, debe desbloquear el pool Stratis para hacerlo visible.

Para desbloquear el pool de Stratis, complete los siguientes pasos:

  1. Vuelva a crear el conjunto de claves utilizando la misma descripción de claves que se utilizó anteriormente:

    # stratis key set --capture-key key-description
  2. Desbloquea el pool de Stratis y el/los dispositivo/s de bloque:

    # stratis pool unlock
  3. Compruebe que el pool de Stratis es visible:

    # lista de piscinas de stratis

Recursos adicionales

  • La página de manual stratis(8).

Próximos pasos

19.1.6. Creación de un sistema de archivos Stratis

Este procedimiento crea un sistema de archivos Stratis en un pool Stratis existente.

Requisitos previos

Procedimiento

  1. Para crear un sistema de archivos Stratis en un pool, utilice:

    # stratis fs create my-pool my-fs
    • Sustituya my-pool con el nombre de su pool Stratis existente.
    • Sustituya my-fs con un nombre arbitrario para el sistema de archivos.
  2. Para verificarlo, liste los sistemas de archivos dentro del pool:

    # stratis fs list my-pool

Recursos adicionales

  • La página de manual stratis(8)

Próximos pasos

19.1.7. Montaje de un sistema de archivos Stratis

Este procedimiento monta un sistema de archivos Stratis existente para acceder al contenido.

Requisitos previos

Procedimiento

  • Para montar el sistema de archivos, utilice las entradas que Stratis mantiene en el directorio /stratis/:

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

El sistema de archivos está ahora montado en el directorio mount-point y está listo para ser utilizado.

Recursos adicionales

  • La página de manual mount(8)

19.1.8. Montaje persistente de un sistema de archivos Stratis

Este procedimiento monta persistentemente un sistema de archivos Stratis para que esté disponible automáticamente después de arrancar el sistema.

Requisitos previos

Procedimiento

  1. Determina el atributo UUID del sistema de archivos:

    $ lsblk --output=UUID /stratis/my-pool/my-fs

    Por ejemplo:

    Ejemplo 19.1. Ver el UUID del sistema de archivos Stratis

    $ lsblk --output=UUID /stratis/my-pool/fs1
    
    UUID
    a1f0b64a-4ebb-4d4e-9543-b1d79f600283
  2. Si el directorio del punto de montaje no existe, créelo:

    # mkdir --parents mount-point
  3. Como root, edita el archivo /etc/fstab y añade una línea para el sistema de archivos, identificado por el UUID. Utiliza xfs como tipo de sistema de archivos y añade la opción x-systemd.requires=stratisd.service.

    Por ejemplo:

    Ejemplo 19.2. El punto de montaje /fs1 en /etc/fstab

    UUID=a1f0b64a-4ebb-4d4e-9543-b1d79f600283 /fs1 xfs defaults,x-systemd.requires=stratisd.service 0 0
  4. Regenere las unidades de montaje para que su sistema registre la nueva configuración:

    # systemctl daemon-reload
  5. Intente montar el sistema de archivos para verificar que la configuración funciona:

    # montaje mount-point