Comment gérer le stockage local en couches avec Stratis sur RHEL 8

Comment gérer le stockage local en couches avec Stratis sur RHEL 8
Stratis est une solution de stockage de gestion locale par l'équipe RedHat introduite avec RHEL 8 qui permet aux administrateurs système de configurer des fonctionnalités de stockage avancées telles que:
  1. Gestion basée sur la piscine
  2. Mince provisionnement
  3. Instantanés du système de fichiers
  4. Surveillance

Stratisd est le démon derrière Stratis et aide à configurer des composants de stockage sous le système de fichiers XFS et le sous-système de périphérique. Pour le moment, Stratis soutient Volumes logiques LVM, disques durs, SSTS, Nvme, et Iscis périphériques de stockage.

Maintenant, prenons une plongée et regardons quelques termes clés de base

  1. blocage: Il s'agit d'une terminologie qui fait référence aux appareils de blocage.
  2. Piscine: Une piscine peut comprendre un seul ou plusieurs appareils de bloc. La taille d'une piscine Stratis sera équivalente à la somme des dispositifs de blocs composant la piscine.
  3. Système de fichiers: Un système de fichiers est une couche à peine provisionnée dont la taille augmente à mesure que plus d'informations ou de données sont ajoutées. La taille d'un système de fichiers est augmentée automatiquement par Stratis à mesure que les données atteignent presque la taille du système de fichiers virtuel.

Stratic est constitué de:

  1. Démon stratisd: Un démon qui permet à un utilisateur de gérer les appareils de bloc.
  2. Stratis-Cli: Un utilitaire de ligne de commande qui est livré avec Stratis.

Installation de stratis sur rhel 8

Ayant brièvement introduit Stratis, ce qu'il fait et ses composants, installons maintenant Stratis sur Rhel 8

Pour installer Stratis sur RHEL 8, connectez-vous en tant qu'utilisateur racine et exécutez la commande:

# DNF Installer Stratisd Stratis-Cli

Lorsque vous êtes invité, tapez Y à procéder à l'installation. Si tout s'est bien passé, vous devriez pouvoir obtenir la sortie ci-dessous qui confirme que tout s'est bien passé.

Pour confirmer l'installation des packages Stratis, exécutez la commande:

# RPM -Q Stratisd Stratis-Cli

Démarrage du service Stratis sur RHEL 8

Pour démarrer le service Stratis, exécutez la commande:

# SystemCTL Activer --now Stratisd

Ensuite, vérifiez l'état de Stratis, en exécutant la commande:

# Statut SystemCTL Stratisd

De la sortie ci-dessus, nous pouvons observer que Stratis est opérationnel.

Création d'une piscine Stratis

Avant de commencer par la création d'une piscine Stratis, assurez-vous que les appareils de bloc de votre système ont un minimum de 1 Go. De plus, ces appareils doivent être non montés et inactifs. De plus, le démon stratisd doit courir. Dans notre configuration, il y a 5 appareils de bloc à part la partition principale:

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

Vous pouvez avoir un aperçu des appareils de bloc existants en exécutant la commande:

# lsblk

Il est également crucial pour s'assurer que les appareils de bloc n'ont pas de table de partition existante.

Confirmez-le en utilisant la syntaxe:

# blkid -p /

Par exemple

# blkid -p / dev / xvdb

Aucune sortie n'implique qu'aucune table de partition n'existe sur les appareils de bloc. Cependant, dans le cas où une table de partition existe sur l'un des appareils, vous pouvez effacer la partition à l'aide de la commande:

# wipefs -a /

Création d'une piscine Stratis à partir d'un appareil de bloc

Vous pouvez créer une piscine Stratis à partir d'un périphérique à bloc unique à l'aide de la syntaxe:

# Stratis Pool Créer

Par exemple pour créer une piscine Pool_1 à partir du périphérique de bloc / dev / xvdb courir:

# Stratis Pool Créer Pool_1 / Dev / xvdb

Pour répertorier la piscine créée, exécutez:

# Liste de piscine Stratis

D'après la sortie ci-dessus, nous pouvons clairement voir qu'une nouvelle piscine, Pool_1 a été créé.

Créez une piscine Stratis à partir de plusieurs appareils de bloc

Pour créer un pool à partir de plusieurs appareils, utilisez la syntaxe ci-dessous répertoriant tous les appareils sur une seule ligne

# Stratis Pool Créer

Pour créer une piscine à partir de / dev / xvdc et / dev / xvdd Exécutez la commande:

# Stratis Pool Créer Pool_2 / Dev / xvdc / dev / xvdd /

Encore une fois, énumérez les pools disponibles à l'aide de la commande:

# Liste de piscine Stratis

À ce stade, vous devriez avoir 2 piscines: Pool_1 et Pool_2

À partir de la sortie ci-dessus, nous pouvons clairement noter que Pool_2 est le double de la taille de Pool_1 car il comprend deux appareils de bloc, chacun ayant un volume physique de 10 Go.

Création d'un système de fichiers à partir d'un pool

À partir de l'un des pools Stratis créés précédemment, vous pouvez créer un système de fichiers à l'aide de la syntaxe ci-dessous:

# stratis fs créent

Par exemple, pour créer un système de fichiers fs_1 depuis Pool_1 Exécuter la commande:

# Stratis FS Créer Pool_1 FS_1

Vous pouvez également créer plus d'un système de fichiers à partir d'un pool. Dans le deuxième pool, nous créerons 2 systèmes de fichiers:

fs_2
& fs_3
# Stratis fs Créer Pool_2 FS_2
# Stratis FS Créer Pool_2 FS_3

Maintenant, pour afficher les nouveaux systèmes de fichiers, exécutez:

# liste Stratis FS

Pour répertorier les systèmes de fichiers dans un pool donné, utilisez la syntaxe

# liste Stratis FS

Par exemple, pour afficher les systèmes de fichiers existant dans Pool_1, exécutez la commande:

# Stratis FS Liste Pool_1

Pour Pool_2 Run:

# Stratis FS Liste Pool_2

Comme prévu, nous avons 2 systèmes de fichiers dans le deuxième pool.

À ce stade, exécutant le lsblk La commande produira une sortie similaire à celle ci-dessous:

Comment monter un système de fichiers Stratis

Pour accéder aux systèmes de fichiers, nous devons, tout d'abord, les monter. La première étape sera de créer des points de montage pour chacun des systèmes de fichiers. Ceci est résumé dans le tableau ci-dessous

Système de fichiers Point de montage
fs_1 /stockage
fs_2 /base de données
fs_3 /sauvegarde

Alors, créez le premier point de montage pour le système de fichiers dans Pool_1

# mkdir / stockage

Ensuite, montez le système de fichiers

# Mount / Stratis / Pool_1 / FS_1 / Storage

Pour monter le deuxième système de fichiers, suivez la même procédure:

# MKDIR / base de données

Montez le système de fichiers:

# Mount / Stratis / Pool_2 / FS_2 / Database

Et enfin pour le dernier système de fichiers:

# mkdir / sauvegarde

Montez le système de fichiers:

# Mount / Stratis / Pool_2 / FS_3 / Backup

Vous pouvez confirmer l'existence des points de montage à l'aide de la commande:

# df -th | grep stratis

Rendre les systèmes de fichiers Stratis persistants

Les systèmes de fichiers que nous venons de créer ne survivront pas à un redémarrage. Afin de les rendre persistants, nous devons les ajouter au / etc / fstab déposer.

Tout d'abord, récupérons l'UUID des systèmes de fichiers comme indiqué

# 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 / stockage
xfs par défaut 0 0 "| Sudo Tee -a / etc / fstab
# Echo "UUID = DDFA4252-A9D6-4C10-8981-E7DBD56450EE / Base de données
xfs par défaut 0 0 "| Sudo Tee -a / etc / fstab
# echo "UUID = 512BC0B7-182E-46ED-9FBD-D5BE4D055FCF / BACKUP
xfs par défaut 0 0 "| Sudo Tee -a / etc / fstab

Vous pouvez confirmer l'ajout des systèmes de fichiers au / etc / fstab comme montré:

Pour que les modifications prennent effet dans l'effet sur le système, exécutez la commande:

# SystemCTL Daemon-Reload

Puis montez tous les systèmes de fichiers

# mont -a

Ajout d'un appareil de bloc à une piscine Stratis

Pour ajouter un périphérique de bloc à un pool Stratis existant, exécutez la commande:

# Stratis Pool Add-Data

Par exemple pour ajouter le volume de bloc / dev / xvde pour Pool_1 Exécutez la commande:

# Stratis Pool Add-Data Pool_1 / Dev / xvde

Maintenant, vérifiez la taille de Pool_1

# Liste de piscine Stratis

Comme observé, la taille de Pool_1 a doublé à la suite de l'appareil de blocs ajouté.

Création d'un instantané Stratis

Un système de fichiers Stratis est une copie exacte ou une réplique d'un autre système de fichiers Stratis. Il contient le même contenu que le système de fichiers d'origine. Cependant, un instantané peut être modifié plus tard et des différences existeront ensuite entre l'instantané et le système de fichiers d'origine.

Voici quelques choses que vous devriez également savoir:

  1. Un instantané d'un système de fichiers est simplement un autre système de fichiers de réplique.
  2. Vous n'avez pas besoin de monter un système de fichiers pour pouvoir en créer un instantané.
  3. Un système de fichiers instantané peut survivre au système de fichiers d'origine à partir duquel il a été créé

Pour créer un instantané, utilisez la syntaxe:

# instantané Stratis fs

Par exemple, pour créer un instantané appelé instantané_1 dans Pool_1 exécuter la commande

# stratis fs instantanée pool_1 fs_1 snapshot_1

Cela prendra environ 30 secondes.

Pour confirmer la création de l'instantané, exécutez:

# Liste du système de fichiers Stratis

Dans ce cas, la commande sera:

# Liste du système de fichiers Stratis Pool_1

De plus, vous pouvez ajouter l'attribut de date (-$ (date +% y-% m-% d) pour identifier facilement quand l'instantané a été créé. Créons un autre instantané en utilisant la deuxième piscine.

# stratis fs snapshot pool_2 fs_2 snapshot_2 - $ (date +% y-% m-% d)

Pour répertorier le problème instantané Stratis nouvellement créé la commande:

# Liste du système de fichiers Stratis Pool_2

De la sortie ci-dessus, nous pouvons voir un instantané créé dans Pool_2 avec une étiquette de date.

Comment revenir à un instantané précédent à l'aide d'un système de fichiers

Pour revenir à un instantané précédent à l'aide d'un système de fichiers, vous devez d'abord dénoncer et détruire le système de fichiers d'origine.

# umount / stratis //système de fichiers

Par exemple, dans Pool_2 pour revenir à instantané_2 Débrouiller le système de fichiers fs_2

# umount / stratis / pool_2 / fs_2

Ensuite, créez une copie de l'instantané à partir du système de fichiers d'origine

# instantané du système de fichiers Stratis
instantané FS-MountPoint

La commande sera:

# Stratis Fichesystem Snapshot Pool_2 Snapshot_2-2019-11-15 Base de données

Enfin, montez l'instantané à l'aide du point de montage du système de fichiers

# Mount / Stratis / Pool_2 / FS_2 / Database

Retirer un instantané Stratis

Pour éliminer un instantané Stratis, tout d'abord, démoulez l'instantané.

# umount / snapshot_mountpoint

Pour supprimer l'instantané créé dans Pool_2, Débrouillez le point de montage comme indiqué

# Umount / base de données

Ensuite, procédez et détruisez l'instantané:

# Stratis Système de fichiers Détruiser

La commande sera:

# Stratis Système de fichiers détruire Pool_2 Snapshot_2-2019-11-15

Essayez maintenant de répertorier les systèmes de fichiers dans pool_2. Vous remarquerez que l'instantané est maintenant parti.

# Liste du système de fichiers Stratis Pool_2

Supprimer un système de fichiers Stratis

Pour vous débarrasser d'un système de fichiers, débrouillez d'abord le système de fichiers à l'aide de la syntaxe ci-dessous:

# Umount / Stratis / Pool / Système de fichiers

Par exemple pour supprimer le système de fichiers fs_1 dans Pool_1, Démontez d'abord comme indiqué:

# umount / stratis / pool_1 / fs_1

Ensuite, détruisez le système de fichiers à l'aide de la syntaxe ci-dessous:

# Stratis Système de fichiers détruire le pool FS

Dans notre scénario, la commande sera:

# Stratis Système de fichiers détruire Pool_1 FS_1

Pour confirmer que le système de fichiers a été supprimé avec succès, exécutez la commande:

# Liste du système de fichiers Stratis Pool_1

Comme vous pouvez l'observer, le système de fichiers n'existe plus.

Retirer une piscine Stratis

Enfin, voyons comment vous pouvez retirer une piscine Stratis.

Pour supprimer une piscine Stratis, vous devez non-même et détruire tous les systèmes de fichiers et instantané dans la piscine comme nous l'avons vu dans les sous-sujets précédents.

Puisqu'il reste un instantané sur Pool_1, nous allons d'abord le retirer en supprimant d'abord le point de montage associé à l'instantané

# umount / stockage

Ensuite, détruisez le système de fichiers.

# Stratis Système de fichiers détruire Pool_1 Snapshot_1

Avec l'instantané maintenant supprimé, supprimez Pool_1 en utilisant la commande

# Stratis Pool détruise Pool_1

Répertoriez maintenant les piscines disponibles:

# Liste de piscine Stratis

Retirer Pool_2 , Lisons d'abord les systèmes de fichiers

# Liste du système de fichiers Stratis Pool_2

Débrouiller et détruire les systèmes de fichiers comme indiqué

# umount / stratis / pool_2 / fs_3
# Stratis Système de fichiers détruire pool_2 fs_3
# Stratis Système de fichiers Détruiser la base de données Pool_2

Ensuite, détruisez la piscine et listez les piscines

# Stratis Pool détruise Pool_2
# Liste de piscine Stratis

Parfait ! Toutes les piscines sont parties maintenant. Nous sommes retournés à l'endroit où nous avons commencé ! Vous pouvez à nouveau confirmer en répertoriant les périphériques de verrouillage à l'aide de la commande:

et comment vous pouvez l'utiliser pour gérer les appareils de bloc, créer des instantanés, des systèmes de fichiers et des pools et les supprimer également. Vos pensées et vos commentaires sont les bienvenus.