Aller au contenu principal
hard-driveINFO

smartctl et les secteurs défectueux : ce qu'il vous dit vraiment, et les 23 % qu'il rate

smartctl signale les secteurs défectueux, il ne les répare jamais. Quels attributs SMART prédisent réellement la panne, comment les lire, et pourquoi Backblaze a constaté que 23,3 % des disques tombés en panne n'avaient donné aucun avertissement.

Par Eric Gerard · Éditeur · Save My Disk6 min de lecturePhoto via Pexels

Cherchez ce sujet et Google vous suggérera « smartctl fix bad sectors ». Cette suggestion décrit quelque chose que l'outil ne fait pas, et c'est dans l'écart entre ce que les gens attendent et ce que SMART fournit réellement que les données se perdent.

smartctl rapporte, il ne répare pas

La documentation ne laisse aucune place à l'interprétation : smartctl « ne calcule aucune des valeurs d'attributs, aucun seuil ni aucun type, il se contente de les rapporter depuis les données SMART présentes sur le périphérique. »

C'est un utilitaire de surveillance et de rapport. Il n'existe aucune option qui répare un secteur, parce que réparer n'est pas ce que fait un outil de diagnostic. Quand un disque réalloue un secteur défectueux, c'est le firmware qui le fait, silencieusement, en puisant dans sa réserve de secteurs de rechange.

Cela a une conséquence pratique. Tout utilitaire qui annonce « réparer » les secteurs défectueux fait l'une de ces deux choses : écrire par-dessus, ce qui détruit définitivement ce qui s'y trouvait, ou forcer la main du firmware pour déclencher une réallocation. Ni l'un ni l'autre ne récupère votre fichier. Si les données comptent encore, écrire sur le disque est la dernière chose à faire.

Les cinq attributs qui méritent d'être lus

Backblaze exploite l'un des plus grands jeux de données publiés sur la panne de disques, et surveille cinq attributs SMART à des fins de prédiction :

IDAttribut
5Reallocated Sectors Count
187Reported Uncorrectable Errors
188Command Timeout
197Current Pending Sector Count
198Uncorrectable Sector Count

Leur comparaison publiée : 76,7 % des disques tombés en panne avaient au moins l'un de ces attributs au-dessus de zéro, contre 4,2 % des disques en service. C'est cet écart qui les rend dignes d'être surveillés.

Les deux les plus souvent mal lus sont le 197 et le 5, et la différence entre eux mérite d'être comprise.

197, Current Pending Sector Count, c'est la liste provisoire. Ce sont des secteurs que le disque a eu du mal à lire et qu'il a mis en sursis. Ils ne sont pas encore condamnés. Si une lecture ultérieure réussit, le compteur peut redescendre.

5, Reallocated Sectors Count, c'est le casier permanent. Ce sont les secteurs que le disque a abandonnés et remplacés par des secteurs de rechange. Ce nombre ne fait que monter.

Un 197 non nul est donc l'avertissement le plus précoce, et celui sur lequel il vaut la peine d'agir, parce qu'il dit que le disque est en train de peiner à lire quelque chose. Ce quelque chose peut très bien être votre fichier.

Vue macro à l'intérieur d'un disque dur ouvert montrant le plateau miroir et le bras de l'actuateur avec ses têtes de lecture et d'écriture.
Vue macro à l'intérieur d'un disque dur ouvert montrant le plateau miroir et le bras de l'actuateur avec ses têtes de lecture et d'écriture.

Comment lire la sortie sans la mal interpréter

Trois commandes couvrent l'essentiel du terrain pratique :

smartctl -H /dev/sda      # overall health status
smartctl -A /dev/sda      # the attribute table
smartctl -l selftest /dev/sda   # results of past self-tests

Sur -H, le sens documenté d'un échec est précis et urgent : « soit que le périphérique est déjà tombé en panne, soit qu'il prédit sa propre panne dans les 24 heures qui viennent. » Vingt-quatre heures, ce n'est pas une fenêtre de maintenance. Cela veut dire copier maintenant ce qui compte.

Sur -A, chaque attribut porte une valeur Raw (brute), une valeur Normalized (normalisée) et un Threshold (seuil). La règle documentée est que si la valeur normalisée est inférieure ou égale au seuil, l'attribut est en échec. Les gens lisent couramment la colonne brute et paniquent, ou la lisent et se rassurent, sans la confronter au seuil. La valeur brute seule ne vous dit pas si un attribut est en échec.

Pour lancer les tests eux-mêmes :

smartctl -t short /dev/sda    # usually under ten minutes
smartctl -t long /dev/sda     # tens of minutes, more thorough

Le test court vérifie les performances électriques et mécaniques ainsi que les performances en lecture. Le test étendu en est la version plus longue et plus approfondie. Dans les deux cas, la commande lance le test et rend la main ; vous en lisez l'issue ensuite avec -l selftest, qui affiche le type et l'état final de chacun des auto-tests les plus récents.

Le chiffre que personne ne cite : 23,3 %

Voici la partie qui devrait changer votre façon de réagir à un rapport propre.

D'après les chiffres de Backblaze eux-mêmes, si 76,7 % des disques tombés en panne montraient un avertissement, alors 23,3 % des disques tombés en panne n'en montraient aucun. Près d'une panne sur quatre arrive avec un SMART qui ne signale rien d'anormal.

SMART est une alerte précoce utile qui reste muette environ un quart du temps. C'est une preuve de problème quand il parle, et ce n'est pas une preuve de bonne santé quand il se tait. Un contrôle qui passe signifie que rien de mauvais n'a encore été détecté. Cela ne signifie pas que le disque va bien, et cela ne remplace pas le fait d'avoir une seconde copie.

Que faire quand les chiffres sont mauvais

L'ordre compte, et la première étape est celle que les gens sautent.

Arrêtez d'écrire sur le disque. Chaque écriture est une occasion d'écraser quelque chose de récupérable et une charge de travail supplémentaire pour un mécanisme qui peine déjà.

Faites une image avant d'enquêter. Travaillez depuis une copie au niveau secteur, pas depuis le disque défaillant. Des tentatives de lecture répétées sur un disque avec des secteurs en attente mettent la pression exactement là où il est déjà faible, et chaque nouvel essai est une occasion pour un secteur marginal de devenir illisible. Nous couvrons le processus dans cloner un disque défaillant avec ddrescue.

Récupérez ensuite depuis l'image. Une fois que vous avez une copie, vous pouvez réessayer autant de fois que vous voulez sans risquer l'original.

Choix éditorial
4.5 / 5

Récupérer depuis une image ou un disque encore lisible

S'applique une fois que le disque est assez stable pour être lu ou que vous en avez fait une copie. Cela ne répare pas les secteurs défectueux et aucun logiciel ne le peut, parce que la réallocation est gérée par le firmware du disque.

Fondé en 2004Garantie 30 joursVersion gratuite 2 Go
Voir l'offre

La version courte

smartctl vous dit ce que le disque rapporte sur lui-même. Il ne répare jamais rien, alors traitez « fix bad sectors » comme la description d'autre chose. Lisez l'attribut 197 comme l'avertissement précoce et le 5 comme le casier permanent, et comparez les valeurs normalisées aux seuils plutôt que de lire les nombres bruts seuls. Un -H en échec vous donne un horizon documenté de 24 heures. Et un rapport propre n'est pas un certificat de bonne santé, parce que près d'une panne sur quatre n'est jamais apparue du tout dans ces statistiques.

Le comportement des commandes et la sémantique des attributs proviennent de la documentation de smartctl ; les chiffres de corrélation avec la panne (76,7 %, 4,2 %, 23,3 %) sont les statistiques publiées par Backblaze sur sa propre flotte. Ces chiffres décrivent leur population de disques et ne constituent pas une prédiction pour un disque individuel. Les liens commerciaux portent l'attribut rel="sponsored nofollow" ; une commission d'affiliation peut s'appliquer sans surcoût pour vous.

Choix éditorial
4.5 / 5

Récupère les données de ton disque dur → EaseUS

Scan gratuit · fichiers supprimés, formatés, perdus · Windows & Mac

Fondé en 2004Garantie 30 joursVersion gratuite 2 Go
Voir l'offre

Questions fréquentes

smartctl peut-il réparer les secteurs défectueux ?

Non. La documentation de smartctl est explicite : l'outil ne calcule aucune des valeurs d'attributs ni aucun seuil, il se contente de les rapporter depuis les données SMART présentes sur le périphérique. C'est un utilitaire de surveillance et de rapport. Rien en lui n'écrit sur vos données ni ne répare un secteur. La réallocation est faite par le firmware du disque de lui-même, pas par smartctl, et un outil qui prétend réparer des secteurs défectueux est soit en train de les réécrire, ce qui détruit ce qui s'y trouvait, soit en train de mal décrire ce qu'il fait.

Quels attributs SMART comptent réellement ?

Backblaze en surveille cinq pour la prédiction de panne : SMART 5 Reallocated Sectors Count, 187 Reported Uncorrectable Errors, 188 Command Timeout, 197 Current Pending Sector Count et 198 Uncorrectable Sector Count. Leurs chiffres publiés montrent que 76,7 % des disques tombés en panne avaient au moins l'un de ces attributs au-dessus de zéro, contre 4,2 % des disques en service.

Que signifie un état de santé en échec avec smartctl -H ?

La documentation indique que si le périphérique rapporte un état de santé en échec, cela signifie soit que le périphérique est déjà tombé en panne, soit qu'il prédit sa propre panne dans les 24 heures qui viennent. C'est une fenêtre étroite. C'est une raison d'arrêter immédiatement d'utiliser le disque et d'en copier ce qui compte, pas une raison de programmer une maintenance pour le week-end.

Mon disque passe le test SMART. Mes données sont-elles en sécurité ?

Pas nécessairement, et c'est le chiffre qui compte le plus. Backblaze a rapporté que 23,3 % des disques tombés en panne n'avaient montré aucun avertissement sur ces cinq statistiques SMART. Près d'une panne sur quatre arrive avec un rapport propre. Un contrôle SMART qui passe vous dit que rien de mauvais n'a encore été détecté, ce qui n'est pas la même chose qu'un disque en bonne santé.

Quelle est la différence entre smartctl -t short et -t long ?

L'auto-test court dure généralement moins de dix minutes et vérifie les performances électriques et mécaniques ainsi que les performances en lecture du disque. Le test étendu prend des dizaines de minutes et en est une version plus longue et plus approfondie. Lisez ensuite les résultats via le journal d'auto-tests plutôt que de supposer que la commande ayant lancé le test en a rapporté l'issue.