Température et santé du stockage
Qu’est-ce que hddtemp ?
Section intitulée « 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
Section intitulée « 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
Section intitulée « Alternatives à hddtemp »Manuelles
Section intitulée « 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.Fenêtre de terminal sudo smartctl -A /dev/sdX | grep Temperature_Celsius -
nvme-cli : Pour les disques NVMe,
nvme-clifournit des informations détaillées sur la santé du disque, y compris la température.Fenêtre de terminal sudo nvme smart-log /dev/nvmeX | grep temperature
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
Section intitulée « 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 38ST10000VE0008-2PQ103 sdc PASSED 0 372325321 0 0 11877 34Installation de Hddtemp
Section intitulée « Installation de Hddtemp »Warning
Quand il est installable…ce qui n’est plus le cas sous Debian 12 !!
apt-get install hddtemp
Usage de Hddtemp
Section intitulée « Usage de Hddtemp »hddtemp -d /dev/sd[abcde]