chapeau rouge

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 le pool
  2. Provisionnement léger
  3. Instantanés du système de fichiers
  4. Surveillance

Stratisd est le démon derrière Stratis et aide à configurer les composants de stockage sous le système de fichiers XFS et le sous-système de mappeur de périphériques. Actuellement, Stratis soutient Volumes logiques LVM, disques durs, SSD, NVMe, et ISCI périphériques de stockage.

Examinons maintenant quelques termes clés de base

  1. blockdev: Il s'agit d'une terminologie qui fait référence aux périphériques de bloc.
  2. Piscine: Un pool peut être composé d'un seul ou de plusieurs blocs d'appareils. La taille d'un pool stratis sera équivalente à la somme des périphériques de bloc composant le pool.
  3. Système de fichiers: Un système de fichiers est une couche à provisionnement léger dont la taille augmente à mesure que des informations ou des 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.

Stratis est constitué de:

  1. Démon Stratisd: Un démon qui permet à un utilisateur de gérer des périphériques de bloc.
  2. Stratis-cli : Un utilitaire de ligne de commande fourni avec Stratis.

Installation de Stratis sur RHEL 8

Après avoir brièvement présenté 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 root et exécutez la commande :

# dnf install stratisd stratis-cli

Lorsque vous y êtes invité, tapez y pour 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 enable --now stratisd

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

# systemctl status stratisd

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

Création d'une piscine Stratis

Avant de commencer la création d'un pool Stratis, assurez-vous que les périphériques de bloc sur votre système ont un minimum de 1 Go. De plus, ces appareils doivent être démontés et inactifs. De plus, le démon stratisd doit être en cours d'exécution. dans notre configuration, il y a 5 périphériques en bloc en plus de 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 blocage existants en exécutant la commande :

# lsblk

En outre, il est crucial de s'assurer que les périphériques de bloc n'ont pas de table de partition existante.

Confirmez ceci à l'aide de la syntaxe :

# blkid -p /

Par example

# blkid -p /dev/xvdb

Aucune sortie implique qu'aucune table de partition n'existe sur les périphériques de bloc. Cependant, si 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'un pool Stratis à partir d'un appareil bloc

Vous pouvez créer un pool Stratis à partir d'un seul périphérique bloc en utilisant la syntaxe :

# création de pool stratis  

Par exemple pour créer une piscine piscine_1 du périphérique de bloc  /dev/xvdb Cours:

# pool stratis créer pool_1 /dev/xvdb

Pour répertorier le pool créé, exécutez :

# liste de pool de stratis

D'après la sortie ci-dessus, nous pouvons clairement voir qu'un nouveau pool, piscine_1 a été créé.

Créer un pool Stratis à partir de plusieurs appareils en bloc

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

# création de pool stratis

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

# pool stratis créer pool_2 /dev/xvdc /dev/xvdd/

Encore une fois, listez les pools disponibles à l'aide de la commande :

# liste de pool de stratis

À ce stade, vous devriez avoir 2 piscines :  pool_1 et pool_2

D'après la sortie ci-dessus, nous pouvons clairement noter que pool_2 est deux fois plus grand que pool_1 car il comprend deux périphériques en bloc, dont chacun a un volume physique de 10 Go.

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

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

# stratis fs créer  

Par exemple, pour créer un système de fichiers fs_1 de piscine_1 exécuter la commande :

# stratis fs crée pool_1 fs_1

En outre, vous pouvez créer plus d'un système de fichiers à partir d'un pool. Dans le deuxième pool, nous allons créer 2 systèmes de fichiers : 

fs_2 
&fs_3
# stratis fs crée pool_2 fs_2
# stratis fs crée pool_2 fs_3

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

# liste stratis fs

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

# liste de 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, exécutez :

# liste de stratis fs pool_2

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

À ce stade, exécuter 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 piscine_1

# mkdir /stockage

Ensuite, montez le système de fichiers

# monture /Stratis/pool_1/fs_1  /stockage

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 :

# montage /stratis/pool_2/fs_2  /base de données

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  /storage
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 sur le système, exécutez la commande :

# systemctl daemon-reload

Montez ensuite tous les systèmes de fichiers

# montage -a

Ajouter un périphérique bloc à un pool Stratis

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

# données d'ajout de pool de stratis

Par exemple pour ajouter le volume de bloc  /dev/xvde à  piscine_1 exécutez la commande :

# pool de stratis add-data pool_1 /dev/xvde

Vérifiez maintenant la taille de  piscine_1

# liste de pool de stratis

Comme on l'a observé, la taille de piscine_1 a doublé en raison du dispositif de bloc 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é ultérieurement et des différences existeront par la suite entre l'instantané et le système de fichiers d'origine.

Voici quelques éléments que vous devez également savoir :

  1. Un instantané d'un système de fichiers est simplement une autre réplique du système de fichiers.
  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 piscine_1 exécuter la commande

# stratis fs snapshot pool_1 fs_1 snapshot_1

Cela prendra environ 30 secondes.

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

# liste de systèmes de fichiers stratis

Dans ce cas, la commande sera :

# pool de liste de systèmes de fichiers stratis_1

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

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

Pour répertorier l'instantané Stratis nouvellement créé, exécutez la commande :

# liste de systèmes de fichiers stratis pool_2

À partir de la sortie ci-dessus, nous pouvons voir un instantané créé dans piscine_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émonter et détruire le système de fichiers d'origine.

# umount /stratis//système de fichiers

Par exemple, dans  piscine_2  revenir à instantané_2 démonter 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
point de montage fs instantané

La commande sera :

# stratis instantané du système de fichiers 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

Supprimer un instantané Stratis

Pour supprimer un snapshot Stratis, tout d'abord, démontez le snapshot.

# umount /snapshot_mountpoint

Pour supprimer l'instantané créé dans piscine_2, démonter le point de montage comme indiqué

# montant /base de données

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

# destruction du système de fichiers stratis

La commande sera :

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

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

# liste de systèmes de fichiers stratis pool_2

Supprimer un système de fichiers Stratis

Pour vous débarrasser d'un système de fichiers, commencez par démonter le système de fichiers en utilisant la syntaxe ci-dessous :

# umount /stratis/pool/filesystem

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

# umount /stratis/pool_1/fs_1

Ensuite, détruisez le système de fichiers en utilisant la syntaxe ci-dessous :

# le système de fichiers stratis détruit 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 bien été supprimé, exécutez la commande :

# pool de liste de systèmes de fichiers stratis_1

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

Supprimer un pool Stratis

Enfin, voyons comment supprimer un pool Stratis.

Pour supprimer un pool stratis, vous devez démonter et détruire tous les systèmes de fichiers et instantanés du pool, comme nous l'avons vu dans les sous-rubriques précédentes.

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

# montant/stockage

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

# stratis système de fichiers détruire pool_1 snapshot_1

L'instantané étant maintenant supprimé, supprimez pool_1 à l'aide de la commande

# stratis pool détruire pool_1

Listez maintenant les pools disponibles :

# liste de pool de stratis

Ôter piscine_2 , listons d'abord les systèmes de fichiers

# liste de systèmes de fichiers stratis pool_2

Démontez et détruisez les systèmes de fichiers comme indiqué

# umount /stratis/pool_2/fs_3
# système de fichiers stratis détruit pool_2 fs_3
# le système de fichiers stratis détruit la base de données pool_2

Ensuite, détruisez le pool et répertoriez les pools

# piscine stratis détruire pool_2
# liste de pool de stratis

Parfait ! toutes les piscines sont parties maintenant. Nous sommes revenus à l'endroit où nous avons commencé ! Vous pouvez à nouveau confirmer en listant les dispositifs de verrouillage à l'aide de la commande :

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

Les références:

  • https://accès.chapeau rouge.com/documentation/en-us/red_hat_enterprise_linux/8/html/managing_file_systems/managing-layered-local-storage-with-stratis_managing-file-systems
  • https://www.la menthe.com/install-stratis-to-manage-layered-local-storage-on-rhel/
SuperTuxKart pour Linux
SuperTuxKart est un excellent titre conçu pour vous apporter l'expérience Mario Kart gratuitement sur votre système Linux. C'est assez stimulant et am...
Tutoriel Bataille pour Wesnoth
The Battle for Wesnoth est l'un des jeux de stratégie open source les plus populaires auxquels vous pouvez jouer en ce moment. Non seulement ce jeu es...
0 A.ré. Didacticiel
Sur les nombreux jeux de stratégie disponibles, 0 A.ré. parvient à se démarquer comme un titre complet et un jeu tactique très profond bien qu'il soit...