Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/08/2018, à 04:30

moko138

Parcages et température des disques rotatifs : compromis [tutoriel]

Beaucoup de disques rotatifs sont bien réglés en sortie d'usine, certains ont besoin d'être réglés.
Le problème, usure prématurée par excès de parcages du bras de lecture, avait initialement été médiatisé après la sortie des WD "Caviar Green", plus tard renommés "Blue", mais ils ne sont pas les seuls concernés.
  Une fâcheuse rumeur s'était répandue : il fallait, croyait-on, empêcher les parcages de ces disques : mais c'était tomber de Charybde en Scylla, parce que les parcages du bras de lecture limitent l'échauffement du disque, échauffement dont l'excès, lui aussi, est destructeur.
  Il faut donc trouver un compromis. Puis l'imposer. C'est l'objet de ce fil..



I) Marche à suivre pour déterminer les valeurs (selon la saison, le disque et le pc) de hdparm -B présentant un compromis satisfaisant entre parcages/heure et température.

Actions :
R1 - Avoir installé hdparm, hddtemp et smartmontools :

sudo apt-get install --no-install-recommends hdparm hddtemp smartmontools

R2 - Avoir identifié les disques de façon immuable, avec :

sudo lsblk -o name,fstype,size,label,mountpoint
ls -l /dev/disk/by-id/ 

qui vous donnera l'un des noms immuables du disque que vous avez l'habitude d'appeler sd<x>
     Ce nom ressemble à 
/dev/disk/by-id/scsi-SATA_Western_WDC1234_STA1234ABCD
     ou à
/dev/disk/by-id/scsi-SATA_Hitachi_HDT1234_STA123ABC123ABC

R10 - S"assurer, dans les paramètres système et/ou dans la gestion de l'énergie, que toute mise en veille du disque considéré et du système soit bien désactivée, au moins temporairement, (pour éviter de fausser les mesures) ;
R11 - S'assurer que le disque tourne normalement depuis au moins dix minutes (vidéo + navigateur habituel), sans quoi la température mesurée ne sera pas significative ;
R12 - Faire les mesures :

sudo hddtemp /dev/disk/by-id/(...)
sudo hdparm -B /dev/disk/by-id/(...)

Créer dans le home un rapport smart automatiquement daté à la minute près :

cd && sudo smartctl -s on -o on -a /dev/disk/by-id/(...) > smart_$(date +%Y%m%d-%Hh%M).txt

R13 - Continuer de faire tourner le disque dans les mêmes conditions pendant 60 minutes.
Il faut donc prévoir une vidéo de durée suffisante, et un minuteur ou un réveil ;
R14 - Après 60 minutes et quelques secondes, relancer la commande précédente ;

R20 - Ouvrir les deux rapports smart, noter la température finale et calculer la différence des champs :
  9 Power_On_Hours (total des heures, parfois des minutes, sous tension), la différence sera d'une heure si la procédure a été respectée,   et
193 Load_Cycle_Count (total des parcages) : là, premier résultat important, la différence vous indique exactement le nombre de parcages/heure de votre disque correspondant au nombre XXX retourné précédemment par sudo hdparm -B /dev/(...).


Ensuite, choix d'un nouveau nombre XXX
- Si la température du disque rotatif est inférieure à 38°C
diminuer le nombre de parcages/heure en augmentant entre 128 et 254 le nombre XXX retourné précédemment par sudo hdparm -B /dev/disk/by-id/(...)

sudo hdparm -B XXX /dev/disk/by-id/(...)

On a souvent intérêt à éviter 254 qui interdit tout parcage.
/!\ On a toujours intérêt à éviter 255 qui désactive l'APM (Advanced Power Management)

- Et si la température du disque rotatif est supérieure à 46°C
augmenter le nombre de parcages/heure en diminuant entre 128 et 254 le nombre XXX retourné précédemment par sudo hdparm -B /dev/disk/by-id/(...)

sudo hdparm -B XXX /dev/disk/by-id/(...)

Recommencer, autant de fois que nécessaire, en "R10" les tests, avec un XXX modifié, jusqu'à obtenir une température entre 38 et 46°C, pour un nombre de parcages/heure le plus bas possible.

  - -

Vous avez donc trouvé la valeur de hdparm -B XXX adaptée à votre matériel et à la saison.
Reste un problème à régler :

Ce réglage tend à sauter, en particulier en sortie de veille, mais pas seulement. Et dans ces cas-là, la température du disque peut grimper de 10°C en dix minutes ! (observé sur mon WD "Scorpio Blue")... Il faut donc confirmer le réglage périodiquement.


II) Confirmation périodique du réglage
À cet effet, je vous propose une tâche cron, à ajouter au fichier /etc/crontab, mais j'espère que d'autres contributeurs fourniront des solutions plus économiques.

Pour ajouter dans /etc/crontab ces deux lignes :
# Confirmer toutes les 10 minutes le réglage de hdparm
*/10      *       *       *       *       root       hdparm -B XXX /dev/disk/by-id/désignation-QUE-VOUS-COMPLÈTEREZ

vous modifierez ci-dessous "XXX" et "DÉSIGNATION" puis vous collerez dans un terminal la ligne unique modifiée :

echo -e "# Confirmer toutes les 10 minutes le réglage de hdparm\n*/10      *       *       *       *       root       hdparm -B XXX /dev/disk/by-id/DÉSIGNATION" | sudo tee -a /etc/crontab

Dans mon cas cela donne à peu près :

echo -e "# Confirmer toutes les 10 minutes le réglage de hdparm\n*/10      *       *       *       *       root       hdparm -B 248 /dev/disk/by-id/scsi-SATA_Western_WDC1234_STA1234ABCD" | sudo tee -a /etc/crontab

.

= =


À savoir :
A) Contrairement aux connexions Sata-Sata, bien des adaptateurs Sata-usb ne transmettent pas les infos hdparm -B ou hddtemp. Ex :

sudo hddtemp /dev/disk/by-id/(...)
/dev/(...): Hitachi HT(...):  lecteur connu, mais il ne possède pas de capteur de température.
sudo hdparm -B  /dev/disk/by-id/(...)
/dev/(...)
 APM_level	= not supported

Et quelques vieux modèles de disques ne supportent pas du tout la gestion des parcages par hdparm -B, quelle que soit la connexion entre le disque te la carte-mère.


B) Si l'ordinateur est mal ventilé (posé sur le lit sans couche d'air intermédiaire...) ou plein de poussière, il faudra bien sûr commencer par résoudre ces points.


C) Se rappeler que le nombre favorable de parcages/heure :
- varie énormément d'un modèle de disque à l'autre,donc pas de généralisation possible ;
- varie un peu selon la température ambiante : des adaptations saisonnières pourront s'imposer.


D) Vous avez remarqué que pour moduler le nombre XXX
[ dans le réglage de sudo hdparm -B XXX /dev/disk/by-id/(...) ]
je vous ai conseillé de jouer dans la fourchette 128-254,
et non dans la fouchette 1-127 pourtant équivalente... à une différence près :

man hdparm | grep -A9 "\-B"
       -B     Get/set Advanced Power Management feature, if the drive supports
              it.  A  low  value  means aggressive power management and a high
              value means better performance.  Possible  settings  range  from
              values  1  through  127 (which permit spin-down), and values 128
              through 254 (which do not permit spin-down).  The highest degree
              of  power  management  is  attained with a setting of 1, and the
              highest I/O performance with a setting of 254.  A value  of  255
              tells  hdparm to disable Advanced Power Management altogether on
              the drive (not all drives support disabling it, but most do).

  Cette différence, pour les non-anglophones :
Le fourchette 1-127 permet l'arrêt de la rotation du disque ; la fourchette 128-254 entretient la rotation.

  J'ai longtemps cru que les arrêts de la rotation limitaient l'usure des disques. Pourtant, malgré mon intuition, une longue fréquentation des rapports smart m'a convaincu du contraire :
  les disques qui durent sont ceux qui tournent sans arrêt ; les disques qui tombent en panne sont ceux auxquels on impose souvent de reprendre leur rotation ;
et si l'arrêt a été assez long pour permettre à la température de chuter sous la fourchette de température optimale (*), donc au métal de se rétracter, c'est encore pire.
  Car le moteur froid de votre voiture, il ne vous viendrait pas à l'idée de le pousser à 10.000 tours, n'est-ce pas ? Alors ménagez de même votre disque dur, chargé de vos précieuses données personnelles !
  Certains d'entre vous tenteront d'expérimenter le contraire : ils sont libres.


AJOUT du 28/10/2018
  Ce qui précède concerne l'usure par les écarts de température et par reprises de rotation.

  Si, en plus vous éteignez souvent votre ordinateur, ou vous débranchez souvent vos disques externes, que se passe-t-il ?
Comme vos ampoules électriques, à chaque extinction et à chaque allumage, chaque composant électronique ou électrique encaisse une surtension qui l'use un peu plus.
                                        FIN d'ajout

____
(*)

thouvest.ovh/pages/hdd_defectueux/ a écrit :

Une étude de Google (...) montrait que les disques durs ayant une température moyenne comprise entre 38 et 46 °C sont ceux tombant le moins souvent en panne. Cependant THOUVEST vous recommande de vous approcher plutôt de 38 °C que de 46 °C car la chaleur, même si elle ne provoque pas nécessairement de panne, peut engendrer la création de secteurs défectueux et des pannes électroniques. De plus, il faut songer aux périodes estivales et envisager les canicules.

Dernière modification par moko138 (Le 03/11/2018, à 04:56)


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#2 Le 25/08/2018, à 04:34

moko138

Re : Parcages et température des disques rotatifs : compromis [tutoriel]

Corrections saisonnières
(Sera complété)
(...)
Veille :
appliquette de température
psensor
lm-sensors


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#3 Le 25/08/2018, à 08:23

nam1962

Re : Parcages et température des disques rotatifs : compromis [tutoriel]

Waah ! Quel boulot !
Merci !


[ Modéré ]

Hors ligne

#4 Le 25/08/2018, à 09:28

Zakhar

Re : Parcages et température des disques rotatifs : compromis [tutoriel]

Excellent !

Il y a cependant d'autres raisons d'arrêter la rotation des disques mécaniques : le bruit, les chocs !

En effet, mon PC de bureau est tellement silencieux que j'entends le léger vrombissement du disque mécanique. Aussi j'ai fait un script pour l'arrêter au bout de 10 minutes. hdparm ne fonctionne pas dans ce cas là pour des raisons mystérieuses, même avec des paramètres en dessous de 127.
Comme le disque rotatif ne contient que des données "froides" (sauvegardes, fichiers accédés peu souvent, etc...) il est rare que j'en ai besoin au milieu d'une session. Si c'est le cas, j'ai un lanceur pour redémarrer le disque, mais dans la plupart des cas le disque va démarrer normalement au démarrage du PC, s'arrêter au bout de 10 minutes, et s'éteindre complètement à l'extinction du PC. Il sera donc en fait moins usé que si la rotation avait été maintenue.

Dans les rares cas où j'ai besoin des données "froides" après les 10 minutes, effectivement cela fait un démarrage de plus... mais c'est un compromis choisi malgré le petit supplément d'usure du disque, afin de bénéficier du maximum de silence !


L'autre cas où j'arrête spécifiquement le disque rotatif est quand je regarde des films dans le TGV. Copie du film sur le SSD (tant pis pour l'usure !) et arrêt du disque rotatif pour visionnage du film. Malgré les dispositifs sur le PC portables, dans un train le PC subit tout un tas de vibrations  continuelles qui sont sans doute bien plus dommageables qu'un arrêt/relance ! Ça Google ne l'a pas testé car leur statistiques proviennent de leurs centres informatiques où les disques sont posés sagement et ne subissent d'autres vibrations que celles des autres disques voisins (rien à voir avec un voyage en TGV !)

Dernière modification par Zakhar (Le 25/08/2018, à 09:30)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne