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 Redhat introducido con RHEL 8 que permite a los administradores del sistema configurar características de almacenamiento avanzadas como:
  1. Gestión basada en piscinas
  2. Aprovisionamiento delgado
  3. Instantáneas del sistema de archivos
  4. Supervisión

Stratisd es el demonio detrás de Stratis y ayuda a configurar componentes de almacenamiento en el sistema de archivos XFS y el subsistema de dispositivos-mape. Por el momento, Stratis apoya Volúmenes lógicos LVM, unidades de disco duro, SSDS, Nvme, y Escis dispositivos de almacenamiento.

Ahora, hagamos una inmersión y veamos algunos términos clave básicos

  1. blockdev: Esta es una terminología que se refiere a dispositivos de bloqueo.
  2. Piscina: Una piscina puede comprender un solo o varios dispositivos de bloqueo. El tamaño de una piscina de Stratis será equivalente a la suma de los dispositivos de bloque que forman la piscina.
  3. Sistema de archivos: Un sistema de archivos es una capa finamente aprovisionada cuyo tamaño crece a medida que se agregan más información o datos. El tamaño de un sistema de archivos se escala automáticamente por Stratis a medida que los datos crecen casi al tamaño del sistema de archivos virtuales.

Stratis se compone de:

  1. Demonio 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 introducido brevemente a Stratis, lo que hace y sus componentes, instalemos ahora 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 la salida a continuación que confirma que todo salió bien.

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

# rpm -q stratisd stratis -cli

Comenzar el 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á en funcionamiento.

Creando una piscina Stratis

Antes de comenzar con la creación de una piscina Stratis, asegúrese de que los dispositivos de bloque en su sistema tengan un mínimo de 1 GB. Además, estos dispositivos deben ser desmontados y inactivos. Además, Stratisd Daemon debe estar funcionando. En nuestra configuración, hay 5 dispositivos de bloque aparte 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 partición existente.

Confirme esto usando la sintaxis:

# blkid -p /

Por ejemplo

# blkid -p /dev /xvdb

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

# toallfs -a /

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

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

# Stratis Pool crea

Por ejemplo, para crear una piscina piscina_1 Desde el dispositivo de bloque /dev/xvdb correr:

# Stratis Pool Crear grupo_1 /dev /xvdb

Para enumerar el grupo creado, ejecute:

# Lista de piscinas de Stratis

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

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

Para crear un grupo a partir de múltiples dispositivos, use la sintaxis a continuación enumerando todos los dispositivos en una línea

# Stratis Pool crea

Para crear una piscina de /dev/xvdc y /dev/xvdd Ejecute el comando:

# Stratis Pool Crear grupo_2/dev/xvdc/dev/xvdd/

Una vez más, enumere las piscinas disponibles usando el comando:

# Lista de piscinas de Stratis

En este punto, debe tener 2 piscinas: Pool_1 y Pool_2

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

Creación de un sistema de archivos desde un grupo

Desde uno de los grupos Stratis creados anteriormente, puede crear un sistema de archivos utilizando la sintaxis a continuación:

# stratis fs crea

Por ejemplo, para crear un sistema de archivos FS_1 de piscina_1 Ejecutar el comando:

# Stratis FS Crear Pool_1 FS_1

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

FS_2
& fs_3
# Stratis FS Crear Pool_2 FS_2
# Stratis FS Crear Pool_2 FS_3

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

# Lista de Stratis FS

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

# Lista de Stratis FS

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

# Stratis FS List Pool_1

Para Pool_2 Run:

# Stratis FS List Pool_2

Como se esperaba, tenemos 2 sistemas de archivos en el segundo grupo.

En este punto, ejecutando 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, necesitamos, en primer lugar, montarlos. El primer paso será crear puntos de montaje para cada uno de los sistemas de archivos. Esto se resume en la tabla a continuación

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 piscina_1

# mkdir /almacenamiento

A continuación, monte el sistema de archivos

# Monte /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:

# MONTO /STRACIS /POOD_2 /FS_2 /Base de datos

Y finalmente para el último sistema de archivos:

# mkdir /copia de seguridad

Monte el sistema de archivos:

# Monte /Stratis /Pool_2 /FS_3 /Backup

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

# df -th | Grep Stratis

Hacer que los sistemas de archivos de Stratis persistentes

Los sistemas de archivos que acabamos de crear no sobrevivirán a un reinicio. Para hacerlos persistentes, necesitamos agregarlos al /etc/fstab archivo.

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-1b39999945964 /almacenamiento
XFS predeterminados 0 0 "| sudo tee -a /etc /fstab
# echo "uuid = ddfa4252-a9d6-4c10-8981-e7dbd56450ee /base de datos
XFS predeterminados 0 0 "| sudo tee -a /etc /fstab
# echo "uuid = 512bc0b7-182e-46ed-9fbd-d5be4d055fcf /copia de seguridad
XFS predeterminados 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 entren en vigencia en el efecto en el sistema, ejecute el comando:

# SystemCTL-Daemon-Re-Reloting

Luego monte todos los sistemas de archivos

# Monte -a

Agregar un dispositivo de bloque a una piscina de Stratis

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

# Stratis Pool Add-Data

Por ejemplo, para agregar el volumen de bloque /dev/xvde a piscina_1 Ejecute el comando:

# Stratis Pool Add-Data Pool_1 /dev /xvde

Ahora verifique el tamaño de piscina_1

# Lista de piscinas de Stratis

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

Creando una instantánea de Stratis

Un sistema de archivos Stratis es una copia o réplica exacta 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 tarde y las diferencias existirán posteriormente entre la instantánea y el sistema de archivos original.

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

  1. Una instantánea de un sistema de archivos es simplemente otro sistema de archivos de réplica.
  2. No necesita montar un sistema de archivos para poder crear una instantánea a partir de él.
  3. Un sistema de archivos SaptShotted puede sobrevivir al sistema de archivos original del que se creó

Para crear una instantánea, use la sintaxis:

# Stratis FS Saptshot

Por ejemplo, para crear una instantánea llamada instantánea_1 en piscina_1 Ejecutar el comando

# Stratis FS Snapshot Pool_1 FS_1 Snapshot_1

Esto tomará 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á:

# Lista del sistema de archivos de Stratis 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 la segunda piscina.

# Stratis FS Snapshot Pool_2 FS_2 Snapshot_2-$ (fecha +%y-%M-%D)

Para enumerar el recién creado Stratis Snapshot emite el comando:

# Lista del sistema de archivos de Stratis 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 desde el sistema de archivos original

# Stratis FileSystem Snapshot
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

# MONTO /STRACIS /POOD_2 /FS_2 /Base de datos

Eliminar una instantánea de Stratis

Para eliminar una instantánea de Stratis, antes que nada, 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 /Base de datos

Luego, continúe y destruya la instantánea:

# Stratis Files System Destroy

El comando será:

# Stratis Files System Destroy Pool_2 Snapshot_2-2019-11-15

Ahora intente enumerar los sistemas de archivos en Pool_2. Notarás que la instantánea ya se ha ido.

# Lista del sistema de archivos de Stratis Pool_2

Eliminar un sistema de archivos de Stratis

Para deshacerse de un sistema de archivos, primero desmonte el sistema de archivos utilizando la sintaxis a continuación:

# Umount/Stratis/Pool/FileSystem

Por ejemplo, para eliminar el sistema de archivos FS_1 en piscina_1, Primero desmontarlo como se muestra:

# Umount/Stratis/Pool_1/FS_1

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

# Stratis Files System Destroy Pool FS

En nuestro escenario, el comando será:

# Stratis Files System Destroy Pool_1 FS_1

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

# Lista del sistema de archivos de Stratis Pool_1

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

Eliminar una piscina de Stratis

Por último, veamos cómo puede eliminar una piscina de Stratis.

Para eliminar un grupo de Stratis, debe desmontar y destruir los sistemas de archivos y la instantánea en el grupo como vimos en los sub temas anteriores.

Dado que queda una instantánea en Pool_1, primero la eliminaremos eliminando primero el punto de montaje asociado con la instantánea

# Umount /Storage

A continuación, destruye el sistema de archivos.

# Stratis Files System Destroy Pool_1 Snapshot_1

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

# Stratis Pool Destroy Pool_1

Ahora enumera las piscinas disponibles:

# Lista de piscinas de Stratis

Para eliminar Pool_2 , Primero enumeremos los sistemas de archivos

# Lista del sistema de archivos de Stratis Pool_2

Desmontar y destruir los sistemas de archivos como se muestra

# Umount/Stratis/Pool_2/FS_3
# Stratis Files System Destroy Pool_2 FS_3
# Stratis Files System Destroy Database de Pool_2

A continuación, destruye la piscina y enumera las piscinas

# Stratis Pool Destroy Pool_2
# Lista de piscinas de Stratis

Perfecto ! todas las piscinas se han ido ahora. Hemos vuelto a donde comenzamos ! 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. Tus pensamientos y comentarios son más bienvenidos.