{"id":545,"date":"2025-03-26T18:19:56","date_gmt":"2025-03-26T17:19:56","guid":{"rendered":"http:\/\/almic.fr\/blog\/?p=545"},"modified":"2026-01-27T01:51:06","modified_gmt":"2026-01-27T00:51:06","slug":"tester-disque-dur-linux","status":"publish","type":"post","link":"https:\/\/almic.fr\/blog\/2025\/03\/26\/tester-disque-dur-linux\/","title":{"rendered":"Tester un nouveau disque dur sous Linux"},"content":{"rendered":"<p style=\"text-align: justify;\">Voici ma proc\u00e9dure pour v\u00e9rifier l\u2019\u00e9tat d\u2019un nouveau disque dur.<\/p>\n<p style=\"text-align: justify;\">Les SSD surpassent compl\u00e8tement les disques durs en terme de performances. Cependant, m\u00eame si les SSD font des progr\u00e8s en terme de capacit\u00e9, les HDD ont toujours l&rsquo;avantage en terme de prix au t\u00e9raoctet. Donc les disques durs restent utiles quand on a des donn\u00e9es volumineuses \u00e0 g\u00e9rer.<\/p>\n<p><!--more--><\/p>\n<h4>V\u00e9rifications rapides avec SMART<\/h4>\n<p style=\"text-align: justify;\">Cette commande devrait retourner <i>PASSED<\/i>. Si elle retourne <i>FAILED<\/i>, ce n\u2019est pas la peine d&rsquo;aller plus loin.<\/p>\n<pre># smartctl -H \/dev\/sdX\n=== START OF READ SMART DATA SECTION ===\nSMART overall-health self-assessment test result: PASSED<\/pre>\n<p style=\"text-align: justify;\">On lance la version courte de l\u2019auto-test SMART :<\/p>\n<pre># smartctl -t short \/dev\/sdX\n=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===\nSending command: \"Execute SMART Short self-test routine immediately in off-line mode\".\nDrive command \"Execute SMART Short self-test routine immediately in off-line mode\" successful.\nTesting has begun.\nPlease wait 2 minutes for test to complete.<\/pre>\n<p style=\"text-align: justify;\">On consulte les r\u00e9sultats apr\u00e8s le d\u00e9tail indiqu\u00e9 :<\/p>\n<pre># smartctl -l selftest \/dev\/sdX\n=== START OF READ SMART DATA SECTION ===\nSMART Self-test log structure revision number 1\nNum  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error\n# 1  Short offline       Completed without error       00%      1667         -<\/pre>\n<p style=\"text-align: justify;\">Pour finir les v\u00e9rifications rapides, on regarde si les donn\u00e9es SMART contiennent des valeurs suspectes :<\/p>\n<pre># smartctl -a \/dev\/sdX<\/pre>\n<p style=\"text-align: justify;\">Pr\u00eatez notamment attention aux valeurs suivantes, qui devraient \u00eatre \u00e0 z\u00e9ro :<\/p>\n<ul>\n<li> Reallocated_Sector_Ct\n<li> Current_Pending_Sector\n<li> Offline_Uncorrectable\n<\/ul>\n<h4>D\u00e9sactiver les param\u00e8tres qui affectent la dur\u00e9e de vie<\/h4>\n<p style=\"text-align: justify;\">Si le disque passe les premi\u00e8res v\u00e9rifications, on d\u00e9sactive certaines options pouvant r\u00e9duire sa dur\u00e9e de vie.<\/p>\n<p style=\"text-align: justify;\">D\u00e9sactiver la mise en veille automatique (standby) :<\/p>\n<pre>hdparm -S 0 \/dev\/sdX<\/pre>\n<p style=\"text-align: justify;\">D\u00e9sactiver l&rsquo;APM pour \u00e9viter le parquage des t\u00eates :<\/p>\n<pre>hdparm -B 255 \/dev\/sdX<\/pre>\n<p style=\"text-align: justify;\">Ces commandes devront \u00eatre ex\u00e9cut\u00e9s \u00e0 chaque d\u00e9marrage de la machine. On peut \u00e9galement tester les performances en lecture :<\/p>\n<pre># hdparm -tT \/dev\/sdX\n Timing cached reads:   4376 MB in  2.00 seconds = 2190.20 MB\/sec\n Timing buffered disk reads: 702 MB in  3.00 seconds = 233.79 MB\/sec\n# hdparm -tT \/dev\/sdX\n Timing cached reads:   4396 MB in  2.00 seconds = 2200.29 MB\/sec\n Timing buffered disk reads: 698 MB in  3.00 seconds = 232.56 MB\/sec\n# hdparm -tT \/dev\/sdX\n Timing cached reads:   4402 MB in  2.00 seconds = 2203.49 MB\/sec\n Timing buffered disk reads: 700 MB in  3.00 seconds = 233.06 MB\/sec<\/pre>\n<p style=\"text-align: justify;\">Si les valeurs sont anormalement faibles, \u00e7a peut indiquer un probl\u00e8me.<\/p>\n<h4>Secteurs d\u00e9fectueux<\/h4>\n<p style=\"text-align: justify;\">La commande <i>badblocks<\/i> (paquet e2fsprogs) permet de scanner le disque \u00e0 la recherche de secteurs d\u00e9fectueux. On profite que le disque ne soit pas encore utilis\u00e9 pour faire un test en mode lecture\/\u00e9criture :<\/p>\n<pre># badblocks -wsv \/dev\/sdX<\/pre>\n<p style=\"text-align: justify;\">Si votre disque fait plus de plus de 2 To, il faut augmenter la taille des blocs :<\/p>\n<pre># badblocks -wsv -b 4096 \/dev\/sdX<\/pre>\n<p style=\"text-align: justify;\">\u00c9tant donn\u00e9 que <i>badblocks<\/i> va \u00e9crire sur la totalit\u00e9 du disque \u00e0 plusieurs reprises, le test est (tr\u00e8s) long. Pour un disque de 16 To, par exemple, \u00e7a demande plusieurs jours. Si vous \u00eates connect\u00e9 \u00e0 distance, il est donc recommand\u00e9 de lancer <i>badblocks<\/i> dans <i>tmux<\/i>.<\/p>\n<p style=\"text-align: justify;\">Si tout se passe bien :<\/p>\n<pre>Checking for bad blocks in read-write mode\nFrom block 0 to 3906469887\nTesting with pattern 0xaa: done\nReading and comparing: done\nTesting with pattern 0x55: done\nReading and comparing: done\nTesting with pattern 0xff: done\nReading and comparing: done\nTesting with pattern 0x00: done\nReading and comparing: done\nPass completed, 0 bad blocks found. (0\/0\/0 errors)<\/pre>\n<h4>Test de charge avec stress-ng<\/h4>\n<p style=\"text-align: justify;\">Pour d\u00e9tecter d&rsquo;\u00e9ventuels probl\u00e8mes sous forte sollicitation, on simule une charge intensive avec la commande <i>stress-ng<\/i>. Pour cibler le disque test\u00e9 on utilise l&rsquo;option <i>&#45;&#45;temp&#45;path<\/i>, ce qui n\u00e9cessite d&rsquo;avoir cr\u00e9\u00e9 un syst\u00e8me de fichier sur le disque.<\/p>\n<pre># cfdisk \/dev\/sdX\n# mkfs.ext4 \/dev\/sdX1\n# mount \/dev\/sdX1 \/mnt\/mnt1\n# md \/mnt\/mnt1\/stress-ng\n# apt install stress-ng\n# stress-ng --hdd 4 --aggressive --keep-files --temp-path \/mnt\/mnt1\/stress-ng --timeout 3h&<\/pre>\n<p style=\"text-align: justify;\">Pendant le stress test, il vaut mieux garder un \u0153il sur la temp\u00e9rature du disque :<\/p>\n<pre># watch -n 60 hddtemp \/dev\/sdX<\/pre>\n<p style=\"text-align: justify;\">Si la temp\u00e9rature d\u00e9passe les 55 \u00b0C :<\/p>\n<ul>\n<li> soit vous \u00eates en pleine canicule ;\n<li> soit le refroidissement est insuffisant dans votre bo\u00eetier ;\n<li> si vous \u00eates s\u00fbr que le disque est suffisamment refroidi, alors il a probablement un probl\u00e8me.\n<\/ul>\n<p style=\"text-align: justify;\">Si tout va bien, la sortie ressemble \u00e0 ceci :<\/p>\n<pre>stress-ng: info:  [3873] successful run completed in 10800.16s (3 hours, 0.16 secs)<\/pre>\n<p style=\"text-align: justify;\">On v\u00e9rifie si le noyau a d\u00e9tect\u00e9 des erreurs venant du disque :<\/p>\n<pre># dmesg |grep sdX<\/pre>\n<h4>Test SMART \u00e9tendu<\/h4>\n<p style=\"text-align: justify;\">Apr\u00e8s la recherche de secteurs d\u00e9fectueux et le stress test, on relance une analyse SMART, en faisant cette fois-ci un test \u00e9tendu. \u00c7a demande environ une journ\u00e9e pour un disque de 16 To.<\/p>\n<pre># smartctl -t long \/dev\/sdX\n=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===\nSending command: \"Execute SMART Extended self-test routine immediately in off-line mode\".\nDrive command \"Execute SMART Extended self-test routine immediately in off-line mode\" successful.\nTesting has begun.\nPlease wait 1428 minutes for test to complete.<\/pre>\n<p style=\"text-align: justify;\">Quand le test est fini :<\/p>\n<pre># smartctl -l selftest \/dev\/sdX\n=== START OF READ SMART DATA SECTION ===\nSMART Self-test log structure revision number 1\nNum  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error\n# 1  Extended offline    Completed without error       00%      2294         -\n# 2  Short offline       Completed without error       00%      1667         -<\/pre>\n<p style=\"text-align: justify;\">Apr\u00e8s tout ce qu\u2019on a fait, on v\u00e9rifie que SMART n\u2019ait pas d\u00e9tect\u00e9 un probl\u00e8me :<\/p>\n<pre># smartctl -a \/dev\/sdX<\/pre>\n<p style=\"text-align: justify;\">Enfin pour finir, on active le monitoring SMART dans <i>\/etc\/smartd.conf<\/i> :<\/p>\n<pre># Monitor all attributes except normalized Temperature (usually 194),\n# but track Temperature changes >= 4 Celsius, report Temperatures\n# >= 45 Celsius and changes in Raw value of Reallocated_Sector_Ct (5).\n# Send mail on SMART failures or when Temperature is >= 55 Celsius.\n\/dev\/sdX -a -I 194 -W 4,45,55 -p -R 5! -m user@domain.tld<\/pre>\n<p style=\"text-align: justify;\">On relance le d\u00e9mon <i>smartd<\/i> :<\/p>\n<pre># systemctl restart smartmontools.service<\/pre>\n<p style=\"text-align: justify;\">Vous pouvez d\u00e9sormais utiliser votre disque dur avec, dans un futur imm\u00e9diat, une garantie raisonnable de ne pas perdre les donn\u00e9es que vous allez mettre dessus.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voici ma proc\u00e9dure pour v\u00e9rifier l\u2019\u00e9tat d\u2019un nouveau disque dur. Les SSD surpassent compl\u00e8tement les disques durs en terme de performances. Cependant, m\u00eame si les SSD font des progr\u00e8s en terme de capacit\u00e9, les HDD ont toujours l&rsquo;avantage en terme de prix au t\u00e9raoctet. Donc les disques durs restent utiles quand on a des donn\u00e9es&hellip; <a class=\"continue\" href=\"https:\/\/almic.fr\/blog\/2025\/03\/26\/tester-disque-dur-linux\/\">Continue Reading Tester un nouveau disque dur sous Linux<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-545","post","type-post","status-publish","format-standard","hentry","category-materiel","radius"],"_links":{"self":[{"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/posts\/545","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/comments?post=545"}],"version-history":[{"count":49,"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/posts\/545\/revisions"}],"predecessor-version":[{"id":897,"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/posts\/545\/revisions\/897"}],"wp:attachment":[{"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/media?parent=545"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/categories?post=545"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/almic.fr\/blog\/wp-json\/wp\/v2\/tags?post=545"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}