Comment puis-je corriger le nombre de secteurs en attente


8

À partir des données SMART, cela montre que j'ai 3 comptes de secteurs en attente. (Exécution d'Ubuntu Maverick.)

J'ai essayé de suivre un lien sur les forums pour savoir comment résoudre ce problème , mais je ne suis pas en mesure d'identifier le nombre exact de secteurs à écrire dans ce secteur. J'exécute l'auto-test complet à partir de l'Utilitaire de disque, mais l'Utilitaire de disque n'affiche pas le numéro de secteur exact dans Maverick, cependant je ne suis pas sûr des versions antérieures. Est-ce que cela a changé dans Maverick?

Comment identifier le secteur et corriger ce décompte en attente? Cette astuce dans les forums est-elle sûre?

PS: J'ai d'autres problèmes avec "Nombre de secteurs réaffectés", à partir de ce que j'ai googlé, ce n'est pas réparable. Y a-t-il un moyen de l'empêcher d'augmenter?


1
Capture d'écran des données SMART: foopics.com/showfull/e20ea820cbed11ae2d99e13a9fe642d1 Hrm ..! PS: doit autoriser plus d'un hyperlien, ou au moins un lien d'image pour les nouveaux utilisateurs: - /
Vish

Avez-vous exécuté le test "long"?
TJ L

1
Ouais, j'ai essayé le "étendu", mais je ne reçois pas les chiffres du secteur. Ou peut-être que je ne cherche pas au bon endroit après avoir exécuté le test?
Vish

Réponses:


7

C'est en fait un long commentaire ;-)

IMO, le système de fichiers devrait automatiquement s'en occuper en temps voulu, d'autant plus que vous avez exécuté l'autotest. Comme vous pouvez le voir, il indique que le remappage est effectué en cas d'échec d'écriture, de sorte que la prochaine fois qu'il essaiera d'écrire dessus, il sera remappé.

Pourriez-vous indiquer l'objectif plus large derrière cela? Mis à part la préoccupation sur les blocs nécessitant un remappage, y a-t-il un autre problème / agacement que vous essayez de résoudre en faisant cela?

Le conseil du post ubuntuforums que vous avez cité est sûr tant que vous savez exactement quel secteur a mal tourné et que vous avez une raison impérieuse de le réparer. En règle générale, le secteur # n'est pas signalé, même par les programmes de vérification de fichiers, car il est extrait et géré en interne par le système de fichiers.

Mais si vous devez trouver les badblocks incriminés, vous pouvez suivre les étapes ci-dessous:

  1. Notez le fichier de périphérique correspondant au système de fichiers. Il s'agit du format / dev / hdc ou / dev / sdb selon le type de disque. Ceci est affiché dans l'Utilitaire de disque ( System -> Administration -> Disk Utility). Si vous cliquez sur le nom du disque dans la liste affichée dans le panneau de gauche, le nom du périphérique peut être lu contre "Device:" sur la droite.

  2. Démontez tous les systèmes de fichiers de ce disque. La commande suivante ne doit renvoyer aucune sortie.

    mount | grep -i <device-name>
    
  3. Exécutez la commande suivante

    badblocks -sv -b 512 <device-name>
    

    Remarque Le -b 512est d'aligner la taille de bloc sur 512 afin que vous puissiez utiliser le nombre signalé par cette commande comme entrée ddcomme expliqué dans le post du forum

Je ne recommanderais pas tout ce qui précède car il est de toute façon pris en charge par les opérations normales du disque.


1
Merci pour la réponse détaillée. Ces trois secteurs en attente existaient depuis très longtemps, près de plus de 6 mois, c'est la raison pour laquelle je voulais réparer ces secteurs en attente. Et ces secteurs sont dans ma partition principale / home, comment faire cela en ligne? Vous avez mentionné le démontage de toutes les partitions, dois-je le faire à partir d'un CD live?
Vish

Comme il s'agit de la partition home de votre installation, vous voudrez en effet effectuer les étapes ci-dessus depuis livecd. Assurez-vous que toutes les partitions du disque ne sont pas montées (y compris la permutation de toutes les partitions de permutation).
koushik

C'est étrange, j'ai eu le compte en attente pendant près de 6 mois avec ext4, mais quand j'ai réinstallé avec brtfs, il ne fallait pas disparaître. Par conséquent, j'étais inquiet. D'après vos conseils, j'ai envisagé d'attendre quelques semaines avant de faire quelque chose. Maintenant, tout à coup, ils sont tous partis! Donc je suppose que l'attente était la meilleure. :-) Semblait résoudre plus rapidement avec btrfs.
Vish

1

dans le pire des cas, vous pouvez toujours le faire: démontez le disque ou la baie et arrêtez n'importe quelle baie.

dd if=/dev/sdX of=/dev/sdX iflag=direct,sync oflag=direct,sync

Cela prendra beaucoup de temps, mais devrait fonctionner.

Idéalement, vous pouvez interroger la liste des défauts de croissance du disque dur (glist), mais je n'ai pas compris comment le faire.


1

Il semble que l' conv=noerroroption aide. En cas d'erreur d'E / S, il semble que cette option oblige ddà réessayer jusqu'à ce qu'elle termine la lecture / écriture. J'ai créé un fichier source avec la commande suivante pour chacun des blocs défectueux trouvés par la commande badblocks (donnée par Kaushik ci-dessus), et il a effacé le "Nombre de secteurs en attente" ("en attente de remappage") à zéro de 5.

sudo dd bs=512 count=1 conv=noerror ibs=512 obs=512 if=/dev/sda of=/dev/sda iflag=direct,sync oflag=direct,sync skip=3186809 seek=3186809

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.