Soutien à SCSI UNMAP

Le service de volumes par blocs vous permet de configurer vos applications pour envoyer des commandes SCSI UNMAP aux volumes de démarrage et aux volumes par blocs afin de récupérer de l'espace inutilisé. L'utilisation de SCSI UNMAP réduit considérablement la taille des sauvegardes et accélère les temps de restauration et de clonage des volumes. Les commandes SCSI UNMAP sont similaires aux commandes TRIM que vous pouvez envoyer aux disques SSD pour récupérer l'espace inutilisé.

Vous envoyez une commande SCSI UNMAP pour indiquer au sous-système de stockage de rejeter et de libérer les blocs qui sont supprimés ou qui ne sont plus utilisés par une application ou par le système de fichiers. Si vous n'envoyez pas cette commande, le sous-système de stockage ne sait pas que les blocs ne sont plus utilisés et continue d'inclure ces blocs dans toutes les sauvegardes et les clones vers de nouveaux volumes. Une fois que le sous-système de stockage a reçu la commande UNMAP pour les blocs, les blocs correspondants sont abandonnés et libérés, de sorte qu'ils sont exclus des sauvegardes et clones futurs.

La fonctionnalité Block Volume UNMAP est mise en œuvre à l'aide des commandes SCSI UNMAP. UNMAP est pris en charge pour les types d'attachement de volume ISCSI et paravirtualisé.

UNMAP est une commande non déterministe, et il n'est pas garanti que tous les blocs demandés sont abandonnés immédiatement lorsque vous utilisez la commande. Le temps nécessaire pour éliminer les blocs d'un périphérique dépend des facteurs suivants :

  • Nombre de blocs non utilisés dans le système de fichiers. L'exécution du plan d'action des Nations Unies sur un appareil avec des blocs plus inutilisés prendra plus de temps.

  • Niveau de performance (paramètre VPU/Go) configuré pour le volume par blocs.

  • Pour les systèmes de fichiers, cela dépend de la mise en oeuvre du système de fichiers invité, qui varie d'un système de fichiers à l'autre.

Activation du plan d'action des Nations Unies pour les volumes joints avant le 14 juin 2023

UNMAP est activé par défaut pour les volumes de démarrage et les volumes par blocs pour tous les nouveaux attachements. Pour les volumes attachés avant le 14 juin 2023, utilisez les commandes ci-dessous pour vérifier si UNMAP est déjà activé ou non et, si ce n'est pas le cas, prenez les mesures recommandées pour l'activer.

Vérification de l'activation de UNMAP

Linux

Utilisez la commande lsblk -D pour vérifier si UNMAP est activé pour un volume. Si UNMAP est activé, les colonnes DISC-GRAN et DISC-MAX de la sortie auront des valeurs non nulles. Si les valeurs des colonnes DISC-GRAN et DISC-MAX dans la sortie sont des zéros, la fonctionnalité UNMAP n'est pas activée. Voir comment activer UNMAP.

La capture d'écran suivante contient un exemple de sortie pour la commande lsblk -D sur les volumes pour lesquels UNMAP est activé.

sortie lsblk confirmant que TRIM est activé

Windows

SCSI UNMAP est activé par défaut.

Activation de UNMAP

Pour activer la fonctionnalité UNMAP pour un volume, effectuez l'une des actions suivantes, selon le type d'attachement du volume. Ces actions s'appliquent à tous les systèmes d'exploitation.

  • Attachements iSCSI : Utilisez les commandes iSCSI pour vous déconnecter, puis vous reconnecter.

  • Attachements paravirtualisés : Détachez puis rattachez l'instance au volume.

Utilisation d'UNMAP avec le système de fichiers

Vous pouvez configurer le système de fichiers pour qu'il émette des commandes UNMAP afin d'abandonner les blocs supprimés ou inutilisés par le système de fichiers. Cela réduit les tailles de sauvegarde de volume.

Linux

Commandes d'émission manuelle de UNMAP

Exécutez la commande fstrim pour émettre des commandes UNMAP vers le système dorsal afin d'abandonner et de libérer les blocs supprimés ou inutilisés par le système de fichiers.

Commandes d'émission périodique de la MINAP

Vous pouvez activer le temporisateur systemctl pour exécuter périodiquement la commande UNMAP du système de fichiers fstrim. Le temporisateur exécute automatiquement la commande fstrim sur tous les points de montage une fois par semaine.

Pour activer le temporisateur :

sudo systemctl enable fstrim.timer

Pour vérifier le statut du temporisateur :

sudo systemctl status fstrim.timer

Commandes pour activer l'abandon de bloc en ligne

Vous pouvez spécifier les options de montage du système de fichiers afin d'émettre les commandes de rebut immédiatement lorsqu'un bloc est supprimé ou n'est plus utilisé. Cela envoie immédiatement les commandes UNMAP au système de stockage dorsal lorsqu'un fichier est supprimé ou que sa taille est réduite. Soyez prudent avec cette option, car il est connu de causer des problèmes de performance dans le système de fichiers même s'il n'y a pas d'incidence sur la performance de l'appareil dorsal en activant UNMAP.

Commande de montage pour spécifier l'abandon de bloc en ligne :

mount –o discard <device_path> <mount_point>

Vous pouvez mettre à jour le fichier /etc/fstab pour ajouter discard aux options de montage, par exemple :

UUID="94c5aade-8bb1-4d55-ad0c-388bb8aa716a" /data1 xfs defaults,noatime,discard 0 2

Windows

Dans une fenêtre de commande de l'instance, exécutez la commande suivante pour activer UNMAP, si elle n'est pas déjà activée :

fsutil behavior set DisableDeleteNotify  0

Aucune incidence sur la performance

Lorsque vous utilisez la commande UNMAP, cela n'a aucune incidence sur les performances d'un volume. Les E/S par seconde et le débit garantis ne seront pas touchés. Toutefois, le temps nécessaire pour traiter les commandes UNMAP dépend du niveau de performance configuré pour un volume.

Par exemple, fstrim prend plus de temps lorsqu'il est exécuté sur un volume configuré pour le niveau de performance Coût réduit, par rapport aux volumes configurés pour les niveaux Équilibre, Performance supérieure ou Ultra-haute performance.