Créer un monitoring de votre disque avec hdparm et cron

De Wiki PC, Wiki Informatique.

Version du 9 février 2009 à 22:17 par Troll (discuter | contributions)
(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Sommaire

Introdution

But de la manoeuvre

Avec le problème du laptop mode, et plus généralement, puisque le laptop mode n'est au final pas vraiment le problème ensuite, le problème de la gestion de l'énergie au niveau du disque dur, et notamment du parcage des têtes, observé sur les ordinateurs portables, il peut être très important de vérifier si l'on est concerné par le problème ou pas, afin d'éviter de crasher prématurément son disque dur (note : on explique ici la procédure afin de vérifier si un système linux est touché, mais le problème peu être présent sur les OS Windows, cf le lien "laptop mode" précédemment donné).

Aussi, étant donné qu'il faut, pour savoi si le problème nous concerne, vérifier de manière régulière le nombre de parcages de la tête, nous allons automatiser la tâche afin de ne pas avoir à passer une journée entière à lancer des commandes toutes les heures et à noter leurs valeurs afin de vérifier, en fin de journée, si les chiffres présentent les symptômes du problème ou pas.

Outils utilisés

Pour cela nous allons utiliser les outils & commandes suivantes :

  • cron (commande crontab)
  • vi (éditeur de texte)
  • su (pour passer en root)
  • hdparm, tel que décrit dans le lien vers "laptop mode"


Si vous n'avez jamais utilisé la console, c'est le moment de vous y mettre, absolument aucune manipulation faite dans cette procédure n'est graphique.

Outils nécessaires

Il va de soi qu'il faut que vous ayiez cron d'installer, ainsi que crontab (en général installé par défaut), vi (si vous l'avez pas, vous êtes pas sous GNU/Linux !) et hdparm (idem, installé par défaut dans 95% des cas).

Il faut avoir précédemment vérifier que le disque dur est compatible avec les commandes de hdparm en suivant les instructions de préparation.

Commençons !


Mise en place du fichier à exécuter

Nous allons créer un .sh dans lequel la commande à exécuter sera située.


Commençons par créer le futur fichier accueillant les données :

vi ./hdparmlog.log

Vous voici dans vi, passez en mode "INSERTION" en appuyant sur SHIFT + I . Appuyez sur ENTRÉE pour créer une ligne vide. Appuyez sur CTRL + ALT + I pour sortir du mode insertion. Appuyez sur tapez :wq puis appuyez sur ENTRÉE . Votre fichier vide est créé.


Maintenant, le fichier exécutable :

Note : on utilise ici la commande su, pour les systèmes comme Fedora, pour les systèmes utilisant le sudo, il faudra mettre un sudo devant chaque ligne à taper en console entre le "su - " et le "exit" (sort de la session root)

su -
vi ./runhdparmlogs.sh

Vous voici dans vi, avec un nouveau fichier.

Passez en mode "INSERTION" en appuyant sur SHIFT + I .

Collez ceci dans le fichier (CTRL + SHIFT + V sous Konsole) :

!/bin/bash
datetime=`date '+%d/%m/%Y %k:%M'`

echo "

Log on ${datetime} :

" >> /home/_VOTRE_UTILISATEUR_/hdparmlog.log

## PENSEZ A REMPLACER DANS LA LIGNE SUIVANTE ET DANS LA LIGNE PRÉCÉDENTE LE "_VOTRE_UTILISATEUR_" PAR LE NOM DE VOTRE SESSION (toto, albert, jean...)

smartctl -a `mount | grep '/ ' | cut -d' ' -f1 | sed -e 's#[0-9]##'` | egrep 'Cycle|Power' >> /home/_VOTRE_UTILISATEUR_/hdparmlog.log 2>&1


Appuyez sur CTRL + ALT + I pour sortir du mode insertion.

Appuyez sur tapez :wq puis appuyez sur ENTRÉE .

Votre fichier d'exécution est crée dans /root .

Outils personnels