smartmontools : installation, configuration et surveillance des disques SMART

smartmontools permet de surveiller les disques durs/SSD via SMART, d’exécuter des autotests et de recevoir des alertes automatiques en cas de dégradation. Ce guide explique l’installation, l’utilisation en ligne de commande, la configuration du démon smartd, l’utilisation de GSmartControl et propose des procédures, checklists et conseils de réponse aux alertes.
Important
- Faites toujours une sauvegarde complète dès qu’une alerte SMART signale une erreur. Une alerte n’est pas une certitude, mais indique un risque élevé.
À propos de smartmontools
Le paquet smartmontools contient deux utilitaires : smartctl et smartd. Ils utilisent le système SMART (Self-Monitoring, Analysis and Reporting Technology) intégré à la plupart des disques ATA et SCSI modernes. smartctl interroge et teste les disques; smartd est un démon qui automatise les contrôles et envoie des alertes.
Définition rapide
- SMART : technologie embarquée dans les disques permettant d’enregistrer des attributs de santé et d’exécuter des autotests.
TL;DR technique
- Installer smartmontools, activer SMART sur le périphérique, lancer des autotests courts et longs, puis configurer smartd pour des vérifications et notifications automatiques. Utiliser GSmartControl pour une interface graphique.
Installation
Sur Debian/Ubuntu :
sudo apt-get install smartmontools
Assurez-vous que le disque est compatible SMART. Pour vérifier :
sudo smartctl -i /dev/sda
Remplacez /dev/sda par le périphérique réel (par ex. /dev/nvme0n1 pour NVMe ; smartctl admet des options -d pour certains contrôleurs).
Si SMART n’est pas activé, activez-le :
sudo smartctl -s on /dev/sda
Vérification et informations complètes
Obtenir toutes les informations SMART :
sudo smartctl -a /dev/sda
Pour les périphériques SATA explicites :
sudo smartctl -a -d ata /dev/sda
Vérifier l’état général de santé :
sudo smartctl -H /dev/sda
Si l’état Health indique un problème, sauvegardez immédiatement les données.
Tests SMART
smartctl propose plusieurs autotests : court, long et conveyance. Pour lister les capacités de test :
sudo smartctl -c /dev/sda
Démarrer un test long :
sudo smartctl -t long /dev/sda
Démarrer un test court :
sudo smartctl -t short /dev/sda
Démarrer un test de conveyance :
sudo smartctl -t conveyance /dev/sda
Notez que les tests s’exécutent en arrière-plan. Consultez le journal des autotests :
sudo smartctl -l selftest /dev/sda
Si des erreurs apparaissent dans les logs d’autotest ou les attributs SMART (secteurs réalloués, erreurs de lecture, taux d’erreur), planifiez une sauvegarde et remplacez le disque.
Configuration du démon smartd
smartd automatise les vérifications et l’envoi d’alertes. Pour démarrer smartmontools au démarrage :
sudo nano /etc/default/smartmontools
Décommentez la ligne qui démarre le service au boot si nécessaire.
Modifier la configuration des périphériques et des options dans /etc/smartd.conf :
sudo nano /etc/smartd.conf
Exemple de ligne pour un disque unique :
/dev/sda -m root -M exec /usr/share/smartmontools/smartd-runner
Signification rapide des options courantes
- -a : options courantes utiles (équivalent de plusieurs drapeaux).
- -H : vérifie le statut de santé SMART.
- -l error -l selftest : surveille les logs d’erreur et les autotests.
- -f : vérifie l’attribut d’utilisation.
- -s S/../.././02|L/../../6/03 : planning des autotests (court chaque jour à 02:00, long chaque samedi à 03:00).
- -m root : envoie un e-mail à root en cas d’alerte.
- -M exec : exécute le script smartd-runner pour actions personnalisées.
Si DEVICESCAN ne convient pas, précisez explicitement /dev/sda ou un autre périphérique.
Automatisation et notifications
Le script /usr/share/smartmontools/smartd-runner exécute des actions prédéfinies (notamment l’envoi de mail). Vous pouvez :
- Remplacer ou compléter smartd-runner par votre script de notification (Slack, PagerDuty, webhook).
- Utiliser -m pour envoyer les emails via le MTA local.
- Faire remonter les événements vers un système de monitoring central (Prometheus/Grafana via un exporter, SIEM, etc.).
Interface graphique GSmartControl
Pour une interface graphique :
sudo apt-get install gsmartcontrol
GSmartControl facilite l’exécution d’autotests et la lecture des attributs SMART pour des utilisateurs non expérimentés. Utilisez-la pour inspecter rapidement plusieurs disques.
Que faire en cas d’alerte SMART
Playbook de réponse rapide
- Sauvegarde immédiate
- Copiez les données critiques vers un stockage externe ou cloud.
- Collecte d’informations
- Exécutez : sudo smartctl -a /dev/sda
- Notez les attributs clefs : Reallocated_Sector_Ct, Current_Pending_Sector, Offline_Uncorrectable.
- Tests complets
- Lancez un test long : sudo smartctl -t long /dev/sda et attendez la fin.
- Évaluation
- Si Reallocated_Sector_Ct ou Current_Pending_Sector augmente, planifiez le remplacement.
- Remplacement et restauration
- Remplacez le disque et restaurez depuis sauvegarde ou reconstruisez le RAID.
- Post-mortem
- Archivez les logs smartctl et notez les étapes prises.
Incident runbook minimal
- Étape 1: snapshot/sauvegarde rapide
- Étape 2: collecter smartctl -a et smartctl -l selftest
- Étape 3: si possible, cloner le disque (ddrescue)
- Étape 4: remplacer le périphérique
- Étape 5: restaurer les données
Heuristiques pratiques et modèles mentaux
- Règle des 3 attributs : surveillez Reallocated_Sector_Ct, Current_Pending_Sector, Offline_Uncorrectable. Si l’un augmente, agissez.
- Priorité sauvegarde > diagnostic. Toujours sauvegarder d’abord.
- SMART peut ne pas prédire toutes les pannes mécaniques ou électroniques. Considérez-le comme un signal d’alerte, pas une certitude.
Quand SMART peut échouer ou être insuffisant
- Disques avec firmware défectueux qui n’envoient pas correctement les attributs.
- Pannes intermittentes liées au contrôleur/RAID qui masquent l’état SMART brut.
- SSD récents dont certains attributs SMART varient selon le fabricant et sont moins standardisés.
- Disques réseau/stockage SAN où SMART n’est pas exposé au système invité.
Approches alternatives
- Outils fabricants (SeaTools, WD Data Lifeguard) pour diagnostics spécifiques.
- Monitoring par lecture régulière de checksums de fichiers (détection de corruption silencieuse).
- Solutions hardware RAID avec monitoring intégré et alertes.
Checklist rapide pour les administrateurs
- Installer smartmontools
- Activer SMART sur tous les disques
- Lancer des tests courts initialement
- Configurer smartd pour exécuter des checks réguliers
- Configurer notifications (mail, webhook, SIEM)
- Documenter le plan de remplacement et testez la restauration
Critères d’acceptation
- smartd fonctionne et exécute des vérifications programmées.
- Les alertes SMART déclenchent une notification testée (e-mail ou webhook).
- Une procédure de sauvegarde et de restauration est en place et validée.
Exemples de configuration utiles
Ligne smartd recommandée pour un serveur simple :
DEVICESCAN -a -H -l error -l selftest -f -s(S/../.././02|L/../../6/03) -m [email protected] -M exec /usr/share/smartmontools/smartd-runner
Remplacez [email protected] par votre adresse d’alerte. Si vous n’avez pas smartd-runner, retirez le -M exec.
Sécurité et vie privée
- Les logs SMART peuvent contenir des identifiants matériels (numéros de série). Contrôlez l’accès à ces logs.
- Si vous envoyez alertes vers des services externes, assurez-vous que les canaux sont sécurisés et conformes à votre politique de confidentialité.
Compatibilité et migration
- NVMe : smartctl prend en charge NVMe via -d nvme et des périphériques /dev/nvme* ; utilisez la documentation pour options spécifiques.
- RAID matériel : souvent SMART est masqué par le contrôleur. Vérifiez si le contrôleur relaye SMART ou utilisez des outils du fabricant.
Modèle décisionnel (flowchart)
flowchart TD
A[Détection d'alerte SMART] --> B{Attribut critique augmenté ?}
B -- Oui --> C[Sauvegarde immédiate]
B -- Non --> D[Lancer tests longs]
D --> E{Tests OK ?}
E -- Non --> C
E -- Oui --> F[Surveiller et planifier remplacement selon tendance]
C --> G[Remplacer disque et restaurer]
F --> H[Revue périodique des logs]
G --> H
Glossaire rapide
- SMART : Self-Monitoring, Analysis and Reporting Technology.
- smartctl : utilitaire en ligne de commande pour interroger et tester les disques.
- smartd : démon qui automatise les contrôles SMART et les notifications.
Tests et critères d’acceptation techniques
- Test 1 : exécution de sudo smartctl -H /dev/sda doit renvoyer PASSED sur un disque sain.
- Test 2 : planification de test court via smartd et vérification dans smartctl -l selftest.
- Test 3 : génération d’une alerte test et réception de la notification par e-mail ou webhook.
Templates et commandes utiles (cheat sheet)
- Lister tous les disques détectés par smartctl :
sudo smartctl --scan
- Collecter une sortie complète pour diagnostic :
sudo smartctl -a /dev/sda > /var/log/smartctl-sda.log
- Lancer un test long et vérifier son état :
sudo smartctl -t long /dev/sda
sleep 10
sudo smartctl -a /dev/sda | grep -i selftest -A5
Bonnes pratiques
- Testez vos scripts de notification régulièrement.
- Ne vous fiez pas à un seul indicateur : corrélez plusieurs attributs SMART.
- Intégrez SMART à votre chaîne de monitoring pour corrélation avec métriques système.
Résumé
smartmontools fournit des outils robustes pour surveiller la santé des disques via SMART. Installez smartmontools, activez SMART, exécutez des tests, et configurez smartd pour automatiser les vérifications et les notifications. Complétez par GSmartControl si vous préférez une interface graphique. Dès qu’une alerte apparaît, sauvegardez, collectez les logs, lancez des tests complets et remplacez le disque si nécessaire.
Notes
- Consultez les pages de manuel pour approfondir : man 8 smartctl, man 8 smartd, man 5 smartd.conf.
Liens
- smartmontools.org
Matériaux similaires

Infographies et visualisation de données efficaces

7 conseils pour vidéos cinématiques au smartphone

Accélérer Google Chrome : 9 méthodes efficaces

Corriger erreur EA AntiCheat pilote incompatible

Tether : Android comme modem sans root
