TRIM automatique vs TRIM manuel

13

J'essaie actuellement de découvrir comment couper avec mon nouveau TP et je me demandais quelle était la différence entre le découpage manuel / en ligne.

Voici ma configuration:

ThinkPad T430 avec SSD Samsung 830, 128 Go et Xubuntu 12.10, voici quelques sorties pour vérifier si le trim fonctionnera sur mon système (obtenu ici: http://wiki.ubuntuusers.de/SSD/TRIM )

root@eike-tp:~# sudo hdparm -I /dev/sda | grep -i TRIM
   *    Data Set Management TRIM supported (limit 8 blocks)

J'ai d'abord essayé le découpage en ligne: comment activer TRIM?

mon fstab avec le rejet inséré:

UUID=d6c49c17-a4f1-466c-9f7e-896c20db3bba /  ext4  discard,noatime,errors=remount-ro  0  1
# swap was on /dev/sda5 during installation
UUID=a0322f5f-c6c1-4896-863f-668f0638d8cf none  swap  sw  0   0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

J'ai essayé de tester si cela fonctionne (mais je n'obtiens pas de zéros lorsque je l'essaie avec / dev / sda), mais j'ai découvert que cette méthode n'est possible qu'avec le SSD de type 2 et il me semble avoir le type 3. Donc je Je ne sais pas si cela fonctionne ou non.

Ubuntuwiki (premier lien) recommande un découpage manuel, j'ai donc mis en place un cronjob quotidien au lieu de le supprimer:

#!/bin/sh
LOG=/var/log/batched_discard.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG

l'article du wiki suggère hebdomadaire ou quotidien. Passons maintenant à mes questions:

À quelle fréquence exécute le trim automatisé? À quelle fréquence est-il recommandé? Découpage en ligne ou manuel?

Merci de votre aide

Eike Cochu
la source

Réponses:

4

La différence entre le découpage automatique et manuel est que le découpage automatique (en utilisant l' discardoption de montage) supprime les blocs libérés lors de la synchronisation après la suppression d'un fichier, tandis que le découpage manuel (en utilisant fstrim) supprime tout l'espace libre à la fois.

Essai

Une façon de tester si le découpage automatique fonctionne serait de créer et de supprimer un fichier volumineux:

user@host:/somewhere$ dd if=/dev/urandom bs=1M count=100 of=bigfile
user@host:/somewhere$ sync
user@host:/somewhere$ rm bigfile
user@host:/somewhere$ sync

Si la suppression automatique fonctionne, le rognage manuel à nouveau ne coupera pas de nombreux blocs, car ils devraient déjà avoir été rognés. Exécutez sudo discard -vsur votre système de fichiers et voyez combien de blocs sont coupés.

Recommandation

Quant à ce qui est recommandé: D'après mon expérience, la compensation automatique tue les performances. Cependant, cela dépend probablement du matériel; cela peut convenir à votre lecteur.

Si vous utilisez le découpage manuel, quant à la fréquence, pensez à la vitesse à laquelle vous écrivez des données dans votre charge de travail typique, par rapport à la quantité d'espace libre sur votre SSD. Vous souhaitez rogner suffisamment souvent avant que votre disque ne se remplisse de données supprimées. Si votre SSD est principalement de l'espace libre ou si la charge de travail de votre disque est légère, un ajustement occasionnel (hebdomadaire ou même plus long) devrait suffire. Si votre SSD est presque plein ou si vous éditez par exemple fréquemment des fichiers vidéo, vous devrez couper plus souvent.

Escargot mécanique
la source
2

Je ne suis pas ingénieur en stockage et j'ai moi-même des soucis liés , mais je peux faire une suggestion éventuellement utile sur la planification. Je suis assez confiant que TRIM ne cause aucune usure inquiétante sur le SSD. C'est juste un entretien que votre disque devra éventuellement subir avant de pouvoir commencer à recycler les blocs. Le meilleur calendrier de TRIMming par lots dépend de l'utilisation; en fonction de la fréquence d'écriture et de l'espace libre, je pense. Dans cet esprit, je débrancherais le travail cron et fstrim -và la main pendant plusieurs jours.

L'astuce, je pense, est de créer un calendrier où TRIM par lots prépare le SSD pour l'écriture avant que les blocs utilisés ne soient recyclés afin de réaliser une opération d'écriture normale, ce qui nuit aux performances. Attendez 24 heures et fstrim. S'il prétend avoir découpé beaucoup moins de blocs que l'espace libre, vous êtes probablement bien servi TRIMming par lots moins souvent que cela.

barrage
la source
2

Je coupe mon SSD à chaque démarrage. J'ai créé un fichier sh qui s'appelle 20 secondes après le démarrage. J'ai choisi d'afficher la sortie de fstrim dans une notification système au lieu d'un fichier journal.

créez d'abord le trim.shfichier dans votre ~/binrépertoire

#! /bin/sh
notify-send "TRIM" "$(sudo fstrim -v /)"

Maintenant, nous devons donner à l'utilisateur des privilèges pour exécuter fstrim afin que nous n'ayons pas besoin d'entrer un mot de passe. Ouvrez votre fichier sudoers avec visudo et ajoutez la ligne suivante:

yourusername  ALL=(ALL) NOPASSWD: /sbin/fstrim

Si vous incluez votre home/yourusername/bindossier dans votre, $PATHvous pouvez également rogner manuellement dans le terminal avec la commande 'rogner' sans avoir besoin d'un mot de passe.

Vous pouvez maintenant ajouter votre script aux applications de démarrage et spécifier un délai. Vous devez vous déconnecter / vous reconnecter pour que votre nouvelle entrée sudoers soit chargée.

Kasper Taeymans
la source