Disque durDans mon quotidien professionnel, je travaille assez souvent avec du matériel reconditionné, le plus souvent en provenance du fournisseur DestokPC. Sur les serveurs, je remplace les disques durs par du matériel acheté neuf, mais il arrive qu’un client souhaite garder les disques déjà présents sur la machine. Dans ce cas, je prends soin de vérifier leur santé matérielle avant d’installer un OS dessus. Pour ce faire, j’utilise les utilitaires smartctl et badblocks. On les trouve généralement sur n’importe quel LiveCD de récupération. Ils sont également présents sur le support d’installation de CentOS en mode secours.

Démarrer CentOS en mode secours

  1. Insérer la clé USB, le CD-Rom ou le DVD d’installation de CentOS et démarrer dessus.
  2. Aller dans Troubleshooting > Rescue a CentOS system.
  3. Appuyer sur la touche [Tab] pour afficher les options de démarrage.
  4. Éventuellement ajouter nomodeset vga=791 pour une console plus lisible.
  5. Appuyer sur [Entrée] pour démarrer.
  6. Dans l’environnement de secours, choisir l’option Skip to shell (3).

L’environnement de secours utilise un clavier QWERTY américain par défaut. La première chose à faire, c’est de basculer vers un clavier français.

# loadkeys fr

La commande lsblk nous servira à identifier le disque.

# lsblk | grep sda
sda      8:0    0 55.9G  0 disk 
├─sda1   8:1    0    8M  0 part 
├─sda2   8:2    0  500M  0 part /media/sda2
├─sda3   8:3    0 51.4G  0 part /media/sda3
└─sda4   8:4    0    4G  0 part 

Effectuer les tests SMART

La grande majorité des disques durs embarquent le système de surveillance SMART (Self-Monitoring Analysis and Reporting Technology). Sous Linux, l’outil smartctl permet d’exploiter ces données.

Dans un premier temps, je vérifie si les données SMART sont disponibles.

# smartctl -H -i /dev/sda
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-8-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     TCSUNBOW X3 60GB
Serial Number:    2018082400051
Firmware Version: Q1103A0
User Capacity:    60,022,480,896 bytes [60.0 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ACS-2 T13/2015-D revision 3
SATA Version is:  SATA 3.2, 6.0 Gb/s (current: 3.0 Gb/s)
Local Time is:    Wed Feb 20 13:17:06 2019 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

J’affiche la durée approximative des tests.

# smartctl -c /dev/sda
...
Short self-test routine 
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  10) minutes.

Je lance d’abord le test rapide.

# smartctl -t short /dev/sda

J’attends deux minutes avant d’afficher le résultat du test.

# smartctl -l selftest /dev/sda

Si j’obtiens partout Completed without error, je lance une série de tests plus méticuleux.

# smartctl -t long /dev/sda

Là aussi, je patiente le laps de temps indiqué à l’écran avant d’afficher le résultat.

# smartctl -l selftest /dev/sda

Vérifier la présence de secteurs défectueux

Une fois qu’on a passé la première série de tests SMART, on peut utiliser l’outil badblocks pour vérifier la présence de secteurs défectueux.

On lance une première vérification en lecture seule.

# badblocks -v -s /dev/sda
Checking blocks 0 to 58615703
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found. (0/0/0 errors)
  • L’option -v active le mode « bavard ».
  • L’option -s affiche une estimation du pourcentage effectué.

On peut éventuellement effectuer plusieurs passes grâce à l’option -p.

# badblocks -v -s -p 2 /dev/sda

Enfin, l’option -w permet d’effectuer des tests en écriture. Attention, cette option est destructive, il ne faut donc surtout pas l’utiliser sur un système en production.

# badblocks -v -w -s -p 2 /dev/sda

La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

 


6 commentaires

Bruno · 22 mai 2020 à 11 h 08 min

Bonjour,

Ce n’est sans doute pas une bonne idée d’utiliser badblocks directement sans connaître, ni préciser la taille des blocs.
Je rappelle que la page de main dit :
… it is strongly recommended that users not run badblocks
directly, but rather use the -c option of the e2fsck and mke2fs programs.

Nuliel · 22 mai 2020 à 18 h 22 min

Bonjour,

+1 à ce que dit Bruno. Je rajoute aussi qu’en passant smartctl -a /dev/sda , on a généralement le nombre de secteurs réalloués (reallocated sectors count) et le nombre de secteurs en attente de réallocation (donc défectueux, current pending sectors).

Defrenne · 17 août 2020 à 15 h 25 min

j’ai remplacé mon disque dur sur mon asus K55A par un WDblue, l’ancien faisant un drole de bruit.
cet ancien raccordé par usb j’aurais voulu utiliser smartctl pour le vérifier, mais j’ai toujours:

defrenne@defrenne-K55A:~$ smartctl –all /dev/sdb
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-5.4.0-42-generic] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, http://www.smartmontools.org

Smartctl open device: /dev/sdb [SAT] failed: Permission denied

l’ajout de sudo ne mène à rien de plus probant, et pourtant gparted me dit bien que c’est un disque sdb.
je nage , auriez vous l’amabilité de me mettre sur le droit chemin.
Merci d’avance

    kikinovak · 17 août 2020 à 15 h 29 min

    Quel système Linux Live utilisez-vous ?

      Defrenne · 19 août 2020 à 8 h 28 min

      linux
      Kernel: 5.4.0-42-generic x86_64 bits: 64 compiler: gcc v: 7.5.0
      Desktop: MATE 1.22.2 wm: marco dm: LightDM Distro: Linux Mint 19.3 Tricia
      base: Ubuntu 18.04 bionic

        kikinovak · 19 août 2020 à 8 h 44 min

        J’ai l’impression que vous avez invoqué smartctl directement depuis votre système installé, ce qu’il ne faut surtout pas faire. Corrigez-moi si je me trompe.

        Perso j’utilise la distribution live Slax pour tester les disques. J’ai écrit un article détaillé sur cette distribution.

Répondre à Bruno Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *