Recherche de site Web

Comment créer un volume VDO sur un périphérique de stockage sur RHEL 8


Introduit par RedHat dans RHEL 7.5 et versions ultérieures, VDO abréviation de Virtual Date Optimizer est une technologie de virtualisation par blocs qui fournit déduplication en ligne et compression des données au niveau du périphérique bloc.

L’idée de la déduplication est assez simple : supprimer les copies des données en double et ne conserver qu’une seule copie. Lorsqu'un fichier identique est ajouté sur un périphérique bloc, il est marqué comme doublon et le fichier original est référencé à la place. Ce faisant, VDO permet d'économiser de l'espace sur le volume de blocs.

Dans ce didacticiel, vous apprendrez à créer un volume VDO sur un périphérique de stockage sur le système RHEL 8.

Étape 1 : Installer le VDO dans RHEL 8

Pour commencer, connectez-vous à votre serveur et mettez à jour votre RHEL à l'aide de la commande dnf.

sudo dnf update -y

Une fois la mise à jour des packages et du noyau terminée, procédez et installez les modules et dépendances du noyau VDO à l'aide de la commande.

sudo dnf install kmod-kvdo vdo
  • vdo – Il s'agit d'un ensemble d'outils de gestion pour Virtual Data Optimizer.
  • kmod-kvdo – Il s'agit d'un groupe de modules de noyau pour Virtual Data Optimizer.

Une fois l'installation réussie, démarrez, activez et vérifiez le démon vdo.

sudo systemctl start vdo
sudo systemctl enable vdo
sudo systemctl status vdo

Étape 2 : Créer un volume VDO dans RHEL 8

Avant de créer un volume vdo, assurez-vous que vous disposez d'un disque dur supplémentaire sur votre système. Dans ce tutoriel, nous avons joint un volume supplémentaire xvdb . Cela peut être démontré en exécutant la commande lsblk ci-dessous.

lsblk

À partir du résultat, vous pouvez clairement voir que le deuxième disque a une capacité de 100 Go.

Maintenant, nous allons créer un volume VDO vide sur le disque /dev/xvdb.

sudo vdo create --name=vdo1 --device=/dev/xvdb --vdoLogicalSize=300G

Vous rencontrerez l’erreur affichée.

Il s'agit d'un bug courant et la solution consiste simplement à redémarrer votre serveur.

sudo reboot

Lors du deuxième essai, la commande sera exécutée, créant un volume VDO vide sur le périphérique /dev/xvdb.

sudo vdo create --name=vdo1 --device=/dev/xvdb --vdoLogicalSize=300G

Décomposons la commande et regardons l'option utilisée :

  • create – Ceci lance la création du volume VDO.
  • –name=vdo1 – Cela donne au volume une étiquette appelée vdo1. N'hésitez pas à attribuer le nom de votre choix.
  • –device=/dev/xvdb – L'option de périphérique spécifie le disque sur lequel le volume sera créé.
  • –vdoLogicalSize=300G : indique la capacité de volume effective à utiliser par le système d'exploitation, dans ce cas, 300G.

Étape 3 : Sonder le nouveau volume VDO

Le nouveau volume VDO a été créé dans /dev/mapper/vdo1 en suivant la sortie que nous avons vue à l'étape précédente. Nous pouvons utiliser la commande ls comme indiqué pour enquêter sur les autorisations et la propriété des fichiers.

ls -l /dev/mapper/vdo1

Pour obtenir des informations plus pertinentes, utilisez la commande vdostats pour récupérer des statistiques sur la taille et l'utilisation du volume.

vdostats --hu

Le drapeau --hu affiche les informations dans un format lisible par l'homme, c'est-à-dire un format beaucoup plus facile à lire et à déchiffrer facilement. Nous pouvons afficher des attributs tels que le nom de l'appareil, la taille du disque supplémentaire, l'espace utilisé et disponible sous forme d'utilisation %.

Observez attentivement que l'économie % est indiquée comme Non applicable (N/A).

Notez également que nous avons déjà une certaine utilisation du volume 4.1G, ce qui se traduit par 4 %, mais nous n'avons rien écrit sur le volume. Pourquoi donc? En effet, la déduplication universelle a déjà été écrite sur le disque et c'est ce qui rend la déduplication possible.

La commande vdostats peut être utilisée avec l'indicateur --verbose pour récupérer des informations plus détaillées comme indiqué :

sudo vdostats --verbose /dev/mapper/vdo1 | grep -B6 ‘saving percent’

Ce que vous pouvez voir sont fondamentalement les mêmes données que l’exemple précédent mais dans un format différent.

Étape 4 : Partitionner le volume VDO

Après avoir obtenu suffisamment d'informations sur le volume, nous devons le partitionner, puis créer un système de fichiers afin qu'il puisse être utilisé comme un disque normal.

Créons un volume physique et un groupe de volumes comme indiqué, exécutez les commandes suivantes.

sudo pvcreate /dev/mapper/vdo1
sudo vgcreate vdo1vg /dev/mapper/vdo1

Pour afficher les statistiques de l'exécution du groupe de volumes :

sudo vgdisplay vdo1vg

Nous allons maintenant créer 2 volumes logiques de taille égale, chacun avec une capacité de 50 G.

sudo lvcreate -n vdo1v01 -L 50G vdo1vg
sudo lvcreate -n vdo1v02 -L 50G vdo1vg

Vous pourrez ultérieurement afficher les statistiques des volumes nouvellement créés en exécutant la commande.

sudo lvs

Étape 4 : Formatage et montage des systèmes de fichiers

Habituellement, lorsqu'un système de fichiers est créé, une opération de découpage est effectuée sur le périphérique. Ceci n'est pas souhaitable dans le cas du VDO. Lors du formatage à l'aide de la commande mkfs, utilisez l'option -K pour indiquer à la commande de ne pas supprimer les blocs lors de la création du système de fichiers.

sudo mkfs.xfs  -K /dev/vdo1vg/vdo1v01
sudo mkfs.xfs  -K /dev/vdo1vg/vdo1v02

Si vous utilisez le système de fichiers EXT$, utilisez l'option « -E nodiscard ».

Créez les points de montage pour monter les volumes :

sudo mkdir /data/v01
sudo mkdir /data/v02

Montez maintenant les systèmes de fichiers sur leurs points de montage comme indiqué.

sudo mount -o discard /dev/vdo1vg/vdo1v01  /data/v01
sudo mount -o discard /dev/vdo1vg/vdo1v02  /data/v02

Désormais, lorsque vous inspectez le volume du VDO, vous remarquerez que l'économie de % est passée à 99 %, ce qui est assez impressionnant. Cela implique que la déduplication fonctionne comme prévu.

sudo vdostats --hu

Vous pouvez approfondir vos recherches à l’aide de la commande df -Th. Dans la section inférieure, vous verrez les systèmes de fichiers montés respectivement sur /data/v01 et /data/v02.

df -hT

Dans ce didacticiel, nous avons montré comment créer un volume VDO à partir d'un périphérique de stockage supplémentaire sur RHEL 8. Nous sommes ensuite allés de l'avant et avons démontré comment créer plus de volumes et créer des systèmes de fichiers à partir de ces volumes.