• 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

     

    Surveiller vos disques durs avec Smartmontools

      (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 firmwareles 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.

     

    Surveiller vos disques durs avec Smartmontools

      (cliquer sur l'image pour l'agrandir)

     

    Surveiller vos disques durs avec Smartmontools

    (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.

     

    Surveiller vos disques durs avec Smartmontools

    (cliquer sur l'image pour l'agrandir)

     

    Liste des attributs SMART les plus courants :

    Surveiller vos disques durs avec Smartmontools

    (cliquer sur l'image pour l'agrandir)

     

    Vous pouvez voir les options de smartctl ici:

    man « smartctl »

    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 

     

    Surveiller vos disques durs avec Smartmontools

    (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

     

    Surveiller vos disques durs avec Smartmontools

     (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

     

    Surveiller vos disques durs avec Smartmontools

      (cliquer sur l'image pour l'agrandir)

     

    Je regarde ensuite mes mails et je vois que le mail de test a bien été envoyé.

    Surveiller vos disques durs avec Smartmontools

      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.

     

    Surveiller vos disques durs avec Smartmontools

     (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 

     

    Surveiller vos disques durs avec Smartmontools

    (cliquer sur l'image pour l'agrandir)

     

    Vous pouvez voir les options de smartd ici:

    man « smartd »

    Vous pouvez également consulter les logs contenus dans /var/log/syslog

     

    Surveiller vos disques durs avec Smartmontools

     (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.

     

    « Surveiller ses logs avec LogwatchSurveiller sa bande passante avec Bmon »

    Tags Tags : , , ,
  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :