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 valeur
s (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
.
[center]= =[/center]
À 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.