hard disk

SMART error (CurrentPendingSector) detected on host

Si smartmontool est configuré correctement pour vous envoyer des mails d’alerte, vous risquez (fort heureusement d’une certaine façon…) de recevoir un mail concernant un secteur défectueux sous la forme d’un “CurrentPendingSector”)

This email was generated by the smartd daemon running on:

host name: name
DNS domain: [Unknown]
NIS domain: (none)

The following warning/error was logged by the smartd daemon:

Device: /dev/disk/by-id/ata-WDC_WD20EARX-XXXXXX-XXXXXX [SAT], 1 Currently unreadable (pending) sectors

For details see host’s SYSLOG.

You can also use the smartctl utility for further investigation.
The original email about this issue was sent at Sat Sep 5 01:49:22 2015 CEST
Another email message will be sent in 24 hours if the problem persists.

Il vous faut faire quelques tests pour vérifier que ce n’est pas un faux positif. Si c’est bien un secteur défectueux, soit vous jouerez la sécurité et vous changerez de disque… Soit vous vous dites que un seul secteur défectueux n’est pas bien grave et vous pourrez le ré-allouer 🙂

Vérifier le champ currentPendingSector via smartctl

Vérifiez l’information avec la commande suivante :

 

Le drame semble être bien là, Current_Pending_Sector est à 1 au lieu de 0.

Afin de vérifier quel block est en cause :

Après 2h d’attente, vous aurez votre réponse via ceci :

C’est le block 3734729896…

Trouver le fichier atteint par le bloc défectueux

Pour savoir quel fichier est atteint si vous n’avez pas mis de raid en place, commencez par avoir les renseignements sur votre système de fichiers :

Il faut donc faire le secteur * la taille du secteur d’un disque (512 ou 4096 selon les disques) / block size.
Ici ce sera 3734729896*512/4096=466841237

Le block de données du système de fichier affecté par ce secteur est donc le 466841237. On va regarder quelle donnée est utilisée par ce block :

==> Dans ce cas ci, le block n’est pas utilisé, heureusement pour nous. Dans le cas contraire, des opérations supplémentaires sont nécessaires.

Vous obtenez le path du fichier incriminé

Après avoir tester le secteur défectueux, vous souhaitez identifier quel fichier à été perdu. C’est possible, et c’est un processus qui prend un certain temps

On choisi de restaurer le backup de ce fichier, et pour ceux qui n’en ont pas fait (pas bien!), tentez de restaurer, déplacer le fichier pour y regarder plus tard, etc.

On supprime ensuite le fichier et on vérifie que l’on a supprimer le bon fichier :

Confirmer le problème

On vérifie que le secteur est bien défectueux et pas faux-positif avec cette commande :

==> A partir du moment où l’on voit un I/O error, on sait que ce secteur est bien défectueux.

 

On teste une écriture qui devrait forcer la ré-allocation du block défectueux :

Corriger de manière irréversible le problème

On est sur du secteur en cause avant d’appliquer avec l’option yes-i-know-what-i-am-doing :

On vérifie que le block est de nouveau lisible car il a été ré-alloué :

Les données smartmontools ont du changer :

On lance un nouveau test :

Voici une source qui m’a aidé pour identifier sur le système de fichiers si un fichier été atteint par le secteur défectueux.

 

2 thoughts on “<span>SMART error (CurrentPendingSector) detected on host</span>”

  1. Un·e passant·e says:

    Il semble que la commande

    doive être remplacée par

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">