logo rss

Surveiller l’état de santé des disques sous Linux avec SMART

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>