sombrero rojo

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

Cómo administrar el almacenamiento local en capas con Stratis en RHEL 8
Stratis es una solución de almacenamiento de gestión local del equipo de RedHat presentada con RHEL 8 que permite a los administradores del sistema configurar funciones de almacenamiento avanzadas como:

  1. Gestión basada en piscinas
  2. Aprovisionamiento ligero
  3. Instantáneas del sistema de archivos
  4. Vigilancia

Stratisd es el demonio detrás de Stratis y ayuda a configurar los componentes de almacenamiento bajo el sistema de archivos XFS y el subsistema mapeador de dispositivos. Por el momento, Stratis apoya Volúmenes lógicos LVM, unidades de disco duro, SSD, NVMe, y ISCI dispositivos de almacenamiento.

Ahora, echemos un vistazo y veamos algunos términos clave básicos

  1. blockdev: Esta es una terminología que se refiere a dispositivos de bloqueo.
  2. Piscina: Un grupo puede constar de uno o varios dispositivos de bloque. El tamaño de una piscina de estratos será equivalente a la suma de los dispositivos de bloque que componen la piscina.
  3. Sistema de archivos: Un sistema de archivos es una capa finamente aprovisionada cuyo tamaño crece a medida que se agrega más información o datos. Stratis escala automáticamente el tamaño de un sistema de archivos a medida que los datos crecen casi hasta el tamaño del sistema de archivos virtual.

Stratis se compone de:

  1. Demonio de Stratisd: Un demonio que permite a un usuario administrar dispositivos de bloque.
  2. Stratis-cli: Una utilidad de línea de comandos que viene con Stratis.

Instalación de Stratis en RHEL 8

Habiendo presentado brevemente Stratis, lo que hace y sus componentes, ahora instalemos Stratis en RHEL 8

Para instalar Stratis en RHEL 8, inicie sesión como usuario root y ejecute el comando:

# dnf instalar stratisd stratis-cli

Cuando se le solicite, escriba y para continuar con la instalación. Si todo salió bien, debería poder obtener el resultado a continuación que confirma que todo salió bien.

Para confirmar la instalación de los paquetes de stratis, ejecute el comando:

# rpm -q stratisd stratis-cli

Inicio del servicio Stratis en RHEL 8

Para iniciar el servicio Stratis, ejecute el comando:

# systemctl enable --now stratisd

A continuación, verifique el estado de Stratis, ejecutando el comando:

# systemctl status stratisd

De la salida anterior, podemos observar que Stratis está funcionando.

Crear una piscina Stratis

Antes de comenzar con la creación de un grupo de Stratis, asegúrese de que los dispositivos de bloque en su sistema tengan un mínimo de 1 GB. Además, estos dispositivos deben estar desmontados e inactivos. Además, el demonio de stratisd debe estar ejecutándose. en nuestra configuración, hay 5 dispositivos de bloque además de la partición primaria:

  1. / dev / xvdb
  2. / dev / xvdc
  3. / dev / xvdd
  4. / dev / xvde
  5. / dev / xvdf

Puede echar un vistazo a los dispositivos de bloque existentes ejecutando el comando:

# lsblk

Además, es crucial asegurarse de que los dispositivos de bloque no tengan una tabla de particiones existente.

Confirme esto usando la sintaxis:

# blkid -p /

Por ejemplo

# blkid -p / dev / xvdb

Ninguna salida implica que no existe una tabla de particiones en los dispositivos de bloque. Sin embargo, en caso de que exista una tabla de particiones en uno de los dispositivos, puede borrar la partición usando el comando:

# wipefs -a /

Creación de una piscina Stratis desde un dispositivo de bloque

Puede crear un grupo de Stratis a partir de un dispositivo de bloque único utilizando la sintaxis:

# stratis pool crear  

Por ejemplo para crear una piscina pool_1 desde el dispositivo de bloque  / dev / xvdb correr:

# stratis pool crea pool_1 / dev / xvdb

Para enumerar el grupo creado, ejecute:

# lista de grupos de stratis

De la salida anterior, podemos ver claramente que un nuevo grupo, pool_1 Ha sido creado.

Cree un grupo de Stratis a partir de varios dispositivos de bloque

Para crear un grupo a partir de varios dispositivos, utilice la sintaxis siguiente que enumera todos los dispositivos en una línea

# stratis pool crear

Para crear una piscina a partir de / dev / xvdc y  / dev / xvdd ejecuta el comando:

# stratis pool crea pool_2 / dev / xvdc / dev / xvdd /

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

# lista de grupos de stratis

En este punto, debería tener 2 grupos:  pool_1 y pool_2

De la salida anterior, podemos notar claramente que pool_2 tiene el doble de tamaño que pool_1 porque comprende dos dispositivos de bloque, cada uno de los cuales tiene un volumen físico de 10 GB.

Crear un sistema de archivos a partir de un grupo

Desde uno de los grupos de Stratis creados anteriormente, puede crear un sistema de archivos utilizando la sintaxis siguiente:

# stratis fs crea  

Por ejemplo, para crear un sistema de archivos fs_1 de pool_1 ejecutar el comando:

# stratis fs crea pool_1 fs_1

Además, puede crear más de 1 sistema de archivos a partir de un grupo. En el segundo grupo, crearemos 2 sistemas de archivos: 

fs_2 
& fs_3
# stratis fs crea pool_2 fs_2
# stratis fs crea pool_2 fs_3

Ahora, para mostrar los nuevos sistemas de archivos, ejecute:

# stratis lista de fs

Para enumerar los sistemas de archivos en un grupo determinado, use la sintaxis

# stratis lista de fs

Por ejemplo, para ver los sistemas de archivos existentes en pool_1, ejecute el comando:

# stratis fs list pool_1

Para la ejecución de pool_2:

# stratis fs list pool_2

Como era de esperar, tenemos 2 sistemas de archivos en el segundo grupo.

En este punto, ejecutar el  lsblk El comando producirá una salida similar a la siguiente:

Cómo montar un sistema de archivos Stratis

Para acceder a los sistemas de archivos, primero debemos montarlos. El primer paso será crear puntos de montaje para cada uno de los sistemas de archivos. Esto se resume en la siguiente tabla

Sistema de archivos Punto de montaje
fs_1 /almacenamiento
fs_2 /base de datos
fs_3 /respaldo

Entonces, cree el primer punto de montaje para el sistema de archivos en pool_1

# mkdir / almacenamiento

A continuación, monte el sistema de archivos

# mount / Stratis / pool_1 / fs_1 / storage

Para montar el segundo sistema de archivos, siga el mismo procedimiento:

# mkdir / base de datos

Monte el sistema de archivos:

# mount / stratis / pool_2 / fs_2 / database

Y finalmente para el último sistema de archivos:

# mkdir / copia de seguridad

Monte el sistema de archivos:

# mount / stratis / pool_2 / fs_3 / backup

Puede confirmar la existencia de los puntos de montaje usando el comando:

# df -Th | grep stratis

Hacer persistentes los sistemas de archivos stratis

Los sistemas de archivos que acabamos de crear no sobrevivirán a un reinicio. Para que sean persistentes, debemos agregarlos a la / etc / fstab expediente.

Primero, recuperemos el UUID de los sistemas de archivos como se muestra

# blkid -p / stratis / pool_1 / fs_1
# blkid -p / stratis / pool_2 / fs_2
# blkid -p / stratis / pool_2 / fs_3

# echo "UUID = 9161da55-6c4b-4761-9da9-1b3999945964 / almacenamiento
xfs por defecto 0 0 "| sudo tee -a / etc / fstab
# echo "UUID = ddfa4252-a9d6-4c10-8981-e7dbd56450ee / database
xfs por defecto 0 0 "| sudo tee -a / etc / fstab
# echo "UUID = 512bc0b7-182e-46ed-9fbd-d5be4d055fcf / backup
xfs por defecto 0 0 "| sudo tee -a / etc / fstab

Puede confirmar la adición de los sistemas de archivos al / etc / fstab como se muestra:

Para que los cambios surtan efecto en el sistema, ejecute el comando:

# systemctl daemon-reload

Luego monte todos los sistemas de archivos

# mount -a

Agregar un dispositivo de bloque a un grupo de Stratis

Para agregar un dispositivo de bloque a un grupo de Stratis existente, ejecute el comando:

# stratis pool add-data

Por ejemplo para agregar el volumen del bloque  / dev / xvdepool_1 ejecuta el comando:

# stratis pool add-data pool_1 / dev / xvde

Ahora compruebe el tamaño de  pool_1

# lista de grupos de stratis

Como se observó, el tamaño de pool_1 se ha duplicado como resultado del dispositivo de bloqueo agregado.

Crear una instantánea de Stratis

Un sistema de archivos Stratis es una copia exacta o réplica de otro sistema de archivos Stratis. Contiene el mismo contenido que el sistema de archivos original. Sin embargo, una instantánea se puede modificar más adelante y, a partir de entonces, existirán diferencias entre la instantánea y el sistema de archivos original.

Aquí hay algunas cosas que también debe saber:

  1. Una instantánea de un sistema de archivos es simplemente otra réplica del sistema de archivos.
  2. No es necesario montar un sistema de archivos para poder crear una instantánea a partir de él.
  3. Un sistema de archivos instantáneo puede sobrevivir al sistema de archivos original a partir del cual fue creado

Para crear una instantánea, use la sintaxis:

# instantánea de stratis fs

Por ejemplo, para crear una instantánea llamada snapshot_1 en pool_1 ejecutar el comando

# stratis fs snapshot pool_1 fs_1 snapshot_1

Esto tardará unos 30 segundos.

Para confirmar la creación de la instantánea, ejecute:

# lista del sistema de archivos de stratis

En este caso, el comando será:

# stratis lista del sistema de archivos pool_1

Además, puede agregar el atributo de fecha (-$ (fecha +% Y-% m-% d) para identificar fácilmente cuándo se creó la instantánea. Creemos otra instantánea usando el segundo grupo.

# stratis fs snapshot pool_2 fs_2 snapshot_2 - $ (fecha +% Y-% m-% d)

Para enumerar la instantánea de Stratis recién creada, emita el comando:

# stratis lista del sistema de archivos pool_2

De la salida anterior, podemos ver una instantánea creada en pool_2 con una etiqueta de fecha.

Cómo volver a una instantánea anterior usando un sistema de archivos

Para volver a una instantánea anterior utilizando un sistema de archivos, primero debe desmontar y destruir el sistema de archivos original.

# umount / stratis // sistema de archivos

Por ejemplo, en  pool_2  volver a instantánea_2 desmontar el sistema de archivos fs_2

# umount / stratis / pool_2 / fs_2

A continuación, cree una copia de la instantánea del sistema de archivos original

# instantánea del sistema de archivos de stratis
instantánea fs-mountpoint

El comando será:

# stratis filesystem snapshot pool_2 snapshot_2-2019-11-15 base de datos

Finalmente, monte la instantánea utilizando el punto de montaje del sistema de archivos

# mount / stratis / pool_2 / fs_2 / database

Eliminar una instantánea de Stratis

Para eliminar una instantánea de Stratis, en primer lugar, desmonte la instantánea.

# umount / snapshot_mountpoint

Para eliminar la instantánea creada en pool_2, desmontar el punto de montaje como se muestra

# umount / database

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

# destruir el sistema de archivos de stratis

El comando será:

# stratis filesystem destruye pool_2 snapshot_2-2019-11-15

Ahora intente enumerar los sistemas de archivos en pool_2. Notarás que la instantánea ya no está.

# stratis lista del sistema de archivos pool_2

Eliminar un sistema de archivos Stratis

Para deshacerse de un sistema de archivos, primero desmonte el sistema de archivos usando la siguiente sintaxis:

# umount / stratis / pool / filesystem

Por ejemplo, para eliminar el sistema de archivos fs_1 en pool_1, primero desmóntelo como se muestra:

# umount / stratis / pool_1 / fs_1

A continuación, destruya el sistema de archivos utilizando la siguiente sintaxis:

# el sistema de archivos stratis destruye el pool fs

En nuestro escenario, el comando será:

# el sistema de archivos stratis destruye pool_1 fs_1

Para confirmar que el sistema de archivos se eliminó correctamente, ejecute el comando:

# stratis lista del sistema de archivos pool_1

Como puede observar, el sistema de archivos ya no existe.

Eliminar una piscina Stratis

Por último, veamos cómo puede eliminar un grupo de Stratis.

Para eliminar un grupo de Stratis, debe desmontar y destruir cualquier sistema de archivos y una instantánea del grupo, como vimos en los subtemas anteriores.

Como queda una instantánea en pool_1, primero la eliminaremos eliminando primero el punto de montaje asociado con la instantánea

# desmontaje / almacenamiento

A continuación, destruya el sistema de archivos.

# stratis filesystem destruye pool_1 snapshot_1

Con la instantánea ahora eliminada, elimine pool_1 usando el comando

# stratis pool destruir pool_1

Ahora enumere las piscinas disponibles:

# lista de grupos de stratis

Para eliminar pool_2 , primero enumeremos los sistemas de archivos

# stratis lista del sistema de archivos pool_2

Desmonte y destruya los sistemas de archivos como se muestra

# umount / stratis / pool_2 / fs_3
# el sistema de archivos stratis destruye pool_2 fs_3
# el sistema de archivos stratis destruye la base de datos pool_2

A continuación, destruya la piscina y enumere las piscinas

# stratis pool destruir pool_2
# lista de grupos de stratis

Perfecto ! todas las piscinas se han ido ahora. Hemos vuelto a donde empezamos ! Puede confirmar una vez más enumerando los dispositivos de bloqueo usando el comando:

y cómo puede usarlo para administrar dispositivos de bloque, crear instantáneas, sistemas de archivos y grupos y eliminarlos también. Sus pensamientos y comentarios son bienvenidos.

Referencias:

  • https: // acceso.sombrero rojo.com / documentation / en-us / red_hat_enterprise_linux / 8 / html / manage_file_systems / management-layered-local-storage-with-stratis_managing-file-systems
  • https: // www.tecmint.com / install-stratis-to-manage-layered-local-storage-on-rhel /
Instale el último juego de estrategia de OpenRA en Ubuntu Linux
OpenRA es un motor de juego de estrategia en tiempo real libre / gratuito que recrea los primeros juegos de Westwood como el clásico Command & Conquer...
Instale el último emulador de Dolphin para Gamecube y Wii en Linux
Dolphin Emulator te permite jugar los juegos de Gamecube y Wii que elijas en computadoras personales con Linux (PC). Al ser un emulador de juegos de ...
Cómo usar GameConqueror Cheat Engine en Linux
El artículo cubre una guía sobre el uso del motor de trucos GameConqueror en Linux. Muchos usuarios que juegan juegos en Windows a menudo usan la apli...