Surveiller l’état de santé des disques sous Linux avec SMART
- Mise à jour le 19 juil. 2025
Intro
Selon Wikipedia, S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) est un système de surveillance intégré à la plupart des disques durs (HDD) et des disques SSD. Il permet de détecter et signaler divers indicateurs de fiabilité, afin d’anticiper les pannes matérielles potentielles.
Dans ce guide, nous verrons comment lire les attributs SMART à l’aide de l’outil smartctl
sur les systèmes GNU/Linux.
Configuration
- Système : Debian 12 Bookworm
- Version de smartmontools : 7.3
Installation
Installez smartmontools depuis les dépôts officiels de Debian :
root@host:~# apt update && apt install smartmontools
Commandes
Commandes de base
- Vérifier si SMART est activé sur le disque :
root@host:~# smartctl -i /dev/<device>
- Activer la prise en charge de SMART :
root@host:~# smartctl -s on /dev/<device>
- Afficher tous les attributs SMART :
root@host:~# smartctl -a /dev/<device>
- Vérifier les attributs critiques. Dans l’exemple ci-dessous, une panne de disque est imminente :
root@host:~# smartctl -a /dev/<device> | grep -Ei "Reallocated|Spin.*Retry|SATA*Downshift|End-to-End|Reported.*Uncorrectable|Timeout|Reallocation|Current.*Pending|Uncorrect|TA.*Counter|Drive.*Life.*Protection"
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 408
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
187 Reported_Uncorrect 0x0032 075 075 000 Old_age Always - 25
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
Contrôleurs RAID
Contrôleur Dell PERC
- Vérifier le disque numéro 8 derrière le contrôleur MegaRAID :
root@host:~# smartctl -a -d megaraid,8 /dev/sda
Contrôleur HP Smart Array
- Vérifier le disque numéro 1 derrière le contrôleur CCISS :
root@host:~# smartctl -a -d cciss,0 /dev/sda
Lancer des tests SMART
Cette section montre comment exécuter différents autotests SMART sur un disque.
Test court
- Test rapide avec une grande probabilité de détecter un problème matériel :
root@host:~# smartctl -t short /dev/<device>
Test long
- Effectue un balayage complet de la surface du disque :
root@host:~# smartctl -t long /dev/<device>
Test de transport
- Détecte d’éventuels dégâts survenus lors du transport du disque :
root@host:~# smartctl -t conveyance /dev/<device>
Vérifier l’état actuel des tests
- Voir l’avancement ou le résultat des autotests en cours ou terminés :
root@host:~# smartctl -l selftest /dev/<device>
Afficher un résumé de l’état de santé
- Afficher un état rapide de santé du disque :
root@host:~# smartctl -H /dev/<device>
Rechercher les erreurs
- Consulter les journaux des tests précédents et les erreurs enregistrées :
root@host:~# smartctl -l selftest /dev/<device>
root@host:~# smartctl -l error /dev/<device>