Smart : Analyser et évaluer l'état de son disque dur
De Wiki de la communauté Mandriva.
Smart n'est compatible qu'avec les disques durs supportant la norme S.M.A.R.T., incluse dans la plupart des disques durs depuis 2001. Il faut également que le mode S.M.A.R.T. soit activé. Si le disque dur n'a pas été enlevé ou déplacé dans un ordinateur pré-monté, alors les chances sont fortes qu'il soit déjà activé. Dans les autres cas, vous pouvez vérifier et l'activer depuis le BIOS de l'ordinateur.
- savoir ouvrir une console et passer en mode super-utilisateur
- savoir taper des commandes et des options courantes
- avoir des notions d'anglais (très recommandé)
- connaître un minimum de notions sur le fonctionnement d'un disque dur
Sommaire |
Installation
Smart peut être installé de façon très simple depuis le
Gestionnaire de logiciels de Mandriva. Vous aurez en revanche peut être besoin de changer le filtre de "Applications graphiques" à "Tous" pour afficher et installer le paquet smartmontools.
Une fois smart installé, un nouveau service fera son apparition : le service Smart. Ce service est nécessaire car il se charge du suivi du/des disque(s) dur(s) au quotidien. Vous pourrez également configurer Smart en éditant le fichier /etc/smartd.conf.
Utilisation
Afficher les informations
Pour afficher les détails sur un disque dur choisi, tapez dans une console en tant que super-utilisateur :
en supposant que /dev/sda est le nom du disque dur que vous avez choisi. Plus bas dans cet article, nous le remplaçons par <DISQUE>.
Pour connaître le nom du/des disque(s) de votre ordinateur, vous pouvez lancer l'assistant
Gérer les partitions de votre disques durs, disponible dans le
Centre de Contrôle, dans onglet Disques locaux. L'assistant chargé, observez les noms des partitions et de disque : si vos partitions se nomment sda1, sda2, sda7, etc... alors le nom de ce disque est sda. Si les partitions se nomment sdb1, sdb2, sdb3, etc... alors le nom de ce disque est sdb. Si les partitions se nomment hda1, hda2, etc... alors le nom de ce disque est hda.
Les commandes
- smartctl <DISQUE> : permet d'activer/désactiver smart sur le disque dur choisi.
- smartctl -a <DISQUE> : affiche de nombreuses informations sur le disque choisi (voir la section suivante pour plus de détails).
- man smartctl et man smartd : Ces commandes peuvent donner plus d'informations plus précises et détaillées.
Comprendre un rapport rendu par Smart
Informations sur le disque
Les données concernant le constructeur, le modèle et le type du disque dur se trouvent dans cette partie du rapport.
smartctl version 5.38 [i586-mandriva-linux-gnu] Copyright (C) 2002-8 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF INFORMATION SECTION === Model Family: Seagate Barracuda 7200.7 and 7200.7 Plus family Device Model: ST3160023AS Serial Number: 3MT030X1 Firmware Version: 3.00 User Capacity: 160 041 885 696 bytes Device is: In smartctl database [for details use: -P show] ATA Version is: 6 ATA Standard is: ATA/ATAPI-6 T13 1410D revision 2 Local Time is: Tue Sep 16 17:30:41 2008 CEST SMART support is: Available - device has SMART capability. SMART support is: Enabled
Les données constructeur
=== START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED General SMART Values: [...]
La toute première ligne en dessous du titre du rapport est la ligne indiquant si le disque a passé le test de santé SMART. Si le mot "PASSED" s'affiche à la fin de la ligne, celà signifie que votre disque dur est en bonne santé. Si le mot "FAILED" s'affiche à la fin de la ligne, une anomalie a été vraisemblablement détectée par SMART et une action est éventuellement nécessaire pour résoudre le problème.
Les valeurs SMART
Voici un exemple de liste obtenue par une analyse. Les lignes qui y figurent peuvent dépendre selon le modèle, la génération et le constructeur du disque dur.
SMART Attributes Data Structure revision number: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000b 100 100 062 Pre-fail Always - 0 2 Throughput_Performance 0x0005 114 114 040 Pre-fail Offline - 3473 3 Spin_Up_Time 0x0007 205 205 033 Pre-fail Always - 2 4 Start_Stop_Count 0x0012 068 068 000 Old_age Always - 51168 5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0 7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0 8 Seek_Time_Performance 0x0005 116 116 040 Pre-fail Offline - 38 9 Power_On_Hours 0x0012 071 071 000 Old_age Always - 12851 10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 098 098 000 Old_age Always - 3541 191 G-Sense_Error_Rate 0x000a 096 096 000 Old_age Always - 458753 192 Power-Off_Retract_Count 0x0032 098 098 000 Old_age Always - 431 193 Load_Cycle_Count 0x0012 060 060 000 Old_age Always - 402477 194 Temperature_Celsius 0x0002 141 141 000 Old_age Always - 39 (Lifetime Min/Max 10/2286) 196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 4 197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0 198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0
La liste ci-dessus donne de nombreuses informations sur différents facteurs pouvant influencer l'état du disque dur. La colonne donnant les résultats recherchés est celle intitulée RAW_VALUE. Les lignes ci-dessous sont les plus importantes :
- 9 : Power_On_Hours : Il s'agit du nombre d'heures de service total durant lesquels le disque dur était allumé. Plus cette valeur est élevée, plus le disque dur est âgé et plus le risque de panne ou de défaillance est élevé.
- 12 : Power_Cycle_Count : Il s'agit du nombre de démarrages du disque dur lors d'une mise sous tension de l'ordinateur.
- 193 : Load_Cycle_Count : Il s'agit de la fréquence du parcage des têtes de lecture du disque. Réalisé en plusieurs fois, ce test permet de déterminer d'éventuelles faiblesses qui accéléreraient le vieillissement du disque (voir plus bas).
- 194 : Temperature_Celsius : Il s'agit de la température à laquelle fonctionne le disque dur. Il est impératif pour sa survie qu'il soit dans une unité centrale bien ventilée et/ou refroidie. Le disque dur ne doit pas non plus être en surchauffe. Habituellement, un disque dur fonctionne dans une température proche de 38°C. Vous pouvez trouver des informations sur la température recommandée par le constructeur sur le haut du disque dur.
Le nombre d'heures pendant lesquels le disque dur à été allumé et mis en service est fondamental pour estimer l'âge et le taux d'usure de ce disque dur. Plus un disque dur est âgé, moins il sera fiable et plus il aura de chances de rendre l'âme. Gardez ceci en tête : un disque dur qui fonctionne est un disque dur qui meurt.
Anticiper le vieillissement prématuré d'un disque dur
Sans que vous ne le sachiez, il se peut que votre disque dur se détraque d'une façon ou d'une autre. Une anomalie courante mais terrible a été rapportée dans les forums de diverses distributions au sujet de disques durs d'ordinateurs portables tout particulièrement.
Ce problème est redoutable car votre disque dur va alors se mettre à accélérer/décélérer et/ou se bloquer/débloquer très souvent. Ceci est exactement ce qu'un disque dur ne doit pas subir car cela peut sérieusement user voire endommager les mécanismes du disque dont la durée de vie sera considérablement réduite.
Les raisons suivantes peuvent provoquer ce comportement du disque :
- le firmware du disque dur peut avoir des réglages agressifs (indépendants du système d'exploitation)
- le BIOS peut configurer le disque dur pour avoir une gestion agressive (indépendant du système d'exploitation)
- le laptop-mode est activé dans /etc/default/acpi-support (désactivé par défaut), ce qui à pour effet de configurer votre disque dur pour une gestion agressive de l'alimentation.
Le problème se localise au niveau de l'entrée n°193 intitulée Load_Cycle_Count. Cette entrée indique la vitesse de rotation du disque. Vous devez effectuer un premier test, puis un second quelques heures plus tard et comparer les résultats obtenus pour déceler l'anomalie éventuelle. Si vous remarquez que le Load_Cycle_Count augmente trop rapidement et d'une façon soudaine, votre disque dur est possiblement affecté par ce problème. Suivez les recommandations ci-dessous pour plus de précision.
Voici les manipulations à effectuer pour déterminer si votre disque est affecté
Lancez une console et passer en mode super-utilisateur. Ensuite, tapez la commande suivante :
Si le dernier nombre retourné augmente rapidement (relancez la commande au bout de quelques heures), qu'il est en moyenne de plus de 90 par jour, alors votre disque souffre peut-être de ce problème.
Le chiffre de 90/jour est arbitraire, mais celui-ci garantit un Load_Cycle_Count inférieur à 100.000 en 3 ans. Il est possible qu'un nombre inférieur à 180 soit encore acceptable (cela dépend de votre disque dur).
Les fabriquants de disques donnent des performances d'au moins 600.000 Load_Cycles, mais c'est probablement une moyenne dans des circonstances optimales.
Une façon d'influer sur ce comportement est d'ajuster les paramètres de /etc/laptop-mode/laptop-mode.conf
On peut notamment modifier la directive servant à ajuster la gestion de l'énergie des disques (hdparm -B valeur):
BATT_HD_POWERMGMT=valeur
valeur peut varier de 1 à 255 . Cela correspond à un délai avant suspension de la rotation allant de très court (1) à très long (255). Une valeur de 0 désactive la suspension. Les valeurs 1 à 240 correspondent normalement à des multiples de 5 secondes (voir la page de manuel de hdparm pour plus de précisions). Une valeur de 12 à 30 peut être un bon compromis entre économie d'énergie et usure du disque.
La page suivante (en anglais) donne des indications sur comment bien configurer son laptop-mode afin d'éviter ce genre de problème. Bien configurer le laptop-mode (en)
Si vous n'utilisez pas d'ordinateur portable, ou que vous avez des raisons de penser que le laptop-mode n'y est pour rien ou alors qu'il est désactivé, vérifiez les paramètres concernant les disques durs dans le BIOS de votre ordinateur.
Plus loin avec smartd : être informé par courrier de l'état des disques
Le paquetage smartmontools contient en fait un démon smartd capable d'exécuter une vérification périodique des disques. Chaque disque compatible "smart" définit un tableau de variables (nommées attributs) reflétant son état de santé.
On peut ajuster ces vérifications via le fichier de configuration /etc/smartd.conf
À l'installation, c'est la directive :
DEVICESCAN -a -o on -S on -s L/../../6/03
qui est active. Explication des paramètres (voir man smartd) :
- DEVICESCAN : tous les disques sont traités et le reste du fichier de configuration est ignoré
- -a : équivalent à un ensemble de paramètres (H, f, t, -l selftest, l error, C 197, U 198) signalant des changements critiques dans l'état de différents attibuts
- -o on : autorise le test automatique hors-ligne
- -S on : active l'attribut sauvegarde automatique
- -s L/../../6/03 : effectue une vérification longue (L) tous les samedis (6) à trois heures (03)
On peut vouloir traiter les disques différemment et surtout être averti automatiquement en cas de problèmes.
Pour cela, il existe une option -m <addresse(s)> qui aura pour effet d'envoyer un courriel d'avertissement à un ou plusieurs destinataires.
Par exemple, on pourra commenter (faire précéder d'un dièse #) la ligne commençant par DEVICESCAN et ajouter une ligne comme celle-ci (à adapter à votre cas) juste en-dessous :
/dev/sda -d sat -s L/../.././18 -m jcl
ce qui enverra un rapport après un test long chaque jour à l'utilisateur local jcl (si un serveur de messagerie locale est installé).
Au moment de la configuration, on peut vérifier que l'envoi de courriel s'effectue correctement avec l'option -M test :
/dev/sda -d sat -s L/../.././18 -m jcl -M test
Lors du prochain démarrage de smartd, un courriel sera envoyé. Pour redémarrer le service smartd :
Après la vérification on peut naturellement supprimer l'option -M test .


