Au cours de la dernière décennie, les disques à semi-conducteurs (SSD) ont apporté une nouvelle façon de gérer le stockage. Les SSD présentent des avantages tels qu'un fonctionnement silencieux et plus frais et une spécification d'interface plus rapide, par rapport à leurs ancêtres rotatifs. Bien entendu, les nouvelles technologies s'accompagnent de nouvelles méthodes de maintenance et de gestion. Les SSD ont une fonctionnalité appelée TRIM. Il s'agit essentiellement d'une méthode de récupération des blocs inutilisés sur le périphérique, qui peuvent avoir été écrits précédemment, mais ne contiennent plus de données valides et peuvent donc être renvoyés au pool de stockage général pour être réutilisés. Don Watkins d'Opensource.com a écrit pour la première fois sur TRIM dans son article de 2017 "Disques SSD sous Linux :Activation de TRIM pour les SSD".
Plus de ressources Linux
- Aide-mémoire des commandes Linux
- Aide-mémoire des commandes Linux avancées
- Cours en ligne gratuit :Présentation technique de RHEL
- Aide-mémoire sur le réseau Linux
- Aide-mémoire SELinux
- Aide-mémoire sur les commandes courantes de Linux
- Que sont les conteneurs Linux ?
- Nos derniers articles Linux
Si vous avez utilisé cette fonctionnalité sur votre système Linux, vous connaissez probablement les deux méthodes décrites ci-dessous.
Les anciennes méthodes
Jeter
J'ai d'abord activé cela avec l'option de suppression de la commande mount. La configuration est placée dans /etc/fstab fichier pour chaque système de fichiers.
# cat /etc/fstab
UUID=3453g54-6628-2346-8123435f /home xfs defaults,discard 0 0
L'option de suppression active le TRIM en ligne automatique. Il y a eu récemment un débat sur la question de savoir s'il s'agissait de la meilleure méthode en raison d'éventuels impacts négatifs sur les performances. L'utilisation de cette option entraîne le lancement d'un TRIM à chaque fois que de nouvelles données sont écrites sur le lecteur. Cela peut introduire une activité supplémentaire qui interfère avec les performances de stockage.
Cron
J'ai supprimé l'option de suppression du fstab dossier. Ensuite, j'ai créé une tâche cron pour appeler la commande de manière planifiée.
# crontab -l
@midnight /usr/bin/trim
C'est la méthode que j'ai utilisée le plus récemment sur mes systèmes Linux Ubuntu jusqu'à ce que j'apprenne une autre méthode.
Un nouveau service TRIM
J'ai récemment découvert qu'un service systemd pour TRIM existe. Fedora l'a introduit dans sa distribution dans la version 30 et, bien qu'il ne soit pas activé par défaut dans les versions 30 et 31, il est prévu de l'être dans la version 32. Si vous travaillez sur Fedora Workstation 31 et que vous souhaitez commencer à utiliser ce fonction, vous pouvez l'activer très facilement. Je vais également vous montrer comment le tester ci-dessous. Ce service n'est pas propre à Fedora. L'existence et le statut dépendront d'une base de distribution individuelle.
Tester
J'aime tester d'abord, pour mieux comprendre ce qui se passe dans les coulisses. Je le fais en ouvrant un terminal et en lançant la commande que le service est configuré pour appeler.
/usr/sbin/fstrim --fstab --verbose --quiet
L'–aide argument de fstrim décrirons ces arguments et d'autres.
$ sudo /usr/sbin/fstrim --help
Usage:
fstrim [options] <mount point>
Discard unused blocks on a mounted filesystem.
Options:
-a, --all trim all supported mounted filesystems
-A, --fstab trim all supported mounted filesystems from /etc/fstab
-o, --offset <num> the offset in bytes to start discarding from
-l, --length <num> the number of bytes to discard
-m, --minimum <num> the minimum extent length to discard
-v, --verbose print number of discarded bytes
--quiet suppress error messages
-n, --dry-run does everything, but trim
-h, --help display this help
-V, --version display version
Donc, maintenant je peux voir que le service systemd est configuré pour exécuter le trim sur tous les systèmes de fichiers montés pris en charge dans mon /etc/fstab fichier –fstab et imprimez le nombre d'octets supprimés –verbose mais supprimez tous les messages d'erreur qui pourraient survenir –quiet . Connaître ces options est utile pour les tests. Par exemple, je peux commencer par le plus sûr, c'est-à-dire la course à vide. Je vais également laisser de côté l'argument silencieux afin de pouvoir déterminer si des erreurs se produiront avec la configuration de mon lecteur.
$ sudo /usr/sbin/fstrim --fstab --verbose --dry-run
Cela montrera simplement ce que le fstrim la commande le fera en fonction des systèmes de fichiers qu'elle trouve configurés dans votre /etc/fstab fichier.
$ sudo /usr/sbin/fstrim --fstab --verbose
Cela enverra maintenant l'opération TRIM au lecteur et rapportera le nombre d'octets supprimés de chaque système de fichiers. Vous trouverez ci-dessous un exemple après ma récente installation récente de Fedora sur un nouveau SSD NVME.
/home: 291.5 GiB (313011310592 bytes) trimmed on /dev/mapper/wkst-home
/boot/efi: 579.2 MiB (607301632 bytes) trimmed on /dev/nvme0n1p1
/boot: 787.5 MiB (825778176 bytes) trimmed on /dev/nvme0n1p2
/: 60.7 GiB (65154805760 bytes) trimmed on /dev/mapper/wkst-root
Activer
Fedora Linux implémente le service de minuterie systemd, programmé pour s'exécuter sur une base hebdomadaire. Pour vérifier l'existence et l'état actuel, exécutez systemctl status .
$ sudo systemctl status fstrim.timer
Maintenant, activez le service.
$ sudo systemctl enable fstrim.timer
Vérifier
Ensuite, vous pouvez vérifier que le minuteur est activé en répertoriant tous les minuteurs.
$ sudo systemctl list-timers --all
La ligne suivante faisant référence à fstrim.timer apparaîtra. Notez que la minuterie active en fait fstrim.service . C'est d'où le réel fstrim est appelé. Les champs liés au temps affichent n/a car le service vient d'être activé et n'a pas encore été exécuté.
NEXT LEFT LAST PASSED UNIT ACTIVATES
n/a n/a n/a n/a fstrim.timer fstrim.service
Conclusion
Ce service semble être le meilleur moyen d'exécuter TRIM sur vos disques. C'est beaucoup plus simple que d'avoir à créer votre propre entrée crontab pour appeler le fstrim commande. Il est également plus sûr de ne pas avoir à modifier le fstab dossier. Il a été intéressant de suivre l'évolution de la technologie de stockage à semi-conducteurs et agréable de savoir qu'il semble que Linux évolue vers une manière standard et sûre de l'implémenter.