Recherche de site Web

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


Stratis est l'une des nouvelles fonctionnalités fournies avec la distribution RHEL 8. Stratis est une solution de gestion du stockage local qui met l'accent sur la simplicité et une convivialité améliorée tout en donnant accès à des fonctionnalités de stockage avancées. Il utilise le système de fichiers XFS et vous donne accès à des fonctionnalités de stockage avancées telles que :

  • Provisionnement dynamique
  • Instantanés du système de fichiers
  • Hiérarchisation
  • Gestion basée sur le pool
  • Surveillance

Fondamentalement, Stratis est un pool de stockage créé à partir d'un ou plusieurs disques locaux ou partitions de disque. Stratis aide un administrateur système à configurer et à gérer des configurations de stockage complexes.

Avant d'aller plus loin, examinons certains des termes techniques que vous rencontrerez sûrement au fur et à mesure :

  • pool : un pool est composé d'un ou plusieurs appareils en bloc. La taille totale du pool est égale à la somme totale des périphériques de bloc.
  • blockdev : comme vous l'avez peut-être deviné, cela fait référence aux périphériques de bloc tels que les partitions de disque.
  • Système de fichiers : un système de fichiers est une couche à provisionnement restreint qui n'a pas une taille totale fixe. La taille réelle du système de fichiers augmente à mesure que des données sont ajoutées. Stratis augmente automatiquement la taille du système de fichiers à mesure que la taille des données se rapproche de la taille virtuelle du système de fichiers.

Les appareils de blocage que vous pouvez utiliser avec Stratis incluent :

  1. Volumes logiques LVM
  2. LUKS
  3. SSD (Solid State Drives)
  4. Mappeur de périphérique à chemins multiples
  5. iSCSI
  6. Disques durs (disques durs)
  7. mdraid
  8. Périphériques de stockage NVMe

Composants logiciels de Stratis

Stratis fournit 2 utilitaires logiciels :

  • Stratis-cli : il s'agit de l'outil de ligne de commande fourni avec Stratis.
  • Démon Stratisd : il s'agit d'un démon qui crée et gère les périphériques de bloc et joue un rôle dans la fourniture d'une API DBUS.

Comment installer Stratis sur RHEL 8

Après avoir examiné ce qu'est Stratis et défini quelques terminologies. Installons et configurons maintenant Stratis sur la distribution RHEL 8 (fonctionne également sur CentOS 8).

Installer Stratis sur RHEL 8

Voyons comment installer Stratis sur votre système RHEL 8, connectez-vous en tant qu'utilisateur root et exécutez la commande.

dnf install stratisd stratis-cli

Pour trouver plus d’informations sur les packages installés, exécutez la commande.

rpm -qi stratisd stratis-cli

Après l'installation réussie de Stratis, démarrez le service en exécutant la commande.

systemctl enable --now stratisd

Pour vérifier l'état de Stratis, exécutez la commande.

systemctl status stratisd

Créer un pool Stratis

Pour créer un pool Stratis, vous avez besoin de bloquer les périphériques qui ne sont pas utilisés ou montés. En outre, il est supposé que le service Stratisd est opérationnel. De plus, la taille des appareils bloqués que vous allez utiliser doit être d'au moins 1 Go.

Sur notre système RHEL 8, nous disposons de quatre périphériques de bloc supplémentaires : /dev/xvdb, /dev/xvdc, /dev/ xvdd, /dev/xvde. Pour afficher les périphériques bloc, exécutez la commande lsblk.

lsblk

Aucun de ces périphériques bloc ne doit avoir de table de partition. Vous pouvez le confirmer en utilisant la commande.

blkid -p /dev/xvdb

Si vous n'obtenez aucune sortie, cela signifie que vos périphériques de bloc ne disposent d'aucune table de partition résidant sur eux. Cependant, dans le cas où une table de partition existe, vous pouvez l'effacer à l'aide de la commande :

wipefs -a /<device-path>

Créer un pool Stratis à partir d'un périphérique One Block

Vous pouvez créer un pool Stratis à partir d'un périphérique monobloc en utilisant la syntaxe.

stratis pool create <pool-name> <block-device>

Par exemple, pour créer un pool à partir de /dev/xvdb, exécutez la commande.

stratis pool create my_pool_1 /dev/xvdb

Pour confirmer l'exécution du pool créé.

stratis pool list

Créer un pool Stratis à partir de plusieurs périphériques 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 create <pool_name> device-1 device-2 device-n

Pour créer un pool à partir de /dev/xvdc, /dev/xvdd et /dev/xvde exécutez la commande.

stratis pool create my_pool_2 /dev/xvdc /dev/xvdd/ /dev/xvde

Encore une fois, répertoriez les pools disponibles à l’aide de la commande.

stratis pool list

À ce stade, vous devriez avoir 2 pools : my_pool_1 et my_pool_2.

Comme vous pouvez le voir ci-dessus, l'espace disque occupé par le pool my_pool_2 est trois fois supérieur à celui du premier pool que nous avons créé à partir d'un seul périphérique bloc avec une mémoire de 10 Go.

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

Après avoir créé votre système de fichiers, vous pouvez créer un système de fichiers à partir de l'un des pools en utilisant la syntaxe.

stratis fs create <poolname> <filesystemname>

Par exemple, pour créer filesystem-1 et filesystem-2 à partir de my_pool_1 et my_pool_2, exécutez respectivement les commandes :

stratis fs create my_pool_1 filesystem-1
stratis fs create my_pool_2 filesystem-2

Pour afficher les systèmes de fichiers nouvellement créés, exécutez la commande.

stratis fs list

Pour limiter les résultats d'un système de fichiers à un seul pool, exécutez la commande :

stratis fs list <poolname>

Par exemple, pour vérifier le système de fichiers dans my_pool_2, exécutez la commande.

stratis fs list my_pool_2

Maintenant, si vous exécutez la commande lsblk, le résultat devrait être quelque peu similaire à l’exemple de sortie ci-dessous.

lsblk

Monter un système de fichiers Stratis

Nous allons maintenant monter les systèmes de fichiers existants afin d'y accéder. Tout d’abord, créez les points de montage.

Pour le système de fichiers du premier pool, exécutez la commande :

mkdir /data
mount /stratis/my_pool_1/filesystem-1 /data

Pour le deuxième système de fichiers du deuxième pool, exécutez la commande.

mkdir /block
mount /stratis/my_pool_2/filesystem-2 /block

Pour vérifier l'existence des points de montage actuels, exécutez la commande df :

df -Th | grep  stratis

Parfait! On voit clairement que nos points de montage sont présents.

Monter de manière persistante les systèmes de fichiers Stratis

Les points de montage que nous venons de créer ne peuvent pas survivre à un redémarrage. Pour les rendre persistants, obtenez d'abord l'UUID de chacun des systèmes de fichiers :

blkid -p /stratis/my_pool_1/filesystem-1
blkid -p /stratis/my_pool_2/filesystem-2

Maintenant, continuez et copiez les UUID et les options du point de montage dans /etc/fstab comme indiqué.

echo "UUID=c632dcf5-3e23-46c8-82b6-b06a4cc9d6a7 /data xfs defaults 0 0" | sudo tee -a /etc/fstab
echo "UUID=b485ce80-be18-4a06-8631-925132bbfd78 /block xfs defaults 0 0" | sudo tee -a /etc/fstab

Pour que le système enregistre la nouvelle configuration, exécutez la commande :

systemctl daemon-reload

Pour vérifier que la configuration fonctionne comme prévu, montez les systèmes de fichiers.

mount /data
mount /block

Suppression d'un système de fichiers Stratis

Pour supprimer un système de fichiers, vous devez tout d’abord démonter le système de fichiers comme indiqué.

umount /mount-point

Dans ce cas, nous l'aurons.

umount /data

Pour détruire le système de fichiers, utilisez la syntaxe :

stratis filesystem destroy <poolname> <filesystem-name>

On aura donc :

stratis filesystem destroy my_pool_1 filesystem-1

Pour confirmer la suppression du système de fichiers, exécutez la commande.

stratis filesystem list my_pool_1

D'après le résultat, nous pouvons clairement voir que le système de fichiers associé à my_pool_1 a été supprimé.

Ajout d'un disque à un pool Stratis existant

Vous pouvez ajouter un disque à un pool existant à l'aide de la commande :

stratis pool add-data <poolname> /<devicepath>

Par exemple, pour ajouter un disque supplémentaire /dev/xvdf à my_pool_1, exécutez la commande :

stratis pool add-data my_pool_1 /dev/xvdf

Notez que la taille de my_pool_1 a doublé après avoir ajouté le volume supplémentaire.

Créer des instantanés Stratis

Un instantané est une lecture à provisionnement restreint et écrit une copie d'un système de fichiers à un moment donné.

Pour créer un instantané, exécutez la commande :

stratis fs snapshot <poolname> <fsname> <snapshotname>

Dans ce cas, la commande sera :

stratis fs snapshot my_pool_2 filesystem-2 mysnapshot

Vous pouvez ajouter l'attribut de données -$ (date +%Y-%m-%d) à l'instantané et ajouter la balise de date comme indiqué dans la capture d'écran ci-dessous.

Pour vérifier la création de l'instantané, exécutez la commande :

stratis filesystem list <poolname>

Dans ce cas, la commande sera :

stratis filesystem list my_pool_2

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

Pour restaurer un système de fichiers Stratis à un instantané créé précédemment, commencez par démonter et détruire le système de fichiers d'origine.

umount /stratis/<poolname>/filesystem

Dans notre scénario, ce sera le cas.


umount /stratis/my_pool_2/filesystem-2

Créez ensuite une copie de l'instantané en utilisant le système de fichiers d'origine :

stratis filesystem snapshot <poolname> filesystem-snapshot filesystem

La commande sera :

stratis filesystem snapshot my_pool_2 mysnapshot-2019-10-24 block

Enfin, montez l'instantané.

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

Suppression d'un instantané Stratis

Pour supprimer l'instantané, démontez d'abord l'instantané.

unmount /stratis/my_pool_2/mysnapshot-2019-10-24

Ensuite, continuez et détruisez l'instantané :

stratis filesystem destroy my_pool_2 mysnapshot-2019-10-24

Suppression d'un pool Stratis

Pour supprimer un pool Stratis, suivez les étapes simples ci-dessous.

1. Répertoriez les systèmes de fichiers qui existent dans le pool.

stratis filesystem list <poolname>

2. Ensuite, démontez tous les systèmes de fichiers du pool.

umount /stratis//filesystem-1
umount /stratis//filesystem-2
umount /stratis//filesystem-3

3. Détruisez les systèmes de fichiers.

stratis filesystem destroy <poolname> fs-1 fs-2

4. Et puis, débarrassez-vous de la piscine.

stratis pool destroy poolname

Dans ce cas, la syntaxe sera.

stratis pool destroy my_pool_2

Vous pouvez vérifier à nouveau la liste des pools.

stratis pool list

Enfin, supprimez les entrées dans le /etc/fstab pour les systèmes de fichiers.

Nous sommes arrivés à la fin du guide. Dans ce didacticiel, nous expliquons comment vous pouvez installer et utiliser Stratis pour gérer le stockage local en couches sur RHEL. Nous espérons que vous l’avez trouvé utile. Essayez-le et dites-nous comment ça s'est passé.