Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 35. Gestión de dispositivos de almacenamiento

35.1. 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.

35.1.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.

35.1.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

35.1.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.

35.1.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.

35.1.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

35.1.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 35.1.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

35.1.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

35.1.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)

35.1.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 35.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 35.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

35.1.2. Ampliación de un volumen Stratis con dispositivos de bloque adicionales

Puede adjuntar dispositivos de bloque adicionales a un pool Stratis para proporcionar más capacidad de almacenamiento para los sistemas de archivos Stratis.

35.1.2.1. 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.

35.1.2.2. Añadir dispositivos de bloque a un pool de Stratis

Este procedimiento añade uno o más dispositivos de bloque a un pool de Stratis para que puedan ser utilizados por los sistemas de archivos Stratis.

Requisitos previos

  • Stratis está instalado. Véase Sección 35.1.1.4, “Instalación de Stratis”.
  • El servicio stratisd está funcionando.
  • Los dispositivos de bloque que está añadiendo al pool de Stratis no están en uso y no están montados.
  • Los dispositivos de bloque que está añadiendo al pool de Stratis tienen un tamaño mínimo de 1 GiB cada uno.

Procedimiento

  • Para añadir uno o más dispositivos de bloque al pool, utilice:

    # stratis pool add-data my-pool device-1 device-2 device-n

Recursos adicionales

  • La página de manual stratis(8)

35.1.3. Supervisión de los sistemas de archivos Stratis

Como usuario de Stratis, puede ver información sobre los volúmenes de Stratis en su sistema para controlar su estado y el espacio libre.

35.1.3.1. Tamaños de estratis reportados por diferentes empresas de servicios públicos

Esta sección explica la diferencia entre los tamaños de Stratis reportados por utilidades estándar como df y la utilidad stratis.

Las utilidades estándar de Linux como df reportan el tamaño de la capa del sistema de archivos XFS en Stratis, que es de 1 TiB. Esta información no es útil, porque el uso real de almacenamiento de Stratis es menor debido al thin provisioning, y también porque Stratis hace crecer automáticamente el sistema de archivos cuando la capa XFS está cerca de llenarse.

Importante

Supervise regularmente la cantidad de datos escritos en sus sistemas de archivos Stratis, que se reporta como el valor Total Physical Used. Asegúrese de que no supera el valor de Total Physical Size.

Recursos adicionales

  • La página de manual stratis(8)

35.1.3.2. Visualización de información sobre los volúmenes de Stratis

Este procedimiento muestra las estadísticas de sus volúmenes Stratis, como el tamaño total, usado y libre, o los sistemas de archivos y dispositivos de bloques pertenecientes a un pool.

Requisitos previos

Procedimiento

  • Para mostrar información sobre todos los block devices utilizados para Stratis en su sistema:

    # stratis blockdev
    
    Pool Name  Device Node    Physical Size   State  Tier
    my-pool    /dev/sdb            9.10 TiB  In-use  Data
  • Para mostrar información sobre todos los Stratis pools en su sistema:

    # stratis pool
    
    Name    Total Physical Size  Total Physical Used
    my-pool            9.10 TiB              598 MiB
  • Para mostrar información sobre todos los Stratis file systems en su sistema:

    # stratis filesystem
    
    Pool Name  Name  Used     Created            Device
    my-pool    my-fs 546 MiB  Nov 08 2018 08:03  /stratis/my-pool/my-fs

Recursos adicionales

  • La página de manual stratis(8)

35.1.4. Uso de instantáneas en los sistemas de archivos Stratis

Puede utilizar instantáneas en los sistemas de archivos Stratis para capturar el estado del sistema de archivos en momentos arbitrarios y restaurarlo en el futuro.

35.1.4.1. Características de las instantáneas de Stratis

Esta sección describe las propiedades y limitaciones de las instantáneas del sistema de archivos en Stratis.

En Stratis, una instantánea es un sistema de archivos Stratis regular creado como una copia de otro sistema de archivos Stratis. La instantánea contiene inicialmente el mismo contenido de archivos que el sistema de archivos original, pero puede cambiar a medida que se modifica la instantánea. Cualquier cambio que se haga en la instantánea no se reflejará en el sistema de archivos original.

La implementación actual de la instantánea en Stratis se caracteriza por lo siguiente:

  • Una instantánea de un sistema de archivos es otro sistema de archivos.
  • Una instantánea y su origen no están vinculados en cuanto a su vida. Un sistema de archivos instantáneo puede vivir más tiempo que el sistema de archivos del que se creó.
  • No es necesario montar un sistema de archivos para crear una instantánea a partir de él.
  • Cada instantánea utiliza alrededor de medio gigabyte de almacenamiento de respaldo real, que es necesario para el registro XFS.

35.1.4.2. Creación de una instantánea de Stratis

Este procedimiento crea un sistema de archivos Stratis como una instantánea de un sistema de archivos Stratis existente.

Requisitos previos

Procedimiento

  • Para crear una instantánea de Stratis, utilice:

    # stratis fs snapshot my-pool my-fs my-fs-snapshot

Recursos adicionales

  • La página de manual stratis(8)

35.1.4.3. Acceso al contenido de una instantánea de Stratis

Este procedimiento monta una instantánea de un sistema de archivos Stratis para que sea accesible para operaciones de lectura y escritura.

Requisitos previos

Procedimiento

  • Para acceder a la instantánea, móntela como un sistema de archivos normal desde el directorio /stratis/my-pool/ directorio:

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

Recursos adicionales

35.1.4.4. Revertir un sistema de archivos Stratis a una instantánea anterior

Este procedimiento revierte el contenido de un sistema de archivos Stratis al estado capturado en una instantánea Stratis.

Requisitos previos

Procedimiento

  1. Opcionalmente, haga una copia de seguridad del estado actual del sistema de archivos para poder acceder a él más tarde:

    # stratis filesystem snapshot my-pool my-fs my-fs-backup
  2. Desmontar y eliminar el sistema de archivos original:

    # umount /stratis/my-pool/my-fs
    # stratis filesystem destroy my-pool my-fs
  3. Cree una copia de la instantánea con el nombre del sistema de archivos original:

    # stratis filesystem snapshot my-pool my-fs-snapshot my-fs
  4. Monte la instantánea, que ahora es accesible con el mismo nombre que el sistema de archivos original:

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

El contenido del sistema de archivos llamado my-fs es ahora idéntico al de la instantánea my-fs-snapshot.

Recursos adicionales

  • La página de manual stratis(8)

35.1.4.5. Eliminación de una instantánea de Stratis

Este procedimiento elimina una instantánea de Stratis de un pool. Los datos de la instantánea se pierden.

Requisitos previos

Procedimiento

  1. Desmontar la instantánea:

    # umount /stratis/my-pool/my-fs-snapshot
  2. Destruye la instantánea:

    # stratis filesystem destroy my-pool my-fs-snapshot

Recursos adicionales

  • La página de manual stratis(8)

35.1.5. Eliminación de los sistemas de archivos Stratis

Puede eliminar un sistema de archivos Stratis existente o un pool Stratis, destruyendo los datos en ellos.

35.1.5.1. 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.

35.1.5.2. Eliminación de un sistema de archivos Stratis

Este procedimiento elimina un sistema de archivos Stratis existente. Los datos almacenados en él se pierden.

Requisitos previos

Procedimiento

  1. Desmontar el sistema de archivos:

    # umount /stratis/my-pool/my-fs
  2. Destruye el sistema de archivos:

    # stratis filesystem destroy my-pool my-fs
  3. Compruebe que el sistema de archivos ya no existe:

    # stratis filesystem list my-pool

Recursos adicionales

  • La página de manual stratis(8)

35.1.5.3. Eliminación de una piscina Stratis

Este procedimiento elimina un pool de Stratis existente. Los datos almacenados en él se pierden.

Requisitos previos

Procedimiento

  1. Lista de sistemas de archivos en el pool:

    # stratis filesystem list my-pool
  2. Desmontar todos los sistemas de archivos del pool:

    # umount /stratis/my-pool/my-fs-1 \
             /stratis/my-pool/my-fs-2 \
             /stratis/my-pool/my-fs-n
  3. Destruye los sistemas de archivos:

    # stratis filesystem destroy my-pool my-fs-1 my-fs-2
  4. Destruye la piscina:

    # stratis pool destroy my-pool
  5. Compruebe que la piscina ya no existe:

    # lista de piscinas de stratis

Recursos adicionales

  • La página de manual stratis(8)