Configurer le TRIM pour SSD sur Linux

Je viens de passer d’un disque classique au SSD et la différence de vitesse est fulgurante.

SSD :

  • 550Mo/s constant en lecture
  • 530Mo/s en écriture
  • 0.1ms de temps d’accès

Disque dur 7200rpm:

  • 70 à 35 Mo/s en lecture suivant l’emplacement des données (meilleur débit si les données sont en périphérie du plateau)
  • 15-20ms de temps d’accès

La différence de technologie impose cependant de mettre en place l’utilisation de TRIM pour ne pas perdre en performance d’écriture lorsque votre disque se remplit.

Je trouve dommage que l’OS ne se débrouille pas tout seul pour mettre ça en place. Mais bon, voyons comment faire cela manuellement :

1. Vérifier que votre SSD supporte la commande TRIM

Lancez la commande : # hdparm -I /dev/sda | grep « TRIM supported » en remplaçant sda par votre disque

Vous devriez voir quelque chose comme :

 *    Data Set Management TRIM supported (limit 8 blocks)

2. Si vous avez un disque chiffré, activer TRIM pour dm-crypt

Insérer l’option discard dans /etc/crypttab

# <target name>    <source device>    <key file>       <options>
sda2_crypt         /dev/sda2          none             luks,discard

3. Si vous utilisez LVM, activer TRIM pour LVM

Insérer issue_discards dans le fichier /etc/lvm/lvm.conf

# [...]
devices {
   # [...]
   issue_discards = 1
   # [...]
}
# [...]

4. Appliquer la configuration

Si vous êtes passés par l’étape 2 ou 3, il est nécessaire de lancer l’une des 2 commandes suivantes pour valider les changements :

Debian : # update-initramfs -u

RedHat : # dracut -f

Redémarrer l’ordinateur.

5. Tester le TRIM

Vous pouvez tester que le TRIM fonctionne en lançant la commande fstrim sur votre point de montage: # fstrim /

6. Activer TRIM pour le système de fichier

Plutôt que de laisser le système envoyer une commande TRIM à chaque effacement de donnée, on va informer le disque des blocs libres uniquement une fois par jour. Cela permet au disque d’opérer sa réorganisation des blocs libres à un moment où le besoin de performance n’est pas critique et donc d’éviter sur certains SSD de perdre énormément de performance lors des opérations d’effacement de données.

Pour cela, on va rajouter une entrée dans le crontab de root. Editer le crontrab par la commande : # crontab -e

Ajouter la ligne suivante : @daily fstrim /

Si vous avez une partition différente pour / et /home, vous pouvez plutôt chaîner les commandes comme ceci: @daily fstrim /; fstrim /home

Vus : 684
Publié par Tuxicoman : 338