-
Surveiller vos disques durs avec Smartmontools
La technologie SMART (Self-Monitoring Analysis and Reporting Technology) est une technologie permettant de surveiller un disque dur afin de tenter de prédire si ce dernier risque de tomber en panne prochainement.
Pour cela, SMART se base sur plusieurs paramètres tels que la températures des disques durs, les heures de fonctionnement, le nombre d’arrêts / démarrages ou bien encore les problèmes de secteurs instables et erreurs incorrigibles.
Smartmontools rassemble plusieurs utilitaires (smartctl et smartd) qui vont surveiller et contrôler de l'état des disques.
smartcl permet de lancer des tests, de visualiser les résultats de ces tests et d'avoir plusieurs informations sur un disque.
smartd va analyser de manière périodique (toutes les 30 minutes par défaut), les paramètres fournis par le disque dur.
Pour installer smartmontools sur une distribution type "Debian" la commande est la suivante :
sudo apt-get install smartmontools
Maintenant que smartmontools est installé, je vais lister mes disques avec la commande :
sudo fdisk -l
Ici la commande me liste les disques /dev/sda et /dev/sdb
(cliquer sur l'image pour l'agrandir)
J'active le SMART sur ces disques avec les commandes suivantes :
sudo smartctl --smart=on --offlineauto=on --saveauto=on /dev/sda
sudo smartctl --smart=on --offlineauto=on --saveauto=on /dev/sdb--smart=on : Pour Activer le support SMART
--offlineauto=on : pour activer la collecte des données hors connexion.
--saveauto=on : Pour activer la sauvegarde automatique des attributs.
Je vais maintenant voir quels sont les informations de base disponibles sur les disques avec les commandes suivantes :
sudo smartctl -H -i /dev/sda
sudo smartctl -H -i /dev/sdb
-H Pour demander au disque d'afficher son état de santé
-i Pour permettre de visualiser entre autres le modèle, le numéro de série, la version du firmware, les informations de version / révision standard ATA et d'indiquer également si le disque prend en charge SMART, et si oui, si le support SMART est actuellement activé ou désactivé.
On peut voir en retour entre autres le modèle du disque, son numéro de série, la capacité, si le disque est compatible SMART, si celui-ci est activé sur le disque et l'état de santé du disque.
(cliquer sur l'image pour l'agrandir)
(cliquer sur l'image pour l'agrandir)
Je vais maintenant lancer un test rapide sur le disque /dev/sda avec la commande suivante:
sudo smartctl -t short /dev/sda
-t short pour indiquer à smartctl d'effectuer un test court immédiatement
Et je vais accéder au résultat du test avec la commande suivante :
sudo smartctl -l selftest /dev/sda
ici, le test nous retourne "Completed without error", donc tout va bien.
(cliquer sur l'image pour l'agrandir)
Liste des attributs SMART les plus courants :
(cliquer sur l'image pour l'agrandir)
Vous pouvez voir les options de smartctl ici:
Nous allons maintenant activer le daemon smartd afin que les tests soient automatisés.
Pour cela il faut editer le fichier smartmontools à l'aide de la commande suivante :
sudo nano /etc/default/smartmontools
Ensuite, il faut décommenter les lignes :
start_smartd=yes (pour activer le daemon)
smartd_opts="--interval=1800" (intervalle entre chaque contrôle)
Enregistrer le fichier et redémarrer le daemon avec la commande :
sudo /etc/init.d/smartmontools restart
(cliquer sur l'image pour l'agrandir)
Il est également possible d'installer le paquet smart-notifier qui ouvrira une fenêtre d'avertissement si un problème est detecté avec la commande suivante :
sudo apt-get install smart-notifier
Ensuite, il faut tester que smart-notifier fonctionne avec la commande suivante :
sudo sh -c 'echo test de smartd | smart-notifier --notify'
Si cette fenêtre s'affiche, c'est que smart-notifier fonctionne
(cliquer sur l'image pour l'agrandir)
Il est également possible de recevoir des alertes mail si vous avez un relais mail de configuré.
Pour tester l'envoi des mails de smartd, il faut ouvrir le fichier smartd.conf avec la commande:
sudo nano /etc/smartd.conf
Commenter la ligne DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/smartd-runner (1) et ajouter la ligne DEVICESCAN -m votre adresse mail -M test (2).
Redémarrer ensuite smartd avec la commande :
sudo /etc/init.d/smartmontools restart
(cliquer sur l'image pour l'agrandir)
Je regarde ensuite mes mails et je vois que le mail de test a bien été envoyé.
Après le test d'envoi de mail supprimer la ligne DEVICESCAN -m votre adresse mail -M test dans smartd.conf et décommenter DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/smartd-runner.
(cliquer sur l'image pour l'agrandir)
Pour terminer, je vais activer l'automatisation des tests de mes disques durs en rajoutant 2 lignes à la fin du fichier smartd.conf
Je vais demander à smartd de vérifier les disques /dev/sda et /dev/sdb, de m'alerter en warning si la température du disque dépasse les 40 degrés et en critical si la température dépasse les 45 degrés et également de m'alerter si la température a changé d'au moins 10 degrés depuis le dernier rapport (-W 10,40,45) .
Je vais également demander à smartd de faire un test court tous les jours à 3heures du matin et un test long tous les lundi à 1 heure du matin (-s (S/../.././03|L/../../1/01).
En cas d'alerte un mail me sera envoyé (-m michaelbonnard@sfr.fr -M exec /usr/share/smartmontools/smartd-runner).
/dev/sda -a -o on -S on -W 10,40,45 -s (S/../.././03|L/../../1/01) -m michaelbonnard@sfr.fr -M exec /usr/share/smartmontools/smartd-runner
/dev/sdb -a -o on -S on -W 10,40,45 -s (S/../.././03|L/../../1/01) -m michaelbonnard@sfr.fr -M exec /usr/share/smartmontools/smartd-runner
je redémarre le daemon avec la commande pour valider la configuration :sudo /etc/init.d/smartmontools restart
(cliquer sur l'image pour l'agrandir)
Vous pouvez voir les options de smartd ici:
Vous pouvez également consulter les logs contenus dans /var/log/syslog
(cliquer sur l'image pour l'agrandir)
Conclusion :
Ceci n'est évidemment qu'une configuration simple et libre à vous de configurer smartmontools comme vous le voulez.
Tags : disque, smartd, smart, smartmontools
-
Commentaires