Configurer et utiliser le Discard
La commande Discard permet de nettoyer les blocs inutilisés d’un disque. Tous les volumes de type BSU supportent cette commande à condition que le système d’exploitation soit compatible et correctement configuré.
Cette commande est nommée différemment selon les systèmes d’exploitation (par exemple Trim, Discard, ou Unmap). Dans ce guide, la commande se nomme Discard. |
L’utilisation de la commande Discard permet de réduire l’espace occupé par les snapshots, et par conséquent d’en réduire le coût. Elle peut également contribuer à l’amélioration des performances en termes d’IOPS (input output per second). Pour en savoir plus, voir À propos des volumes.
Il est recommandé d’utiliser la commande Discard à la même fréquence que vous créez des snapshots. |
Ce guide technique présente 3 méthodes pour configurer et activer la commande Discard :
-
Lancer le Discard de façon périodique
Nous vous recommandons d’utiliser cette méthode. Cette méthode est appliquée par défaut dans nos images officielles depuis janvier 2024.
-
Exécuter manuellement le Discard
-
Configurer le Discard lors du montage du volume
Cette méthode peut être dangereuse et doit être utilisée en ayant connaissance des impacts possibles sur les performances.
Vérifier que le Discard est disponible
Vérifier que le Discard est disponible sous Linux
Utilisez la commande suivante :
$ lsblk -D /dev/vda
-
Si le Discard est disponible, vous obtenez les informations du disque :
Exemple de résultatNAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO vda 512 512B 2G 0 └─vda1 0 512B 2G 0
-
Si le Discard n’est pas disponible, les éléments renvoyés sont à
0
:Exemple de résultatNAME DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO vda 0 0B 0B 0 └─vda1 0 0B 0B 0
Vérifier que le Discard est disponible sous Windows
Sous Windows, il n’est pas possible de vérifier la disponibilité du Discard sur chaque disque.
Utilisez la commande suivante pour vérifier que la détection automatique du Discard est activée :
fsutil behavior query DisableDeleteNotify
-
Si la détection automatique du Discard est activée, la commande renvoie l’élément suivant :
Exemple de résultatDisableDeleteNotify = 1 (Enabled)
-
Si la détection automatique du Discard n’est pas activée, la commande renvoie l’élément suivant :
Exemple de résultatDisableDeleteNotify = 0 (Disabled)
Méthodes de configuration et d’utilisation du Discard
Méthode 1 : Lancer le Discard de façon périodique
Nous vous recommandons d’utiliser cette méthode. Cette méthode est appliquée par défaut dans nos images officielles depuis janvier 2024. |
Lancer le Discard de façon périodique sous Linux
-
Consulter l’état du service en utilisant la commande suivante :
$ systemctl status fstrim.timer
La commande renvoie les éléments suivants :
Exemple de résultat● fstrim.timer - Discard unused blocks once a week Loaded: loaded (/usr/lib/systemd/system/fstrim.timer; disabled; vendor preset: disabled) Active: inactive (dead) Trigger: n/a Docs: man:fstrim
-
Activez et configurez la tâche avec la commande suivante :
$ systemctl enable fstrim.timer
-
Vérifiez la définition de la tâche avec la commande suivante :
$ systemctl list-timers
La commande renvoie les éléments suivants :
Exemple de résultatNEXT LEFT LAST PASSED UNIT ACTIVATES Wed 2023-10-04 14:53:08 UTC 56min left Wed 2023-10-04 13:27:59 UTC 28min ago dnf-makecache.timer dnf-makecache.service Thu 2023-10-05 00:00:00 UTC 10h left n/a n/a unbound-anchor.timer unbound-anchor.service Thu 2023-10-05 12:44:59 UTC 22h left Wed 2023-10-04 12:44:59 UTC 1h 11min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service Mon 2023-10-09 00:00:00 UTC 4 days left n/a n/a fstrim.timer fstrim.service 4 timers listed. Pass --all to see loaded but inactive timers, too.
-
Vérifier l’état de la tâche avec la commande suivante :
$ systemctl status fstrim.timer
La commande renvoie les éléments suivants :
Exemple de résultat● fstrim.timer - Discard unused blocks once a week Loaded: loaded (/usr/lib/systemd/system/fstrim.timer; enabled; vendor preset: disabled) Active: active (waiting) since Wed 2023-10-04 13:55:44 UTC; 1s ago Trigger: Mon 2023-10-09 00:00:00 UTC; 4 days left Docs: man:fstrim oct. 04 13:55:44 ip-10-0-0-00.website.exemple.com systemd[1]: Started Discard unused blocks once a week.
Lancer le Discard de façon périodique sous Windows
Windows permet de détecter automatiquement si le disque est compatible avec le Discard. Une tâche périodique peut être configurée dans le Gestionnaire de disque.
-
Dans le menu Gestion des disques, faites un clic droit sur un disque et cliquez sur Propriétés.
-
Dans l’onglet Outils, cliquez sur Optimiser.
-
Dans l’encart Optimisation planifiée, cliquez sur Modifier les paramètres.
-
Personnalisez la fréquence d’exécution.
Il est recommandé de définir une fréquence hebdomadaire.
-
Cliquez sur OK.
Méthode 2 : Exécuter manuellement le Discard
Exécuter manuellement le Discard sous Linux
Vous pouvez exécuter le Discard à tout moment sur tous les systèmes de fichiers montés via la commande suivante :
fstrim -v --all
La commande renvoie la taille en GiO ou en octet l’espace qui a été libéré sur le volume.
/ : 7,9 GiO (8507092992 octets) taillés
Méthode 3 : Configurer le Discard lors du montage du volume
Cette méthode peut impacter significativement les performances. |