Chrooter apache
Ajout disque dur
Ajout carte
Audit des disques durs
Gestion des peripheriques
Disquette d'installation
Ajout d'un scanner
Graver en ligne de commande
Astuces
Astuces en Bash
Configuration reseau
Dns
Serveur cvs
Proxy squid 
Installation serveur ftp
Installation qmail 
Installation serveur courrier sous debian
Outil TCP/IP 
Le serveur samba
Connexion a distance securisee
Client/serveur vnc
Configurer apache
Dyndns
Chiffrer un fichier/dossier
Securiser son poste
Mur pare feu pas a pas
Authentification ht-access
Surveillance de serveur CACTI
Snort
Snort-inline
Securiser Apache avec mod_security
Filtrage squid/squidguard/dansguardian
Auditer son site web
Sécuriser son linux
Installer un Lamp avec ssl
Contrer les scans de ports
Traitement anti-spam
Installer/Utiliser tripwire
Utilisation de lilo
Les commandes Linux
Le multi-tache
Le crontab
Exploration de la configuration
Quotas
Messagerie
Installer une application
Debugger ses applications
Le format RPM
Mise a jour du noyau
Qemu
Tour d'horizon des principaux p2p
Récupération du système
Bips d'un pc
Astuces windows
Table Ascii
Lamerland
Conversion de fichiers musicaux
hakin9
Secureroot.com
Hackerthreads.org
Defcon
Hackerlounge
Les derniers exploits
Tous les codes sources
Securite sous Linux
Les logiciels libres quotidiens
Ezine divers
Madchat
Textes divers
Archives
 
Toutes les traductions
Toutes les traductions
Hackin9

Il y a actuellement 7 visiteurs connectés sur le site !

Google
Soyez smart
Smart:audit de disque dur

 

Introduction
Les solutions classiques
Fonctionnement de SMART
Utilisation de smartmontools
Comment démarrer SMART pour diagnostiquer une panne ?
SMART et les disques SCSI
SMART et les systèmes RAID matériels
Conclusion

 

Introduction

Notre disque dur est faillible et cela est plutot normal: Souvent sur la breche 24h/24 durant, il tourne a plus de cent fois par secondes , il travaille dans un environnement surchauffé ,et il est soumis a de fréquentes installations et réinstallations.
Sa perte peut se révéler pénible ,notamment en cas de pertes de données sensibles (photos de famille, musique et j'en passe
Pourtant le disque montre souvent des signes avant-coureurs de faiblesse, évitant le scénario ci-dessus. En effet, si nous étions capable de connaitre l'état d'usure d'un disque dur, cela nous permettrait d'anticiper une panne liée à l'usure (prématurée ou pas) de celui-ci. La technologie SMART (Self-Monitoring, Analysis and Reporting Technology systems) permet de connaitre et d'analyser l'état physique de vos disques durs. Le role de SMART est de déceler ses signes en permettant aux utilisateurs de faire des tests sur le disque.

Les solutions

Pour éviter ces pertes brutales de données on peut implémenter les solutions suivantes: 1. installer un système de disque RAID sur votre machine
2. acheter un deuxième disque dur sur lequel on placera les sauvegardes

Fonctionnement de smart


Les outils smart examinent les attributs du disque dur , déterminent son degré de fiabilité, executent des tests sur disque, examinent les fichiers logs de ces tests et examinent les erreurs dans les logs des disques ATA
Les attributs SMART

Voici la liste des attributs habituels que l'on trouve sur un disque dur :
Nom de l'attribut role
Raw_Read_Error_Rate Fréquence d'apparition d'erreurs pendant la lecture de données brutes
Spin_Up_Time Temps de mise en rotation du disque
Start_Stop_Count Nombre de cycles arret/démarrage de l'axe de rotation
Reallocated_Sector_Ct Nombre de secteurs ré-alloués
Seek_Error_Rate Fréquence d'erreurs pendant le positionnement de la téte magnétique
Power_On_Hours Nombre d'heures de fonctionnement
Spin_Retry_Count Nombre de mises en rotation forcée du disque
Power_Cycle_Count Nombre de cycles de mise sous tension
Temperature_Celsius Température interne du disque en degr�s Celsius
Hardware_ECC_Recovered Nombre de corrections ECC réalisées
Current_Pending_Sector Nombre de secteurs en attente de ré-allocation
Offline_Uncorrectable Nombre de secteurs non ré-allouables
UDMA_CRC_Error_Count Nombre d'erreurs de CRC pendant un accés Ultra DMA
Une liste plus exhaustive des attributs est disponible sur ce site :
http://smartlinux.sourceforge.net/smart/attributes.php
Chaque constructeur de disque dur implémente un composant électronique responsable de la surveillance de ces valeurs et de les rendre accessibles via le protocole SMART.
Voici un exemple de valeurs:

Analyse des valeurs
A chaque attribut est associé un type, un mode de mise à jour, une valeur brute (RAW), une valeur WORST, une valeur THRESH, une valeur VALUE.
La valeur brute représente la valeur mesurée de l'attribut. Dans le cas de l'attribut � Temperature �, elle représente la température du disque dur.
VALUE représente un indice de fiabilité actuelle de cet attribut. THRESH, représente la valeur limite avant une dégradation des performances et un risque de panne élevée : si l'indice VALUE est infèrieur ou égal à l'indice THRESH alors le disque risque de tomber en panne. WORST représente la plus petite valeur de VALUE enregistrée.
Les valeurs de THRESH sont décidées par le constructeur du disque dur pour un modéle donné. Ces valeurs peuvent donc changer en fonction des configurations.
Le type d'attribut Old-age indique que si l'indice VALUE est infèrieur à THRESH alors cela indique que le produit est en fin de vie du fait d'une usure normale. L'attribut Pre-Fail indique que si l'indice VALUE est inférieur à THRESH alors une panne est imminente, il faut prévoir un remplacement.
Il existe deux méthodes pour mettre à jour les valeurs des attributs. La premiére dite � always � est la plus commune. Le composant électronique observe en permanence cet attribut. A chaque consultation de l'attribut, on peut y lire la valeur en cours. Ainsi, la température, le nombre d'erreurs ECC sont à jour en permanence. Les attributs dits � offline � ne seront remis à jour que lors d'un test du disque avec l'un des quatre modes : offline, short, long, conveyance.
Le champ WHEN_FAILED indique la probabilité de panne :
* � FAILING_NOW � indique une panne imminente,
* � In_the_past � indique de l'indice VALUE est déjà passé une fois sous la valeur THRESH : il faudra surveiller ce disque de prés.
L'absence de valeur indique que le disque fonctionne normalement.
La lecture des attributs est assez fastidieuse. Pour cela, les outils de la suite smartmontools vont nous permettre de consulter, d'analyser et d'intervenir en cas de nécessité.

Utilisation des outils smart


Tout d'abord, avec mandriva , smart s'installe à l'aide de la commande suivante:
urpmi smartmontools
Vous pouvez pour d'autres distributions télécharger la dernière version de smartmontools sur http://smartmontools.sf.net puis la compiler et l'installer sur votre système.
Si SMART n'est pas activé sur le disque, vous devez l'activer au préalable avec l'option -s.
La commande suivante vous permet d'activer SMART, de sauvegarder automatiquement la sauvegarde des attributs ainsi que la mise à jour automatique des attributs offline du disque.

[root@] smartctl --smart=on --offlineauto=on --saveauto=on /dev/hdx

Il est à noter que, dans tous les exemples, la lettre � x � de /dev/hdx devra etre remplacée par la lettre correspondant *à votre disque dur.
Le résultat suivant vous indique que SMART est maintenant bien activé et qu'une mise à jour des attributs � offline � sera effectuée toutes les quatre heures (cette valeur dépend du modéle et de la marque de votre disque dur).

On peut commencer le test par la commande smartctl -a /dev/hda, en root et en remplacant par le chemin exact de votre disque.

=== START OF INFORMATION SECTION ===
Device Model:     Maxtor 6Y080P0
Serial Number:    Y2BVFMDE
Firmware Version: YAR41BW0
User Capacity:    81,964,302,336 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 0
Local Time is:    Sun Apr  9 12:02:56 2006 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

La première partie de la sortie ci-dessus affiche les informations sur les modéles et firmware du disque testé.
Smartmontools posséde une base de donnée des types de disque. Si votre disque est dans cette base, l'outil pourra interpréter les valeurs des attributs de votre disque correctement.

La seconde partie de la sortie ci-dessous affiche les résultats du test de fiabilité du disque. Le disque affiché ici passe le test. Si l'état de la ligne ;SMART overall-health self-assessment test result: affiche FAILING, sauvegardez vos données le plus rapidement possible.


=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x80) Offline data collection activity
                                        was never started.
                                        Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run.
Total time to complete Offline
data collection:                 ( 241) seconds.
Offline data collection
capabilities:                    (0x5b) SMART execute Offline immediate.
                                        Auto Offline data collection on/off support.
                                        Suspend Offline collection upon new
                                        command.
                                        Offline surface scan supported.
                                        Self-test supported.
                                        No Conveyance Self-test supported.
                                        Selective Self-test supported.
SMART capabilities:            (0x0003) Saves SMART data before entering
                                        power-saving mode.
                                        Supports SMART auto save timer.
Error logging capability:        (0x01) Error logging supported.
                                        No General Purpose Logging support.
Short self-test routine
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  37) minutes.

La troisiéme partie de la sortie affiche les les tables de plus de 30 Attributs du disque . Souvenez-vous que ces attributs ne font plus partie des standards ATA ,mais beaucoup de fabricants les suivent toujours.
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
  3 Spin_Up_Time            0x0027   252   252   063    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   253   253   000    Old_age   Always       -       0
  5 Reallocated_Sector_Ct   0x0033   253   253   063    Pre-fail  Always       -       0
  6 Read_Channel_Margin     0x0001   253   253   100    Pre-fail  Offline      -       0
  7 Seek_Error_Rate         0x000a   253   252   000    Old_age   Always       -       0
  8 Seek_Time_Performance   0x0027   252   246   187    Pre-fail  Always       -       49436
  9 Power_On_Minutes        0x0032   249   249   000    Old_age   Always       -       317h+05m
 10 Spin_Retry_Count        0x002b   252   252   157    Pre-fail  Always       -       0
 11 Calibration_Retry_Count 0x002b   252   252   223    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   251   251   000    Old_age   Always       -       820
192 Power-Off_Retract_Count 0x0032   253   253   000    Old_age   Always       -       0
193 Load_Cycle_Count        0x0032   253   253   000    Old_age   Always       -       0
194 Temperature_Celsius     0x0032   253   253   000    Old_age   Always       -       48
195 Hardware_ECC_Recovered  0x000a   253   252   000    Old_age   Always       -       1300
196 Reallocated_Event_Count 0x0008   253   253   000    Old_age   Offline      -       0
197 Current_Pending_Sector  0x0008   253   253   000    Old_age   Offline      -       0
198 Offline_Uncorrectable   0x0008   253   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0008   199   199   000    Old_age   Offline      -       0
200 Multi_Zone_Error_Rate   0x000a   253   252   000    Old_age   Always       -       0
201 Soft_Read_Error_Rate    0x000a   253   252   000    Old_age   Always       -       7
202 TA_Increase_Count       0x000a   253   252   000    Old_age   Always       -       0
203 Run_Out_Cancel          0x000b   253   252   180    Pre-fail  Always       -       0
204 Shock_Count_Write_Opern 0x000a   253   252   000    Old_age   Always       -       0
205 Shock_Rate_Write_Opern  0x000a   253   252   000    Old_age   Always       -       0
207 Spin_High_Current       0x002a   252   252   000    Old_age   Always       -       0
208 Spin_Buzz               0x002a   252   252   000    Old_age   Always       -       0
209 Offline_Seek_Performnce 0x0024   200   200   000    Old_age   Offline      -       0
 99 Unknown_Attribute       0x0004   253   253   000    Old_age   Offline      -       0
100 Unknown_Attribute       0x0004   253   253   000    Old_age   Offline      -       0
101 Unknown_Attribute       0x0004   253   253   000    Old_age   Offline      -       0

Des études ont montré que des tempèratures aussi basses que 5C réduisent significativement les risques de detruction, Une des solutions la plus simple et la moins chere est d'ajouter un ventilateur qui agit directement sur le disque dur.

Chaque Attribut a une valeur sur 6-bits (RAW_VALUE) et une valeur normale d'un bit (VALUE). Dans ce cas, la valeur de la rangée affiche trois temperatures: la température du disque en Celsius , avec sa durée de vie minimum et maximum . Le format des rangées de données est spécifique au constructeur et n'est soumis à aucun standard. Pour tester la fiabilité du disque dur, le firmware du disque convertit les valeurs de la rangée à des valeurs normales allant de 1 à 253. Si ces valeurs sont infèrieures ou égales au seuil (THRESH), les attributs indiquent que le test a échoué comme indiqué dans la colonne WHEN_FAILED. La colonne est vide parce qu' aucun de ces attributs n'a échoué. La value la plus petite (WORST) est aussi affichée; c'est la plus petite valeur atteint depuis que SMART est activé sur le disque . Le TYPE de l'attribut indique que la defaillance de l'attribut signifie que le materiel a atteint la fin de sa limite d'age ou atteint un degré dangereux (Pre-fail). Par exemple, disk spin-up time (ID #3) est un attribut prefailure . Si c'est le cas , la defaillance du disque est prévue dans moins de 24 heures.

La partie suivante de smartctl -a output est le log des erreurs du disque. Ce disque particuliérement ne contient pas d'erreur et le fichier de log est vide. Typiquement , on peut se faire du souci quand les erreurs apparaissent nombreuses . La page web de smartmontools Web affiche un nombre d'exemples ou smartctl -a output montre quelques lignes significatives de log .

Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  7c 00 7c 7f 7e 7e 7c 00      00:05:37.392  SEEK [RET-4]

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%       937         -
# 2  Short offline       Completed without error       00%       915         -
# 3  Short offline       Completed without error       00%       892         -
# 4  Short offline       Completed without error       00%       870         -
# 5  Short offline       Completed without error       00%       848         -
# 6  Short offline       Completed without error       00%       826         -
# 7  Extended offline    Completed without error       00%       805         -
# 8  Short offline       Completed without error       00%       803         -
# 9  Short offline       Completed without error       00%       781         -
#10  Short offline       Completed without error       00%       758         -
#11  Short offline       Completed without error       00%       736         -
#12  Short offline       Completed without error       00%       714         -
#13  Short offline       Completed without error       00%       691         -
#14  Short offline       Completed without error       00%       669         -
#15  Extended offline    Completed without error       00%       648         -
#16  Short offline       Completed without error       00%       647         -
#17  Short offline       Completed without error       00%       624         -
#18  Short offline       Completed without error       00%       602         -
#19  Short offline       Completed without error       00%       566         -
#20  Short offline       Completed without error       00%       543         -
#21  Short offline       Completed without error       00%       521         -

Vous pouvez également déclencher manuellement un test court avec la commande suivante:
[root@] smartctl -t short /dev/hdx
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 1 minutes for test to complete.
Test will complete after Wed Feb 18 11:51:46 2004

La durée des tests de type short, long et conveyance est d�finie dans la m�moire du disque lui-m�me, vous ne pouvez pas modifier cette valeur.
Une fois le test terminé, vous pouvez consulter le résultat du test à l'aide de l'option � -l � de smartctl. Cette option va lire dans la mémoire de votre disque (si celui-ci le permet) les traces (log) des derniéres opérations réalisées sur celui-ci.

root@] smartctl -l selftest /dev/hdx
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 4913 -
# 7 Short offline Aborted by host 40% 595 -

Dans cet exemple, le test 1 (le dernier que l'on vient d'exécuter), de type test court, s'est déroulé sans erreur, votre disque est donc en bon état.

SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

La partie finale de la sortie smartctl est un report du test lancé sur le disque . Cela affiche deux types de tests, long et court. Ils peuvent étre lancés avec la commande
smartctl -t short /dev/hda
et
smartctl -t long /dev/hda
et ne corrompent pas les données sur le disque . Typiquement , les tests courts prennent seulement une minute ou deux pour s'effectuer et les tests longs prennent environ une heure . Ces tests n'interferent pas avec un fonctionnement normal du disque, ainsi la commande peut étre employée sur des disques montés sur un systeme fonctionnant.
Ces quelques commandes vous permettent assez simplement de vérifier l'état de votre disque dur, mais tout ceci nécessite une exécution manuelle de l'outil. L'automatisation de ce processus est bien entendu nécessaire et obligatoire pour obtenir une surveillance permanente de vos disques durs.
Le démon smartd le permet, avec une remontée d'erreurs selon la méthode qui vous convient le mieux. Si smartmontools détecte une erreur dans les attributs ou lors d'un test alors celui peut déclencher une action pour vous prévenir : envoyer un mail, un sms, ou méme afficher un � wall � sur la machine.

Configuration de smartd


La dernière partie des outils smart est le démon smartd . IL dirige les disques à la recherche de signes probléématiques. Il peut étre configuré pour envoyer un e-mail aux utilisateurs ou admins systemes ou se lancer via un script de votre cru si des problemes aparaissent. Par défaut, quand smartd est lancé, Il enregistre les systèmes du disque. Ensuite, il verifie leur statue toutes les 30 minutes à la recherche d'attributs défaillants, de messages d'erreurs ou de nombre d'erreurs ATA elévés ,ou de tests défaillants et enregistre ces informations avec SYSLOG dans /var/log/messages par d�faut.
Vous pouvez controler et affiner le comportement de smartd en utilisant son fichier de configuration /etc/smartd.conf. Ce fichier est lu lors du démarrage de smartd , avant qu'il ne se duplique en tache de fond. Chaque ligne contient des directives se rapportant à un disque different. Le fichier de configuration de notre ordinateur ressemble à :
# /etc/smartd.conf config file
/dev/hda -S on -o on -a -I 194 -m deny@monaco.net
/dev/hdc -S on -o on -a -I 194 -m deny@monaco.net

La première colonne indique le nom du disque à vérifier. La directive -o on active le test off-line, et la directive -S on active l'attribut autosave. La directive -m est suivie par l'adresse e-mail à laquelle les messages d'avertissement sont envoyés et la directive -a demande à smartd de surveiller toutes les valeurs du disque. Dans cette configuration, les logs de smartd toutes les valeurs des attributs normalisés. La directive -I 194 dicte d'ignorer les changements dans l'attribut #194, parce que la température du disque change souvent, et c'est ennuyeux d'avoir ces changements enregistrés .

Normalement smartd est démarré par le mécanisme UNIX init. Par exemple, sur les distros Red Hat, /etc/rc.d/init.d/smartd start and /etc/rc.d/init.d/smartd stop peuvent demarrer et stopper le démon.

Sources de l'article


 

Forum d'entraide
Les news du site
Formulaire en php
Administrer un serveur Mysql
Session en php
Gerer ses bases mysql
Les bases php
Securiser ses scripts PHP
Controler ses programmes avec RATS
Convertir une base sql en utf8
Astuces php
Python rapide
Tutorial Python
Tutorial Perl
Tutorial Perl complet
Tutoriel ruby
Tutoriel C
Introduction à gawk
Filtres et utilitaires
Find
Programmation Shell
Ecriture de scripts bash
Expressions regulieres
Vi
Introduction a Javascript
Compiler avec gcc
Tutoriel Assembleur
Guide du cracking pour débutant
Assembleur
Manual Unpacking
Différentes failles Web
Arp spoofing dans un réseau switché
Les intrusions
Les attaques externes
Defacage
Defacage complet
Buffer overflow
Netcat
Injection sql
Injection sql(suite)
John the Ripper
Spoofer un email
Utiliser google
La faille system
Usurper une identité
Le rooting
Shellcode sous Unix
La faille race condition
La faille xss
La faille xss (2)
Attaques sur un routeur
Azureus pas-a-pas
Lire les news de Linux-pour-lesnuls.com au format RSS
Gestion des paquets debian
101 commandes debian
Effet neon dans GIMP
Effet vapeur dans GIMP
Cours fonctionnalités de GIMP
Ensemble
Divers