Ceci est une ancienne révision du document !
Trim
Voir le vocabulaire_de_la_technologie_ssd.
Vous pouvez vérifier le support du Trim par votre SSD par :
sudo hdparm -I /dev/sda | grep TRIM
où vous remplacez /dev/sda par l'identifiant de votre disque.
(Une sortie vide indique que le Trim n'est PAS supporté par votre SSD.)
Sinon, une ligne doit clairement indiquer le support du Trim.
Il existe plusieurs mécanismes de Trim des disques SSD :
Trim à la volée
De loin la solution la plus facile et la plus souple.
Il suffit de rajouter l'option discard
dans les lignes correspondant aux partitions en ext4sur le SSD dans le fichier /etc/fstab :
sudo gedit /etc/fstab
Et :
# /dev/sda1 UUID=f0d9c48e-00c4-4225-ab21-1c5a42194bc8 / ext4 noatime,errors=remount-ro 0 1
devient
# /dev/sda1 UUID=f0d9c48e-00c4-4225-ab21-1c5a42194bc8 / ext4 noatime,discard,errors=remount-ro 0 1
Dès le prochain démarrage, le Trim sera activé, de façon entièrement transparente.

Trim en manuel
Cette méthode n'est nécessaire que dans le cas d'une partition principale en ext3 ou d'un noyau inférieur à 2.6.33.
Il est conseillé d'effectuer un trim manuel environ une fois par mois pour une utilisation normale du SSD.
On ne peut pas lancer un TRIM en manuel sur une partition utilisée. Il faudra donc démarrer sur un live-usb ou un disque dur externe.
Nous allons utiliser le script wiper.sh qui est distribué avec le paquet hdparm. Il faut au minimum une version v9.28 ou plus élevée de hdparm. On peut vérifier la version dans un terminal :
hdparm -V
- Télécharger la dernière version de hdparm
- Décompressez l'archive et copiez le dossier dans la clé usb du Live-usb au premier niveau
- Démarrez sur le Live-usb, sans installer Ubuntu.
- Ouvrez un terminal
- Allez dans dossier contenant hdparm (Normalement,
/cdrom/hdparm-9.xx
)en lançant :cd /cdrom/hdparm-9.*
- Lancez, l'une après l'autre, les commandes :
make sudo make install
* Allez dans le dossier wiper
: cd wiper
- Démarrez une simulation de Trim sur votre partition :
sudo bash wiper.sh /dev/sda1
- Si la simulation se passe bien, vous pouvez lancer réellement le Trim en lançant :
sudo bash wiper.sh --commit /dev/sda1
Si tout se passe bien, vous devriez pouvoir redémarrer sur votre SSD.
Il faut malheureusement recompiler et réinstaller hdparm à chaque démarrage sur la clé USB (à moins d'avoir un Live-usb persistant).
Trim d'un volume NTFS
Grâce au même script wiper.sh
que précédemment, nous pouvons effectuer le Trim sur une partition en Ntfs. C'est très utile dans le cas d'un double-boot Linux/Windows(XP ou Vista) qui ne prennent pas en compte le Trim.
Il suffit que le volume NTFS soit hors ligne (non monté).
Le script wiper.sh
se trouve normalement dans une archive, dans le dossier /usr/share/doc/hdparm/wiper/. Nous allons donc lancer :
cd /usr/share/doc/hdparm/wiper/ sudo gzip -d wiper.sh.gz sudo fdisk -l # Pour repérer votre partition en Ntfs sudo umount /dev/sdxx # Remplacez /dev/sdxx par l'identifiant de votre partition Ntfs, pour la démonter sudo bash wiper.sh /dev/sdxx # Simulation de Trim
Si tout se passe bien pendant la simulation, vous pouvez effectuer réellement le Trim :
sudo wiper.sh /dev/sdxx --commit
## This is where we finally discover whether the filesystem actually ## supports --fallocate or not. Some folks will be disappointed here.
L'effacement sécurisé
C'est une autre méthode brutale d'optimisation qui s'adresse principalement aux utilisateurs qui ne voudraient pas utiliser la méthode de TRIM manuel, ou bien qui auraient des difficultés à recompiler les sources hdparm, ou encore dont le disque SSD ne supporterait pas la commande TRIM. Le but est d'utiliser la commande ATA Secure-Erase qui déclenche un effacement complet du disque par écriture de 00h dans tous les octets de sa surface (donc pour un disque SSD la remise à zéro effective de toutes les cellules flash).
- Avantages : plus simple que le TRIM en manuel, le disque SSD se retrouve comme à sa sortie d'usine.
- Inconvénients : clonage préalable du disque indispensable, moins efficace que le TRIM, probable manipulation hardware requise
* Remarque : Il est à craindre que le fait de restaurer une image exacte va tout remettre comme avant. Et donc annuler l'effet de la remise à zero.
Procédure :
- effectuer un clonage du disque SSD en mode disk-device vers image (pour clonezilla)
- redémarrer sur une clé Live-usb Ubuntu ou un cd d'installation Ubuntu (récents) afin que le disque SSD soit libéré
- dans un terminal vérifier si le disque SSD cible est en mode frozen ou not frozen
sudo hdparm -I /dev/sda
(la mention se trouve dans le dernier paragraphe Security) - si déjà en mode "non gelé", sauter les 2 lignes suivantes
- si le disque est en mode frozen (probable), il faut le retirer physiquement de l'interface, attendre quelques secondes, puis le réinsérer
- vérifier à nouveau dans les paramètres "Security" comme indiqué ci-dessus que le disque est cette fois bien en mode not frozen
- dans le terminal, taper les 2 commandes qui vont déclencher l'effacement (note : cas où le disque SSD se trouve en sda)
sudo hdparm --security-set-pass NULL /dev/sda sudo hdparm --security-erase NULL /dev/sda
l'exécution en soi ne doit prendre que quelques secondes pour un disque SSD
- restaurer l'image-disque clonée au début
- C'est fini !