Diagnostiquer un disque HS

Critères requis :

Smartmontools est un outil permettant de contrôler et monitorer un disque via le standard “SMART” (Self-Monitoring, Analysis and Reporting Technology System).

Il se compose de deux parties :

  • smartd, un daemon qui vous permettra de vérifier de manière périodique vos disques durs
  • smartctl, un outil en ligne de commande pour visualiser l'état du disque dur

Il prend en charge une très grande majorité des disques durs modernes.

Vérifier un serveur mono-disque

Rien de très compliqué ici, il vous suffira de renseigner la commande suivante depuis un accès root (ou en la précédant de sudo) :

smartctl -a /dev/sda

sda faisant donc référence à votre disque dur.

Vérifier un serveur Dell multi-disques

H200

Sur ces serveurs, les disques physiques se trouveront sur les devices sg*

Il vous faudra donc taper la commande suivante :

smartctl -a -T permissive /dev/sg0
smartctl -a -T permissive /dev/sg1
smartctl -a -T permissive /dev/sg2

Parfois les devices sont positionnés un peu plus loin.

N'hésitez pas à tester jusqu'à sg5 si vous n'avez pas de résultats concluants.

H310

Il y a deux possibilités :

  • megaclisas-status
  • megacli

Le premier vous permettra d'afficher l'état du volume RAID, le second vous permettra d'afficher les SMART des disques.

aptitude update
aptitude install megaclisas-status megacli
megaclisas-status

Pour les SMART il vous faudra utiliser le petit script suivant :

DEVICE=/dev/sda
for i in $(megacli -pdlist -a0 | grep Id | cut -d":" -f2); do
     echo "============================== $i =============================="
    smartctl -s on -a -d megaraid,${i} ${DEVICE} -T permissive
done

Vérifier un serveur HP multi-disques

Pour diagnostiquer les problèmes sur les serveurs HP, je vous invite à regarder les commandes ssacli


Utiliser SMARTD pour monitorer ses disques

Comme nous l'avons vu précédemment SMARTD vous permettra de monitorer vos disques et d'être alerté (selon la configuration) par mail en cas de défaillance.

Il n'y a aucune garantie quant au résultat du SMART et du temps restant avant que le disque ne soit complètement en défaut. Cependant, il y a de grandes chances pour que vous ayez le temps de faire un backup et pour demander le remplacement du disque.

Nous prendrons ici l'exemple d'un serveur mono-disque installé sur un Debian-like.

Les commandes suivantes sont à exécuter en root ou via sudo

On commence donc par activer quelques options SMART de base :

smartctl -s on -o on -S on /dev/sda

Puis on vérifie que notre disque n'a aucun problème :

smartctl -H /dev/sda

.

Pour mettre en place des tests automatisés, voici la procédure :

Éditez le fichier

/etc/smartd.conf

Commencez par commenter la ligne suivante :

DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/smartd-runner

Puis ajoutez quelque chose comme :

/dev/sda -a -d sat -o on -S on -s (S/../.././01|L/../../1/03) -m root -M exec /usr/share/smartmontools/smartd-runner

L'exemple ci-dessus vous permettra de faire un test de votre disque dur comme suit :

  • Un test court (S) tous les jours à 1h (01) du matin
  • Un test long (L), tous les lundis (1) à 3h (03) du matin

Il faudra ensuite activer le daemon. Pour cela, décommentez la ligne :

start_smartd=yes

Dans le fichier

/etc/default/smartmontools

Pour finir, démarrez le daemon :

service smartmontools start

Si un problème est détecté, cela enverra un mail par défaut à root (-m root). Je vous invite à rediriger les mails de root sur votre boîte personnelle ou à envoyer ce mail directement sur une autre adresse.

Lancer des tests manuellement

Pour lancer des tests SMART manuellement, voici les commandes :

smartctl -t short /dev/sda
smartctl -t long /dev/sda

Une fois les tests terminés, vous pouvez vérifier les résultats avec la commande suivante :

smartctl -l selftest /dev/sda

Si vous constatez des erreurs

Ouvrez un ticket et demandez le remplacement du disque en indiquant le numéro de série avec le résultat de la commande smartctl:

=== START OF INFORMATION SECTION ===
Device Model:     SAMSUNG HD103UJ
Serial Number:    S13PJ1KQ513170   <----------------------- Numéro de série
Firmware Version: 1AA01113
User Capacity:    1 000 204 886 016 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 3b
Local Time is:    Fri Oct 29 11:20:27 2010 CEST