console linux

Smartmontools – alertes mails via son daemon

Smartmontools permet de monitorer ses disques durs ou SSD. Sur son serveur, il est surtout utile de configurer le daemon afin d’être averti d’un problème de disque avant que celui-ci ne meurt tragiquement….

Utilisation de smartctl

Il permet d’interroger les données SMART à la commande :

  • Lancer un test rapide : smartctl -t short /dev/sdX
  • Lancer un test long : smartctl -t long /dev/sdX
  • accéder au résultats/statistiques de ces tests : smartctl -l selftest /dev/sdX
  • Pour les erreurs : smartctl -l error /dev/sdX
  • résumé : smartctl -q errorsonly -H -l selftest /dev/sdX
  • tout : smartctl -a /dev/sdX
  • uniquement les infos des disques : smartctl -i /dev/sda
  • Activer le test online : -s on

Configurer le disque pour faire le test uniquement quand le disque est démarré, pratique quand ses disques sont mis en pause.

[ATA only] Specifies if smartctl should exit before performing any checks when the device is in a low-power mode. It may be used to prevent a disk from being spun-up by smartctl. The power mode is ignored by default. A nonzero exit status is returned if the device is in one of the specified low-power modes (see RETURN VALUES below). never|sleep|standby|idle Maximum number of skipped checks (in a row) can be specified by appending positive number ´,N´ to POWERMODE (like ´-n standby,15´). After N checks are skipped in a row, powermode is ignored and the check is performed anyway When a periodic test is skipped, smartd normally writes an informal log message. The message can be suppressed by appending the option ´,q´ to POWERMODE (like ´-n standby,q´). This prevents a laptop disk from spinning up due to this message

Options conseillées :

Test automatique récurrent mais je préfère déconseiller pour les disques mis en veille : le test automatique en offline (-o) et autosave (-S) :

Voici les informations du MAN à ce sujet :

ATTENTION que c’est fait toutes les 4 heures, et cela peut potentiellement remettre le disque dur en marche s’il est en sleep avec hdparm.

Je conseille de ne pas faire de test offline pour les données non critiques, et de mettre une tâche crontab pour faire un “smartctl -t offline /dev/sdX” tous les X temps. Un autre piste est d’utiliser l’option “-n sleep” pour vérifier que le disque ne démarre pas pour faire son test.

Voici le script que l’utilise pour la tâche cron. Si vous ne renseignez pas de disques dans la variable “DISKS” alors tous les disques sont vérifiés.

Daemon smartmontools

Décommenter ceci dans le fichier /etc/default/smartmontools pour un démarrage automatique du service :

Éditer /etc/smartd.conf :

  • -M exec /usr/share/smartmontools/smartd-runner –> -M test : pour tester la notification
  • -i 167 permet d’ignorer un check de l’attribut 167
  • -I 167 permet d’ignorer un traking de l’attribut 167

 

Dans le cadre d’un SSD industriel en SATA, j’ai utilisé ces paramètres:

Pour un disque dur, ces paramètres sont suffisants :

Pour paramétrer la vérification par défaut de tous les disques et pour tous les nouveaux disques du serveur :

Ensuite on redémarre le daemon :

 

Une source intéressante sur le sujet.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">