Température et santé du stockage
Qu'est-ce que hddtemp
?
hddtemp
est un utilitaire en ligne de commande permettant de surveiller la température des disques durs sous Linux. Il fonctionne en récupérant les informations S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) des disques pour afficher leur température. Cet outil peut être utilisé pour prévenir la surchauffe des disques, un facteur qui pourrait entraîner une défaillance matérielle.
Support de hddtemp
dans les distributions Linux récentes
hddtemp
était historiquement disponible dans de nombreuses distributions Linux. Cependant, en raison de son manque de maintenance récente, il a été retiré de certaines distributions majeures, notamment Debian. Voici un tableau récapitulatif de la disponibilité de hddtemp
dans les deux dernières versions des principales distributions Linux :
Distribution | Version | Disponibilité de hddtemp |
---|---|---|
Debian | 12 (Bookworm) | Non disponible |
11 (Bullseye) | Disponible | |
Ubuntu | 23.04 | Non disponible |
22.04 (LTS) | Disponible | |
Linux Mint | 21.2 (Victoria) | Non disponible |
21.1 (Vera) | Non disponible | |
RHEL | 9 | Non disponible |
8 | Non disponible | |
Fedora | 38 | Non disponible |
37 | Non disponible |
Alternatives à hddtemp
Manuelles
Pour les distributions où hddtemp
n'est plus disponible, il existe plusieurs alternatives pour surveiller la température des disques :
-
smartctl : Utilitaire faisant partie du paquet
smartmontools
, il permet de récupérer des informations S.M.A.R.T. plus détaillées sur les disques durs et les SSD, y compris la température. -
nvme-cli : Pour les disques NVMe,
nvme-cli
fournit des informations détaillées sur la santé du disque, y compris la température.
Comme mentionné précédemment, hddtemp
utilise les données S.M.A.R.T. des disques pour déterminer la température. Les informations S.M.A.R.T. sont un ensemble d'attributs surveillant la fiabilité des disques durs et des SSD. Cela inclut non seulement la température, mais aussi d'autres indicateurs clés comme le nombre de secteurs réalloués, les erreurs de lecture et d'écriture, et les temps de démarrage. Pour accéder à ces informations sans hddtemp
, les outils comme smartctl
sont recommandés.
Par script
En remplacement du défunt programme "Hddtemp" sous Debian.
#!/bin/bash
STR="MODEL|DEV|TESTS|REALLOCATED_SECTORS|SEEK_ERRORS|PENDING|UNCORRECTABLE_SECTORS|RUN_HOURS|TEMPERATURE\n"
while read DISK; do
INFO=$(smartctl -a "${DISK}")
MODEL=$(echo "${INFO}"|grep "Device Model"|sed 's/Device Model: *//')
if [[ -z "${MODEL}" ]]; then
MODEL="-"
fi
TESTS=$(echo "${INFO}"|grep "overall-health"|sed 's/overall-health: *//'|sed 's/ //g'|cut -d ":" -f2)
if [[ -z "${TEST}" ]]; then
TEST="-"
fi
REALLOC=$(echo "${INFO}"|grep "Reallocated_Sector_Ct"|sed 's/Reallocated_Sector_Ct: *//'|sed 's/.*-//g'|sed 's/ //g'|cut -d "(" -f1)
if [[ -z "${REALLOC}" ]]; then
REALLOC="-"
fi
SEEK=$(echo "${INFO}"|grep "Seek_Error_Rate"|sed 's/Seek_Error_Rate: *//'|sed 's/.*-//g'|sed 's/ //g'|cut -d "(" -f1)
if [[ -z "${SEEK}" ]]; then
SEEK="-"
fi
PENDING=$(echo "${INFO}"|grep "Current_Pending_Sector"|sed 's/Current_Pending_Sector: *//'|sed 's/.*-//g'|sed 's/ //g'|cut -d "(" -f1)
if [[ -z "${PENDING}" ]]; then
PENDING="-"
fi
UNCORRECT=$(echo "${INFO}"|grep "Offline_Uncorrectable"|sed 's/Offline_Uncorrectable: *//'|sed 's/.*-//g'|sed 's/ //g'|cut -d "(" -f1)
if [[ -z "${UNCORRECT}" ]]; then
UNCORRECT="-"
fi
HOURS=$(echo "${INFO}"|grep "Power_On_Hours"|sed 's/Power_On_Hours: *//'|sed 's/.*-//g'|sed 's/ //g'|cut -d "(" -f1)
if [[ -z "${HOURS}" ]]; then
HOURS="-"
fi
TEMP=$(echo "${INFO}"|grep "Temperature_Celsius"|sed 's/.*-//g'|sed 's/ //g'|cut -d "(" -f1)
if [[ -z "${TEMP}" ]]; then
TEMP="-"
fi
STR="${STR}\n${MODEL}|$(echo ${DISK}|sed 's/\/dev\///g')|${TESTS}|${REALLOC}|${SEEK}|${PENDING}|${UNCORRECT}|${HOURS}|${TEMP}"
done < <(ls /dev/sd?|tr " " "\n")
echo -en "${STR}"|column -s "|" -t
Visualisation des résultats
MODEL DEV TESTS REALLOCATED_SECTORS SEEK_ERRORS PENDING UNCORRECTABLE_SECTORS RUN_HOURS TEMPERATURE
- sda - - - - - -
WDC WD102KRYZ-01A5AB0 sdb PASSED 0 0 0 0 1313 38
ST10000VE0008-2PQ103 sdc PASSED 0 372325321 0 0 11877 34
Installation de Hddtemp
Warning
Quand il est installable...ce qui n'est plus le cas sous Debian 12 !!