Forum Linux.noyau Petite colle sur le premier secteur d'un disque dur

Posté par (page perso) . Licence CC by-sa
Tags :
-1
8
juil.
2017

J'ai une machine avec un disque dur partiellement abimé : des secteurs défectueux de ci de là. J'ai isolé les zones en cause en ne créant des partitions que dans les zones en bon état.

Tout fonctionne, mais un détail me chiffonne : au démarrage, le noyau s'entête à aller lire et modifier le secteur 2048 du disque, qui est abimé.. Pourquoi?

Ci-dessous la table de partitions, et les messages du noyau qui créent une pause de 30 secondes au démarrage.

    Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: dos
    Disk identifier: 0x4ced79ca

    Device     Boot     Start       End   Sectors  Size Id Type
    /dev/sda1            2058    264191    262134  128M 83 Linux
    /dev/sda2          264192   4458495   4194304    2G 82 Linux swap / Solaris
    /dev/sda3         4458496 209451008 204992513 97.8G 83 Linux
    /dev/sda4       209717248 234441647  24724400 11.8G 83 Linux

    Partition 1 does not start on physical sector boundary.

Et les erreurs de disque :

                            res 51/01:08:00:08:00/00:00:00:00:00/e0 Emask 0x9 (media error)
    [    7.326963] ata1.00: error: { AMNF }
    [    7.335676] blk_update_request: I/O error, dev sda, sector 2048
                            res 51/01:08:00:08:00/00:00:00:00:00/e0 Emask 0x9 (media error)
    [    9.006972] ata1.00: error: { AMNF }
    [    9.015154] blk_update_request: I/O error, dev sda, sector 2048
    [    9.015359] Buffer I/O error on dev sda, logical block 256, async page read
                            res 51/01:08:00:08:00/00:00:00:00:00/e0 Emask 0x9 (media error)
    [   32.033177] ata1.00: error: { AMNF }
    [   32.041643] blk_update_request: I/O error, dev sda, sector 2048
                            res 51/01:08:00:08:00/00:00:00:00:00/e0 Emask 0x9 (media error)
    [   34.932176] ata1.00: error: { AMNF }
    [   34.940513] blk_update_request: I/O error, dev sda, sector 2048
    [   34.940526] Buffer I/O error on dev sda, logical block 256, async page read
  • # hard drive HS ?

    Posté par (page perso) . Évalué à 2.

    Si tu arrives à passer en mode débug sur ton noyal (je crois qu'il y a un ou deux modules qui font ça via une interface série) tu dois pouvoir trouver le module responsable et les différents call.

    Ça risque d'être un peu overkill et il y a sans doute d'autres choses à faire avant.

    Je suis surpris par la capacité de ce HD, 111GB c'est un disque dur d'il y a dix ans (voir plus). Pas étonnant qu'il ait des problèmes de secteur, surtout s'il était utilisé intensivement. Il me semble qu'il y a des outils pour que le firmware du DD marque lui même les secteurs incapacités comme inutilisables.

    Ça éviterait ces appels systèmes récurrents sur des secteurs défectueux.
    Je pense que cela serait peut être plus productif que de chercher quel est le code noyau qui tente de faire des IO sur des secteurs défectueux.

    • [^] # Re: hard drive HS ?

      Posté par (page perso) . Évalué à 3.

      Merci pour la piste. Le disque n'est pas si vieux : 2011 ;-)
      Et j'aime pas jeter quand ça marche.

      J'ai déja viré un service de systemd qui fait du gpt partition update. Je pense que mon problème est peut-être dû aux secteurs physiques de 4K, je vais réduire un chouilà la première partition pour qu'elle soit alignée sur les secteurs physiques.

      ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

      • [^] # Re: hard drive HS ?

        Posté par (page perso) . Évalué à 2. Dernière modification le 11/07/17 à 10:06.

        Et j’aime pas jeter quand ça marche.

        Un disque dur avec des secteurs défectueux n’est plus un disque dur qui marche ! Il n’est plus fiable et un jour ou l’autre tu perdras des données. Un seul remède dans ce cas, changer le disque et vite !

      • [^] # Re: hard drive HS ?

        Posté par . Évalué à 2.

        Et j'aime pas jeter quand ça marche.

        T'as une définition bien spéciale de "disque dur qui marche".

        C'est à dire 99% différente du reste de la population, et invalide.

        "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

  • # Backup de table

    Posté par . Évalué à 3.

    Il y a souvent une redondance de la table des partitions: peut-être que la copie se situe là, et qu'il veut vérifier la cohérence ?

  • # réallocation de secteurs défectueux

    Posté par . Évalué à 2.

    Electronikheart avait fait un tuto vidéo là dessus. Il explique même comment faire pour certains disques USB dont les données SMART ne sont pas visibles par défaut.

    En résumé, la première chose à faire est de lancer un test étendu via smartctl, Gsmartcontrol ou tout autre interface. Ça va prendre du temps.

    Ensuite, vérifier le tableau des résultats :
    Si la ligne 198 Offline Uncorrectable n'est pas à zéro, le disque est à considérer comme non fiable et éventuellement à remplacer.
    Si la ligne 197 Current Pending Sector n'est pas à zéro, il faut forcer la réallocation automatique de chaque secteur avec la commande hdparm en vérifiant le résultat de chaque changement avec un test court de SMART.

    Enfin la commande badblock permet de vérifier que le disque a bien corrigé les erreurs. C'est hyper long mais ça indique si la partie électronique du disque déconne et dans le cas où il reste des erreurs le disque est vraiment foutu.

    • [^] # Re: réallocation de secteurs défectueux

      Posté par (page perso) . Évalué à 2.

      Merci mais tout ça est déjà fait, et le disque est considéré à remplacer par SMART. Sauf qu'il fonctionne bien ainsi depuis 3 ans… et que c'est un modèle trop rare pour que j'en aie un autre sous la main.

      Bref, je vais faire avec, il n'a même pas 1% d'espace perdu.
      Passer aux partitions alignées sur les secteurs physiques et de Grub1 au Grub2 m'a fait gagner 2 minutes au boot!

      ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

      • [^] # Re: réallocation de secteurs défectueux

        Posté par . Évalué à 4.

        Je suppose qu'il n'y a sur ce disque dur que des données sans importances.
        Car depuis la dernière fois que tu as vérifié la surface, il y a peut-être de nouveaux secteurs qui sont devenus défectueux, et la prochaine fois que tu accèdera aux fichiers concernés ça plantera.

        • [^] # Re: réallocation de secteurs défectueux

          Posté par . Évalué à 3.

          Personnellement, c'est le genre de disque que je peux garder pour installer un système de test (et encore …). Je ne mettrais jamais de données sur ce genre de support.

          • [^] # Re: réallocation de secteurs défectueux

            Posté par . Évalué à 3.

            Moi c'est le genre de disque qui part à la poubelle.

            • [^] # Re: réallocation de secteurs défectueux

              Posté par (page perso) . Évalué à 1.

              C'est passionnant les gars, mais depuis owncloud je ne m'inquiète plus d'un disque dur qui lâche. Alors envoyez-moi les diques que vous jetez, j'y trouverai peut-être un remplaçant pour ce vénérable qui plafonne à 24Mo/s en débit brut.

              L'expérience montre que ce n'est pas toujours vrai que le nombre de secteurs défectueux augmente vite. Ainsi ce disque qui va bien depuis des années sur 99,9% de ses secteurs a probablement juste connu une chute légère en fonctionnement. Et comme ça, vous savez que ça sert à quelqu'un l'outil bad blocks!

              ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

              • [^] # Re: réallocation de secteurs défectueux

                Posté par . Évalué à 2.

                Ba écoute continue avec ton super outil badblock qui ne protégera pas des prochains clusters défectueux sur lesquels seront une fois de plus des données. Et n'écoute surtout pas tous les gens qui te disent de passer sur un disque dur sain.

                Une voiture avec une roue crevée ça continue de rouler aussi… ;)

                • [^] # Re: réallocation de secteurs défectueux

                  Posté par (page perso) . Évalué à 4.

                  Comment on arrive à un troll qui veut m'interdire d'utiliser mon disque dur, quand la question était "pourquoi le noyau Linux s'obstine à essayer de modifier le secteur 2048"?

                  ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

                  • [^] # Re: réallocation de secteurs défectueux

                    Posté par . Évalué à 3.

                    Parce que certains ne supportent pas que l'on ne fasse pas comme eux …. Pour ma part je t'ai dis ce que je faisais, mais jamais je ne t'ai epêché de faire comme tu veux. Par contre, si on fait abstraction de la façon dont les choses sont dites, il est clair qu'à utiliser un disque défectueux pour y mettre des données, c'est prendre des risques. Maintenant, il semble que dans ce cas de figure, le risque est assumé et accepté, donc pas besoin de troller.

                  • [^] # Re: réallocation de secteurs défectueux

                    Posté par . Évalué à -1.

                    Personne t'interdit de l'utiliser mais beaucoup de personnes te disent de considérer ton disque comme HS car plus fiable. Toi tu nous réponds si mon disque il fonctionne donc je le garde.

                    C'est donc pour ça que je t'ai fait le parallèle avec une voiture qui a une roue crevée mais avance tout de même…

                    Après tu fais ce que tu veux, c'est tes données pas les miennes ;)

      • [^] # Re: réallocation de secteurs défectueux

        Posté par . Évalué à 2.

        Merci mais tout ça est déjà fait, et le disque est considéré à remplacer par SMART.

        Si c'est déjà fait tant mieux, c'était au cas où tu te compliquais la vie à partitionner sans savoir qu'il y a ces mécanismes de réallocation.
        Après j'ai un disque de stockage à froid pas très vieux qui me fait quelques erreurs d'écriture lors des sauvegardes, j'ai réglé ça en utilisant des sommes de controle md5 avec l'outil rhash. De souvenir, btrfs inclue un mécanisme similaire.

        Mais du coup ça répond pas du tout à ton problème :-/

  • # Sector 2058 ?!

    Posté par . Évalué à 2.

    Tu es sûr de ton output de fdisk ?
    Parce que début de partition /dev/sda1 sur le sector 2058, c'est hautement chelou !

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.