« Vérifier si TRIM fonctionne sur votre SSD (trimcheck) » : différence entre les versions

De Linux Server Wiki
Aller à la navigation Aller à la recherche
m (Pfoo a déplacé la page Vérifier si TRIM fonctionne (trimcheck) vers Vérifier si TRIM fonctionne sur votre SSD (trimcheck) sans laisser de redirection)
Aucun résumé des modifications
 
(4 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
[[category:serveur]]
[[category:serveur]]
[[category:Linux]]
[[category:Linux]]
=Support matériel=
Vérifiez que la commande suivante à des valeurs > 0 aux colomnes <code>DISC-GRAN</code> et <code>DISC-MAX</code>
<pre>lsblk --discard</pre>
Alternativement, vous pouvez aussi vérifier avec hdparm : <code>hdparm -I /dev/sda | grep TRIM</code>
=Vérification de si trim fonctionne bien=
<pre># yes | dd iflag=fullblock bs=1M count=1 of=trim.test</pre>
<pre># yes | dd iflag=fullblock bs=1M count=1 of=trim.test</pre>


<pre>
# filefrag -s -v trim.test
# filefrag -s -v trim.test
Filesystem type is: ef53
Filesystem type is: ef53
File size of trim.test is 1048576 ('''256''' blocks of '''4096''' bytes)
File size of trim.test is 1048576 (256 blocks of 4096 bytes)
  ext:    logical_offset:        physical_offset: length:  expected: flags:
ext:    logical_offset:        physical_offset: length:  expected: flags:
    0:        0..    255:  '''21459456'''..  21459711:    256:            last,eof
  0:        0..    255:  21459456..  21459711:    256:            last,eof
</pre>


<pre>
# df trim.test
# df trim.test
Filesystem    1K-blocks    Used Available Use% Mounted on
Filesystem    1K-blocks    Used Available Use% Mounted on
'''/dev/sda1'''     120621792 60572328  53879096  53% /
/dev/sda1      120621792 60572328  53879096  53% /
</pre>


On a donc un fichier <code>trim.test</code> rempli du pattern yes (<code>y</code>) sur la partition <code>/dev/sda1</code> à l'adresse 21459456 avec une longueur de 256 blocs de 4096 bytes.
On a donc un fichier <code>trim.test</code> rempli du pattern yes (<code>y</code>) sur la partition '''/dev/sda1''' à l'adresse '''21459456''' avec une longueur de '''256''' blocs de '''4096''' bytes.


si on lit ce fichier :
si on lit ce fichier :
<pre>
# dd bs='''4096''' skip='''21459456''' count='''256''' if=/dev/sda1 | hexdump -C
# dd bs=4096 skip=21459456 count=256 if=/dev/sda1 | hexdump -C
00000000  79 0a 79 0a 79 0a 79 0a  79 0a 79 0a 79 0a 79 0a  |'''y.y.y.y.y.y.y.y.'''|
00000000  79 0a 79 0a 79 0a 79 0a  79 0a 79 0a 79 0a 79 0a  |y.y.y.y.y.y.y.y.|
*
*
256+0 records in
256+0 records in
256+0 records out
256+0 records out
1048576 bytes (1,0 MB, 1,0 MiB) copied, 0,00340137 s, 308 MB/s
1048576 bytes (1,0 MB, 1,0 MiB) copied, 0,00340137 s, 308 MB/s
00100000
00100000
</pre>


Si TRIM fonctionne, le pattern yes doit changer après suppression du fichier, vidage du cache :
Si TRIM fonctionne, le pattern yes doit changer après suppression du fichier, vidage du cache :


<pre>
# rm trim.test
# rm trim.test
# sync
# sync
# fstrim -v /
# fstrim -v /mount/point/
# echo 1 > /proc/sys/vm/drop_caches
# echo 1 > /proc/sys/vm/drop_caches
# dd bs=4096 skip=21459456 count=256 if=/dev/sda1 | hexdump -C
# dd bs=4096 skip=21459456 count=256 if=/dev/sda1 | hexdump -C
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |'''................'''|
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
*
256+0 records in
256+0 records in
256+0 records out
256+0 records out
1048576 bytes (1,0 MB, 1,0 MiB) copied, 0,0029884 s, 351 MB/s
1048576 bytes (1,0 MB, 1,0 MiB) copied, 0,0029884 s, 351 MB/s
00100000
00100000
</pre>


Si votre SSD utilise une méthode de chiffrement hardware, vous devriez voir un pattern aléatoire au lieu de <code>|................|</code>
Si votre SSD utilise une méthode de chiffrement hardware, vous devriez voir un pattern aléatoire au lieu de '''................'''

Dernière version du 3 juillet 2022 à 13:58


Support matériel

Vérifiez que la commande suivante à des valeurs > 0 aux colomnes DISC-GRAN et DISC-MAX

lsblk --discard

Alternativement, vous pouvez aussi vérifier avec hdparm : hdparm -I /dev/sda | grep TRIM

Vérification de si trim fonctionne bien

# yes | dd iflag=fullblock bs=1M count=1 of=trim.test
# filefrag -s -v trim.test
Filesystem type is: ef53
File size of trim.test is 1048576 (256 blocks of 4096 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..     255:   21459456..  21459711:    256:             last,eof
# df trim.test
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1      120621792 60572328  53879096  53% /

On a donc un fichier trim.test rempli du pattern yes (y) sur la partition /dev/sda1 à l'adresse 21459456 avec une longueur de 256 blocs de 4096 bytes.

si on lit ce fichier :

# dd bs=4096 skip=21459456 count=256 if=/dev/sda1 | hexdump -C
00000000  79 0a 79 0a 79 0a 79 0a  79 0a 79 0a 79 0a 79 0a  |y.y.y.y.y.y.y.y.|
*
256+0 records in
256+0 records out
1048576 bytes (1,0 MB, 1,0 MiB) copied, 0,00340137 s, 308 MB/s
00100000

Si TRIM fonctionne, le pattern yes doit changer après suppression du fichier, vidage du cache :

# rm trim.test
# sync
# fstrim -v /
# echo 1 > /proc/sys/vm/drop_caches
# dd bs=4096 skip=21459456 count=256 if=/dev/sda1 | hexdump -C
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
256+0 records in
256+0 records out
1048576 bytes (1,0 MB, 1,0 MiB) copied, 0,0029884 s, 351 MB/s
00100000

Si votre SSD utilise une méthode de chiffrement hardware, vous devriez voir un pattern aléatoire au lieu de ................