GNU/Linux >> Tutoriels Linux >  >> Linux

Prolongez la durée de vie de votre disque SSD avec fstrim

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.


Linux
  1. Gérez votre calendrier depuis le terminal Linux avec la commande konsolekalendar

  2. Sécurisez vos conteneurs avec SELinux

  3. Comment étendre les fonctionnalités de votre bureau Linux avec PlexyDesk

  4. Dépannez votre réseau avec tcpdump

  5. Comment profiter de l'objet VDSO avec son propre langage de programmation ?

Déplacez votre Linux du BIOS hérité vers l'UEFI en place avec un temps d'arrêt minimal

Comment tester votre vitesse de connexion à l'aide du terminal avec Speedtest

Passer à Linux ? Apportez votre Google Drive avec vous

Les 15 meilleurs Linux pour les enfants | Laissez vos enfants apprendre Linux en s'amusant

Surveillance et test de la santé du SSD sous Linux

Comment trouver l'emplacement de vos serveurs avec Traceroute et WHOIS