Capítulo 17. 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.
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.
17.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.
17.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
17.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.
ImportanteStratis 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.
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.
17.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
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
.
17.1.4. Instalación de Stratis
Este procedimiento instala todos los paquetes necesarios para utilizar Stratis.
Procedimiento
Instale los paquetes que proporcionan el servicio Stratis y las utilidades de línea de comandos:
# yum install stratisd stratis-cli
Asegúrese de que el servicio
stratisd
está activado:# systemctl enable --now stratisd
17.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 formatoLUKS2
. - 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 17.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
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
.Cree el nuevo pool de Stratis en el o los dispositivos de bloque seleccionados:
NotaEspecifique 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.NotaNo se puede encriptar un pool Stratis no encriptado después de crearlo.
Para crear un pool Stratis encriptado, complete los siguientes pasos:
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.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.
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:
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
Desbloquea el pool de Stratis y el/los dispositivo/s de bloque:
# stratis pool unlock
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
- Cree un sistema de archivos Stratis en el pool. Para más información, consulte Sección 17.1.6, “Creación de un sistema de archivos Stratis”.
17.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
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Ha creado un pool de Stratis. Véase Sección 17.1.5, “Creación de un pool de Stratis”.
Procedimiento
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.
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
- Monte el sistema de archivos Stratis. Véase Sección 17.1.7, “Montaje de un sistema de archivos Stratis”.
17.1.7. Montaje de un sistema de archivos Stratis
Este procedimiento monta un sistema de archivos Stratis existente para acceder al contenido.
Requisitos previos
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Ha creado un sistema de archivos Stratis. Véase Sección 17.1.6, “Creación de un sistema de archivos Stratis”.
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)
17.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
- Stratis está instalado. Véase Sección 17.1.4, “Instalación de Stratis”.
-
El servicio
stratisd
está funcionando. - Ha creado un sistema de archivos Stratis. Véase Sección 17.1.6, “Creación de un sistema de archivos Stratis”.
Procedimiento
Determina el atributo UUID del sistema de archivos:
$ lsblk --output=UUID /stratis/my-pool/my-fs
Por ejemplo:
Ejemplo 17.1. Ver el UUID del sistema de archivos Stratis
$ lsblk --output=UUID /stratis/my-pool/fs1 UUID a1f0b64a-4ebb-4d4e-9543-b1d79f600283
Si el directorio del punto de montaje no existe, créelo:
# mkdir --parents mount-point
Como root, edita el archivo
/etc/fstab
y añade una línea para el sistema de archivos, identificado por el UUID. Utilizaxfs
como tipo de sistema de archivos y añade la opciónx-systemd.requires=stratisd.service
.Por ejemplo:
Ejemplo 17.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
Regenere las unidades de montaje para que su sistema registre la nueva configuración:
# systemctl daemon-reload
Intente montar el sistema de archivos para verificar que la configuración funciona:
# montaje mount-point
Recursos adicionales