Forum Linux.général Disque dur non reconnu après un benchmark Bonnie++

Posté par  .
Étiquettes : aucune
1
6
sept.
2009
Bonjour,

aujourd'hui j'ai voulu faire un benchmark d'un volume LVM, j'ai donc utilisé bonnie++, avec une commande dans ce style (je l'ai plus exactement en tête):
bonnie++ -d bench -s 4096 -n 256 -x 5 -q
Donc le test se passe, et arrivé un moment ça plante: je n'ai plus le message d'erreur complet, mais en gros c'était "système de fichiers en lecture seule".
Déjà je me dis "Ouhla", donc je vais dans le répertoire et essaye de supprimer les fichiers et pareil, "système de fichiers en lecture seule". Bon, j'ai donc redémarré.

Au démarrage, nouveau problème. Le BIOS mets 15 plombes à détecter un disque dur qui faisait partie du volume LVM, mais finalement il le détecte.
Arrivé dans le boot de Linux, je reçois un message du genre "link is too slow", et il mets un certain temps avant de continuer le boot.

Au final, une fois Linux booté, le disque dur n'est pas détecté, il existe pas.
Je commence à me demander si j'ai pas bousillé un truc je sais pas comment, alors je décide de tout arrêter et d'ouvrir la bécane, des fois que j'aurai vu quelque chose..

Je vois rien, j'étais prêt à faire un démontage/remontage complet, mais j'ai décidé de retenter une dernière fois. Et là, sans savoir pourquoi, tout marchait de nouveau correctement, le BIOS ne mets plus trop de temps, Linux trouve le disque, le volume LVM fonctionne, etc.

Du coup ça marche je suis content, mais je sais pas ce qu'il s'est passé. C'est possible que Bonnie++ soit tellement violent sur les accès disques que ça cause ce genre de problème ?
Le fait que même après un reboot ça ne marche pas me fait penser que c'était un problème hardware, peut-être du contrôleur SATA (intégré à ma carte mère).

L'essentiel est que ça marche maintenant, mais j'aimerai savoir si je peux légitimement dire "mon matos c'est de la merde" :)
  • # disque qui rend l'âme

    Posté par  . Évalué à 3.

    Il est possible que ton disque donne des signes de faiblesse...
    As-tu jeté un oeil aux logs noyau ?
    Lancé un check SMART ?
    • [^] # Re: disque qui rend l'âme

      Posté par  . Évalué à 2.

      Je n'ai rien dans mon dmesg.log, mais je crois qu'il est vidé à chaque redémarrage. Autrement je n'avais pas regardé le log quand c'est arrivé malheureusement.

      Je ne sais pas exactement ce que tu entends par "check SMART", mais je viens de lancer un selftest avec smartctl, en short, donc: "smartctl -t short /dev/sdc", et le résultat me dit "completed without error". Maintenant je l'ai lancé en "-t long", mais le test va durer jusqu'à ce soir 21h25 alors je verrai plus tard.
      • [^] # Re: disque qui rend l'âme

        Posté par  . Évalué à 2.

        Wow, bon alors après avoir lancé le test long, j'ai regardé les erreurs et j'avais déjà un "read failure"..
        J'ai aussi vu la commande "smartctl -l error", qui me retourne un paquet d'erreurs:
        === START OF READ SMART DATA SECTION ===
        SMART Error Log Version: 1
        ATA Error Count: 220 (device log contains only the most recent five errors)
        CR = Command Register [HEX]
        FR = Features Register [HEX]
        SC = Sector Count Register [HEX]
        SN = Sector Number Register [HEX]
        CL = Cylinder Low Register [HEX]
        CH = Cylinder High Register [HEX]
        DH = Device/Head Register [HEX]
        DC = Device Command Register [HEX]
        ER = Error register [HEX]
        ST = Status register [HEX]
        Powered_Up_Time is measured from power on, and printed as
        DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
        SS=sec, and sss=millisec. It "wraps" after 49.710 days.

        Error 220 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
        When the command that caused the error occurred, the device was active or idle.

        After command completion occurred, registers were:
        ER ST SC SN CL CH DH
        -- -- -- -- -- -- --
        40 51 00 5f 1b 00 e0 Error: UNC at LBA = 0x00001b5f = 7007

        Commands leading to the command that caused the error were:
        CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name
        -- -- -- -- -- -- -- -- ---------------- --------------------
        c8 00 08 5f 1b 00 e0 08 00:20:14.170 READ DMA
        ec 00 00 00 00 00 a0 08 00:20:14.160 IDENTIFY DEVICE
        ef 03 46 00 00 00 a0 08 00:20:14.160 SET FEATURES [Set transfer mode]
        ec 00 00 00 00 00 a0 08 00:20:13.190 IDENTIFY DEVICE


        220 erreurs..arg
        Je comprends pas vraiment les erreurs là, mais est-ce qu'il y a moyen d'être sûr que ce soit le disque dur le fautif où ça pourrait venir du contrôleur SATA/de la carte mère ?
        • [^] # Re: disque qui rend l'âme

          Posté par  . Évalué à 1.

          Il faudrait le résultat d'un "smartctl -a /dev/hdc" pour discriminer les causes possibles.
          • [^] # Re: disque qui rend l'âme

            Posté par  . Évalué à 2.

            SMART Attributes Data Structure revision number: 16
            Vendor Specific SMART Attributes with Thresholds:
            ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
            1 Raw_Read_Error_Rate 0x000f 099 099 051 Pre-fail Always - 470
            3 Spin_Up_Time 0x0007 076 076 011 Pre-fail Always - 7940
            4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 389
            5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 1
            7 Seek_Error_Rate 0x000f 253 253 051 Pre-fail Always - 0
            8 Seek_Time_Performance 0x0025 100 100 015 Pre-fail Offline - 9994
            9 Power_On_Hours 0x0032 098 098 000 Old_age Always - 9554
            10 Spin_Retry_Count 0x0033 100 100 051 Pre-fail Always - 0
            11 Calibration_Retry_Count 0x0012 100 100 000 Old_age Always - 0
            12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 388
            13 Read_Soft_Error_Rate 0x000e 099 099 000 Old_age Always - 469
            183 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
            184 Unknown_Attribute 0x0033 100 100 099 Pre-fail Always - 0
            187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 469
            188 Unknown_Attribute 0x0032 100 100 000 Old_age Always - 0
            190 Airflow_Temperature_Cel 0x0022 079 071 000 Old_age Always - 21 (Lifetime Min/Max 21/21)
            194 Temperature_Celsius 0x0022 077 071 000 Old_age Always - 23 (Lifetime Min/Max 21/23)
            195 Hardware_ECC_Recovered 0x001a 100 100 000 Old_age Always - 20940413
            196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
            197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 2
            198 Offline_Uncorrectable 0x0030 100 100 000 Old_age Offline - 1
            199 UDMA_CRC_Error_Count 0x003e 100 100 000 Old_age Always - 0
            200 Multi_Zone_Error_Rate 0x000a 100 100 000 Old_age Always - 0
            201 Soft_Read_Error_Rate 0x000a 099 099 000 Old_age Always - 15

            J'imagine que c'est cette partie qui est intéressante. Avant cela il y a la liste des "capabilities" du disque, et après c'est le log d'erreurs que j'ai mis plus haut. J'ai mis qu'une erreur sur les 5, mais ça prendrait trop de place les 5.
            • [^] # Re: disque qui rend l'âme

              Posté par  . Évalué à 2.

              Bon, le Hardware ECC Recovered déjà ne veut rien dire, avec une valeur comme ça c'est une erreur.
              Par contre, on voit des erreurs de lecture, et des secteurs qui ont commencé à déchanter. Si comme indiqué plus bas, tu as essayé d'écrire des zéros partout, c'est bien, mais c'est une solution temporaire, je dirais. Prépare bien tes backups ...
        • [^] # Re: disque qui rend l'âme

          Posté par  . Évalué à 1.

          Il faudrait le résultat d'un "smartctl -a /dev/hdc" pour discriminer les causes d'erreur.
        • [^] # Re: disque qui rend l'âme

          Posté par  (site web personnel) . Évalué à 3.

          >> Error 220 occurred at disk power-on lifetime: 0 hours (0 days + 0 hours)
          > 220 erreurs..arg

          Toi, t'as oublié d'assister à tes cours d'anglais…

          T'as UNE erreur. Et son code c'est 220.
          T'as maintenant le droit de chercher à quoi cette erreur correspond en lisant la doc de smarctl ou de ton disque dur.
      • [^] # Re: disque qui rend l'âme

        Posté par  . Évalué à 2.

        Bon alors le test long il s'est arrêté:

        Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
        # 1 Extended offline Completed: read failure 90% 9554 8387416

        C'est pas bon cette histoire.
        • [^] # Re: disque qui rend l'âme

          Posté par  (site web personnel) . Évalué à 1.

          C'est pas bon, mais il suffit parfois d'écrire sur les bloques incriminés pour que le disque dur s'auto répare. Il y a 3 ou 4 ans j'avais une read-failure lors du test long sur mon portable. Depuis j'ai réecris à l'endroit incriminé du disque. Le contrôleur a probablement réalloué les emplacements défectueux et mon disque dur de portable se porte comme un charme.

          « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

        • [^] # Re: disque qui rend l'âme

          Posté par  . Évalué à 1.

          On dirait bien que c'est le disque.
          Il faut surveiller les read error rate pour voir l'évolution, pour le moment ce n'est pas trop catastrophique. La seule chose à faire, c'est de sauvegarder tes données et attendre...
          • [^] # Re: disque qui rend l'âme

            Posté par  . Évalué à 2.

            J'ai lu ce lien: http://smartmontools.sourceforge.net/badblockhowto.html
            Je suis en train de faire "dd if=/dev/zero of=/some/mount/point bs=4k" comme suggéré pour réallouer les secteurs, je verrai ensuite.

            Les autres méthodes décrites je sais pas comment les mettre en oeuvre, vu que la partition sur mon disque défectueux est une partition LVM...

            Bon en tout cas merci des réponses, ça m'a bien aidé :)
            • [^] # Re: disque qui rend l'âme

              Posté par  . Évalué à 2.

              Alors après avoir créé ce fichier, j'ai relancé le selftest en long cette nuit, résultat: "completed without error".
              Un "smartctl -a /dev/sdc" me donne 0 "Current_Pending_Sector", toujours des Raw_Read_Error_Rate ou Soft_Read_Error_Rate, et toujours un nombre délirant de Hardware_ECC_Recovered.
  • # Même type de bug

    Posté par  . Évalué à 1.

    J'ai déjà vue cela.

    Force dans le BIOS le mode, pour le mettre dans le mode PIO/DMA le plus petit(réduire la vitesse de transférer).
    Et backup vite les données...


    Enfin, chez moi j'ai fait ça, avec le même symptôme... Mais ça veux dire aussi que ton HDD est malade.

Suivre le flux des commentaires

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