Smartmontools
Smartmontools permet de dialoguer avec de nombreux disques-dur pour obtenir des informations et statistiques sur leur état, permettant de diagnostiquer un disque-dur en fin de vie notamment.
Commandes de base
Activer:
# smartctl --smart=on --offlineauto=on --saveauto=on /dev/hda smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF ENABLE/DISABLE COMMANDS SECTION === SMART Enabled. SMART Attribute Autosave Enabled. SMART Automatic Offline Testing Enabled every four hours.
ou plus facile à retenir:
smartctl -s on -S on -o on
Vérifier les valeurs:
# smartctl -A /dev/hda smartctl version 5.32 Copyright (C) 2002-4 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF READ SMART DATA SECTION === 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 250 245 187 Pre-fail Always - 58790 9 Power_On_Minutes 0x0032 251 251 000 Old_age Always - 714h+26m 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 253 253 000 Old_age Always - 83 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 - 31 195 Hardware_ECC_Recovered 0x000a 253 252 000 Old_age Always - 4749 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 - 6 202 TA_Increase_Count 0x000a 253 252 000 Old_age Always - 0 203 Run_Out_Cancel 0x000b 253 252 180 Pre-fail Always - 2 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 186 183 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
Vérifiez la colonne "WHEN_FAILED" essentiellement.
Voir plus de choses:
# smartctl -a /dev/hda
Sur mon disque SATA (non IDE):
# smartctl -d ata ... /dev/sda
Les tests:
smartctl -t short /dev/hda smartctl -t long /dev/hda
Vérifier les résultats:
smartctl -l selftest /dev/hda
Mauvais blocs
Les disques durs actuels ont apparemment une réserve de blocs non utilisés, qui peuvent remplacer des blocs défectueux. Le remplacement se fait au moment de l'écriture sur le bloc défectueux (pas avant, pour laisser une chance de récupérer les données qui y sont inscrites).
Le Bad block HOWTO de la section lien discute de ce sujet plus en détail.
Dans la sortie de smartmontools, les éléments importants sont:
- Reallocated_Sector_Ct: les secteurs réalloués au cours de la vie du disque
- Current_Pending_Sector: les secteurs à réallouer dès que possible
- Reallocated_Event_Count: (je ne sais pas bien, à completer)
Exemple sur un disque de 2 ans (regarder la colonne RAW_VALUE), après un badblocs
lecture/écriture complet (les blocs défectueux ont tous été réalloués):
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE [...] 5 Reallocated_Sector_Ct 0x0033 192 192 140 Pre-fail Always - 62 [...] 196 Reallocated_Event_Count 0x0032 182 182 000 Old_age Always - 18 197 Current_Pending_Sector 0x0012 200 199 000 Old_age Always - 0
Liens
- Page officielle
- Références des attributs du disque
- Soyez Smart! chez Lea-Linux
- Bad block HOWTO for smartmontools