Forum Linux.général AAM (Automatic Accoustic Management)

Posté par  .
Étiquettes : aucune
0
5
mar.
2005
Salut à tous !

Je suis en train de regarder hdparm pour la gestion du paramètre AAM des disques dur récents qui permet d'avoir un contrôle sur le niveau sonore d'un disque dur. Mais il est marqué que l'option est peu testée et qu'elle est à utiliser à nos risques et périls...

Des gens ont testé ?
  • # hmmm

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

    l AAM est une technique qui permet deux choses en meme temps:
    - but premier: attenuer le bruit
    - economiser de l energie.

    Les deplacements de la tete de lecture sont le point critique qui ralentissent le temps d acces au premier octet d un fichier. Pour reduire ce temps d acces, il faut que la tete bouge le plus vite possible. Cela est effectue par une impulsion de courant tres forte dans les bobinages. Plus on veut un deplacement rapide, plus l impulsion doit etre forte.

    La physique dit que pour un meme deplacement, plus les accelerations et decelerations sont grandes, plus grande est la consommation totale d ennergie, et les pertes.

    Dites vous que la tete peut bouger de 1 a 3 cm en quelsques micro secondes, de position a position ( d arret a arret). Pour que ca ailles vite, les courants sont gigantesques.

    Ce qui fait du bruit, ce n est pas le deplacement de la tete lui meme, mais l acceleration bruptale en debut et fin de deplacement. Imaginez, si elle peut produire du bruit, alors elle implique une impulsion mechanique tres forte. Chaque deplacement induit donc une onde de choc, partielelment auhible, partiellement transmise dans le disque.

    Il y as eu des virus qui se basaient sur ce phenomene: ils etudiaient la geometrie du disque, puis mesuraient sa taille totale. Apres quelques calculs rapident, ils determinaient la distance entre les secteurs, et la frequence de raisonnance du bras des tetes. Une petite routine effectuais ensuite des acces disque entre deux secteurs bien precis, a une cadence precise, pendant le plus longtemps possible ( imaginez que sous MS-DOS a l epoque il etait trivial de prendre le controle total du disque). Pendant 1 ou 2s le disque fesait un bruit horrible, puis sous la raisonnance mecanique de l operation, le bras des tetes cassait tres vite ( moins de 10s) ... bref, pas meme le temps d appyer sur power.

    Les disque modernes sont proteges contre de telles attaques. De toute facon, sous Linux, un controle si bas niveaux du disque est interdit aux utilisateurs. ( mais sous XPHome, je garentie rien)

    [AMHA]
    hdparm dit que l AAM est encore meconnu, parce que tres recent, et mal documenté par les constructeurs.

    Mais j ai mes certitudes: utiliser un AAM fort
    - reduit le courant dans les bobinages, donc reduit les pics de consommation.
    - diminue les chocs mecaniques dues aux accelerations, donc prolonge la duree de vie du bras et de son roulement.
    - diminue considerablement le bruit audible pour une station de travaille
    - reduis de maniere peu significative ( 5 a 8%) le temps d acces aux fichiers.

    Si vous lisez un gros fichier, l AAM n as aucun effet, puisque les secteurs d un meme fichier sont contigus ( du moins sur nos ext* ... vu la fragmentation en FAT ... c est autre chose ^^ )
    [/AMHA]

    j espere avoir ete clair :)

    tous les disque ne le suportent pas: mes deux IBM de 40 et 60G l avaient il y as 3 ou 4 ans, le 30G de mon portable qui as deux ans ne l as pas.

    Tant que tu est dans les utilitaires HDD, trifouilles aussi hddtemp ... j ai vu sur un MRTG reportant la temperature HDD 24/24 des variations interessantes de temperature jour vs nuit refletant la mauvaise qualite de la climatisation d une salle server ... c est pas juste un truc de geek a la maison: un bon MRTG meme sur un server peut reveler des phenomenes inattendus. J attends l ete voir si la clim lutte plus que cet hivers :) On payes pour etre a 16°, si je vois des variations de +/- 2° jour nuit deja en janvier, vous me ferez pas croire qu il fait tout le temps 16 dans la salle.
    • [^] # Re: hmmm

      Posté par  . Évalué à 2.

      Tant que tu est dans les utilitaires HDD, trifouilles aussi hddtemp

      Il y a aussi les outils smartctl qui donnent plein d'informations intéressantes, et servent à prévoir les défaillances matérielles de disques durs. Fini le disque dur qui claque de manière imprévu ! Et entre autre, ça donne la température du disque.
      Je pense d'ailleurs que hddtemp doit utiliser le protocole SMART pour avoir cete valeur.
      • [^] # Re: hmmm

        Posté par  . Évalué à 1.

        wow, une réponse bien complète ! merci !

        si je synthètise par rapport à ma question : ya pas de risque, et tu as essayé.
        • [^] # Re: hmmm

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

          si: le dev de hdparm as lu des docs technique auxquelles je n ai psa acces, et si il dit que c est beta et rique, c est que c est risque.

          Maintenant, je prefere largement utiliser un hdparm avec un efanction beta qui marche tres bien, qu un logiciel commercial qui dit que c est sans risque ( ou du moins te le fait croire), et te flingue tes donnees.

          Moi je n ai eu aucun probleme.

          Mais ce que j en dit :
          * This message is distributed in the hope that it will be useful,
          * but WITHOUT ANY WARRANTY; without even the implied warranty of
          * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
      • [^] # Re: hmmm

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

        non je ne penses pas que hddtemp utilise SMART ... une sorte d apriori sur la chose ...

        man tu me sauve la vie: ca fait un mois que j ai des doutes sur un dur, je je savais pas comment le tester. Mon BIOS ne supporte pas SMART, mais le disque oui ... je vais enfin pouvoir l analyser.

        J espere que je vais pouvoir analyser apres coup, meme si le demon n as pas tourne pendant 2 ans ...

        si tu pouvais m eclairer la dessus:

        Self-test execution status: ( 0) The previous self-test routine completed
        without error or no self-test has ever
        been run.

        Error 30 occurred at disk power-on lifetime: 8906 hours (371 days + 2 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
        -- -- -- -- -- -- --
        84 51 01 cf 50 0f e0 Error: ICRC, ABRT 1 sectors at LBA = 0x000f50cf = 1003727

        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 40 90 50 0f e0 00 2d+01:54:19.045 READ DMA
        c8 00 40 50 50 0f e0 00 2d+01:54:19.043 READ DMA
        c8 00 40 10 50 0f e0 00 2d+01:54:19.042 READ DMA
        c8 00 40 d0 4f 0f e0 00 2d+01:54:19.040 READ DMA
        c8 00 40 90 4f 0f e0 00 2d+01:54:19.039 READ DMA

        Error 29 occurred at disk power-on lifetime: 7350 hours (306 days + 6 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
        -- -- -- -- -- -- --
        84 51 01 66 9b d6 e1 Error: ICRC, ABRT 1 sectors at LBA = 0x01d69b66 = 30841702

        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 10 57 9b d6 e1 00 1d+08:59:30.359 READ DMA
        ca 00 10 b7 2b b8 e1 00 1d+08:59:30.359 WRITE DMA
        c8 00 10 b7 2b b8 e1 00 1d+08:59:30.334 READ DMA
        ca 00 10 57 3a 36 e2 00 1d+08:59:30.333 WRITE DMA
        c8 00 10 57 3a 36 e2 00 1d+08:59:30.297 READ DMA

        Device does not support Selective Self Tests/Logging

        :(

        9,temp - Raw Attribute number 9 is the disk temperature in Celsius. ah ben t as raison :)

        Mon but est de savoir quand est ce que hda aura des badblocks ... ou un probleme de roullement: parce que le pauvre tourne h24, et ca m est arrive sur une machine que quand la tete bouges pas assez, la surface surchauffe, s effritte, et apres le dur claque en 6h. ( ca m est arrive le 26/12/2001).
        • [^] # Re: hmmm

          Posté par  . Évalué à 2.

          je ne penses pas que hddtemp utilise SMART

          Et pourtant, dans la page man de hddtemp :

          hddtemp will give you the temperature of your hard drive by reading Self-Monitoring Analysis and Reporting Technology (S.M.A.R.T) information


          si tu pouvais m eclairer la dessus

          Bin je ne suis pas du tout un pro de smart :) et en plus, je ne sais pas quelle commande tu as lancé exactement.

          En lançant "smartctl -a /dev/hda", j'ai un tableau de valeurs, avec des colonnes nommées "VALUE" "THRESH" (pour theshold), "WORST", et "TYPE".

          Si la valeur de VALUE est inférieure à THRESH, alors tu peux commencer à t'inquiéter, WORST étant la moins bonne valeur de VALUE enregistrée depuis la naissance du disque dur.
          La colonne TYPE indique la gravité d'un éventuel dépassement de la valeur THRESH. "Old_age" signifie que si VALUE < THRESH, c'est que le disque est usé par usure normale. "Prefail" indique que tu vas pas tarder à avoir une panne, et qu'il serait malin de penser à sauvegarder tes données.

          Mais en gros, il vaut mieux avoir la colonne nommée WHEN_FAILED totalement vide. Si ce n'est pas le cas, le contenu de la colonne t"indique combien de fois VALUE a été inférieur à TRESH. Et si tu vois un malehureux FAILING_NOW, commence à avoir des sueurs froides :)

          La plupart des valeurs du tableau peuvent être rapatriées sans interruption du fonctionnement du disque (valeurs qui ont un "Always" dans la colonne UPDATED). Certaines valeurs ne peuvent être lu qu'après un test (option -t de smartctl). Ces test peuvent être plus ou moins longs.

          Tu devrais trouver plus de détails sur le grand Ternet, ou dans la page man de smartctl.
          • [^] # Re: hmmm

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

            bon ... impossible de paster ici, ca perd l indentation; c est la: http://doublehp.ath.cx/tmp/smart.txt(...)

            tu peux m aider a interpertter les Old_age et Pre-fail ?

            ah puree, oui Power_On_Hours est tres bas, et Load_Cycle_Count est sous le niveau de la mer :( mais est ce que ces deux indics sont vraiment des facteurs importants ?

            ah oui ... j ai quand meme 4 prefail :/
            je fais deja des backups toutes les semaines, et je planifies un achat de disque pour paques ( si j ai une bonne paye le 21/03) ...

            WHEN_FAILED lol .. tu vas rire : 600000 alertes ...

            et non je ne trouves pas la siginfication des "ATTRIBUTE_NAME" dans la man page ... je vais de ce pas sur la grande terre nette, et sur IRC.

            Bon ... en gros, il faut VRAIMENT que je m achetes un dur tres vite :/

            Sinon, j utilises 2 disque ATA100 3''1/2 classiques dans des boitiers externes FireWire ... ils sont fatalement reconnus par Linux comme sda et sdb, et je ne suis pas tres surpris que smartctl n arrives pas a leur parler, mais est ce que je peux obtenir leurs stats autrement sans devoir les inserer dans une tour ? d autres outils qui peuvent passer au dessu de l emulation SCSI ? meme sous windows si il faut ...
            • [^] # Re: hmmm

              Posté par  . Évalué à 2.

              Les lignes avec "Pre-fail" sont normales, la colonne n'indiquant que la façon d'interpréter les données, ce n'est pas le résultat d'une quelconque mesure. Pas de quoi s'inquiéter donc.

              La seule ligne (du tableau) qui peut t'inquiéter c'est celle-ci :
              225 Load_Cycle_Count 0x0032 038 038 070 Old_age Always FAILING_NOW 629117

              http://smartlinux.sourceforge.net/smart/attributes.php(...) me dit que Load_Cycle_Count signifie "Total of cycles of loading on drive", ce que je ne comprends malheureusement pas :/
              En tout cas, la dernière colonne dit que ton disque as eu 629117 "cycles de chargement" (je ne sais pas la traduction exacte, ni le sens).
              L'avant-dernière colonne contenant FAILING_NOW te dit que la panne peut survenir à tout instant.

              Toutes les autres lignes sont normales.

              Sinon, apparemment, SMART passe très bien au-dessus de ton emulation SCSI. la preuve, il arrive à rapatrier le tableau des valeurs qui nous intéressent.

              Les lignes "Error 30" jusqu'à "Error 26" ne sont pas des erreurs de smartctl, mais le contenu du log de ton disque dur. Aux dates indiquées, ton disque dur a eu du mal à lire quelques secteurs... Celà signifie certainement qu'il y avait déjà des blocs défectueux. Seulement, ton disque dur a réaffecté ces secteurs (au niveau hardware). Donc si tu fais un badblocks, il ne trouvera pas forcément des secteurs défectueux.

              La dernière ligne de ton fichier :
              Device does not support Selective Self Tests/Logging
              signifie apparemment que c'est ton disque dur et non la couche d'émulation SCSI ou je ne sais quel autre entité qui ne supporte pas le "Selective blabla".

              Maintenant, je te préviens, je ne connais a priori pas grand chose de plus que toi au niveau de SMART. Je te dis juste comment je fais moi-même l'interprétation des mesures. Je ne sais pas si ces interprétations sont justes.

              En tout cas, ce qui est a peu près sûr, c'est qu'il est bon que tu sauvegardes tes données.

              Bon courage et bonne chance en tout cas !
              • [^] # Re: hmmm

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

                non ... le log que tu as lu est hda ... mes disque externes sont sda et sdb ... et la :

                # smartctl -a /dev/sda
                smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen
                Home page is http://smartmontools.sourceforge.net/(...)

                Device: ST312002 6A Version:
                Device type: disk
                Local Time is: Sun Mar 6 19:40:51 2005 GMT
                Device does not support SMART

                Device does not support Error Counter logging
                Device does not support Self Test logging

                et vu que ces deux disque sont tres recents ( 120G et 200G), je peux pas croire qu ils aient pas de SMART ... je pense donc que c est l emulation SCSI qui filtre.
  • # \_o<

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

    IdoMcfly desole de squatter ton journal, mais c est tellement confortable ici :)

Suivre le flux des commentaires

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