Outils pour utilisateurs

Outils du site


Panneau latéral

FOLLOW ...

Linux, freeBSD

Python

Plugins WP

Informatique et robotique

En classe
KTURTLE
Arduino

Shell/php scripts

freebsd-smartmontools

Ceci est une ancienne révision du document !


How to check hard drive health on FreeBSD et Linux

1. Identifier le device de son disque dur

# dmesg | grep disk[    1.979182] sd 1:0:0:0: [sda] Attached SCSI disk
[ 7098.619891] sd 1:0:0:0: [sda] Stopping disk
[ 7099.957395] sd 1:0:0:0: [sda] Starting disk
[25933.946087] sd 1:0:0:0: [sda] Stopping disk
[25935.329464] sd 1:0:0:0: [sda] Starting disk
[26805.193511] sd 1:0:0:0: [sda] Stopping disk
[26806.560883] sd 1:0:0:0: [sda] Starting disk
[29011.221937] sd 1:0:0:0: [sda] Stopping disk
[29012.578359] sd 1:0:0:0: [sda] Starting disk
[42879.966037] sd 1:0:0:0: [sda] Stopping disk
[42881.326802] sd 1:0:0:0: [sda] Starting disk

Le disque est donc sda

2. Installer le paquet smartmontools

L'utilitaire est smartctl , il fait partie du paquet smartmontools, non présent par défaut. on l'installe.

# apt-get install smartmontools
Les NOUVEAUX paquets suivants vont être installés :     
  exim4-base{a} exim4-config{a} exim4-daemon-light{a} guile-2.2-libs{a} 
  libgnutls-dane0{a} libgsasl7{a} libkyotocabinet16v5{a} libmailutils5{a} 
  libntlm0{a} libunbound8{a} mailutils{a} mailutils-common{a} psmisc{a} 
  smartmontools 
0 paquets mis à jour, 14 nouvellement installés, 0 à enlever et 3 non mis à jour.
Il est nécessaire de télécharger 11,1 Mo d'archives. Après dépaquetage, 60,1 Mo seront utilisés.
Voulez-vous continuer ? [Y/n/?] Y

Cet utilitaire est un outil administrateur, il sera installé dans /usr/sbin

whereis smartctl
smartctl: /usr/sbin/smartctl /usr/share/man/man8/smartctl.8.gz

3. Utiliser smartctl

3.1. Obtenir des infrrmations sur le disque (informations standards) (option -i)

#  smartctl -i /dev/sda
martctl 6.6 2017-11-05 r4594 [x86_64-linux-4.19.0-5-amd64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF INFORMATION SECTION ===
Model Family:     Samsung based SSDs
Device Model:     Samsung SSD 840 EVO 250GB
Serial Number:    S1DBNSBF753656V
LU WWN Device Id: 5 002538 8a05cee2f
Firmware Version: EXT0BB6Q
User Capacity:    250 059 350 016 bytes [250 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Wed Jun 12 17:25:53 2019 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

3.2. Obtenir le maximun d'informations sur le disque (analyse détaillée) (option -a ou --all

# /usr/sbin/smartctl -a /dev/sda
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.19.0-5-amd64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF INFORMATION SECTION ===
Model Family:     Samsung based SSDs
Device Model:     Samsung SSD 840 EVO 250GB
Serial Number:    S1DBNSBF753656V
LU WWN Device Id: 5 002538 8a05cee2f
Firmware Version: EXT0BB6Q
User Capacity:    250 059 350 016 bytes [250 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Wed Jun 12 17:27:10 2019 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
 
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
 
General SMART Values:
Offline data collection status:  (0x00)	Offline data collection activity
					was never started.
					Auto Offline Data Collection: Disabled.
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: 		( 4800) seconds.
Offline data collection
capabilities: 			 (0x53) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					No 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.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 (  80) minutes.
SCT capabilities: 	       (0x003d)	SCT Status supported.
					SCT Error Recovery Control supported.
					SCT Feature Control supported.
					SCT Data Table supported.
 
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   098   098   000    Old_age   Always       -       6547
 12 Power_Cycle_Count       0x0032   097   097   000    Old_age   Always       -       2138
177 Wear_Leveling_Count     0x0013   091   091   000    Pre-fail  Always       -       103
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -       0
187 Uncorrectable_Error_Cnt 0x0032   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0032   074   052   000    Old_age   Always       -       26
195 ECC_Error_Rate          0x001a   200   200   000    Old_age   Always       -       0
199 CRC_Error_Count         0x003e   099   099   000    Old_age   Always       -       2
235 POR_Recovery_Count      0x0012   099   099   000    Old_age   Always       -       113
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       38748012777
 
SMART Error Log Version: 1
No Errors Logged
 
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%         0         -
# 2  Short offline       Completed without error       00%         0         -
# 3  Short offline       Completed without error       00%         2         -
 
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 ligne la plus importante est celle-ci.

SMART overall-health self-assessment test result: PASSED

Si le résultat est différent, il est vivement recommandé d'effectuer des sauvegardes immédiates de ce disque

Une autre ligne importante est celle-ci , elle montrera on non la présence de badblocks

187 Uncorrectable_Error_Cnt 0x0032   100   100   000    Old_age   Always       -       0

3.3 Surveiller la santé de son disque (uniquement) (option -H)

/usr/sbin/smartctl -H /dev/sda
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.19.0-5-amd64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

4. Réaliser des tests sur son disque

4.1. Estimer la durée des tests (option -c)

# /usr/sbin/smartctl -c /dev/sda
.....
Short self-test routine 
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 (  80) minutes.

Le test court est estimé à 2 minutes (prenez un café), le long à 80 minutes (prenez quelques apéros…)

4.2. Effectuer un test court (option -t short)

/usr/sbin/smartctl -t short /dev/sda
smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.19.0-5-amd64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Wed Jun 12 17:42:56 2019
 
Use smartctl -X to abort test.

4.3. Afficher les résultats du test court (option -l selftest )

# /usr/sbin/smartctl -l selftest /dev/sda
*smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.19.0-5-amd64] (local build)
Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org
 
=== START OF READ SMART DATA SECTION ===
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%         0         -
# 2  Short offline       Completed without error       00%         0         -
# 3  Short offline       Completed without error       00%         0         -
# 4  Short offline       Completed without error       00%         2         -

4.3. Effectuer un test long (option -t long)

Même protocole mais avec l'option -t long

5. Utiliser le démon smartd

Ce démon va permettre d'automatiser les tâches précédentes.

Pour cela, il va falloir paramétrer le fichier de configuration de smartmontools, c'est à dire le fichier /etc/smartd.conf . (utiliser nano, xed, vi, vim ou n'importe quel éditeur…)

Premièrement rechercher la ligne suivante et commenter la.

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

Elle devient donc

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

Liser le fichier, vous y trouverez peut-être des informations intéressantes (même sûrement, sans doute…)

Pour scanner votre disque /dev/sda, ajouter la ligne

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

Faire de même pour tous les autres disques, par exemple si sdb également

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

On va passer des options supplémataire au démon de smartctl afin qu'il gére correctement le disque

  • -o on: Active la collecte des données hors connexion.
  • -S on: Active la sauvegarde automatique des attributs.
  • -d sat: Cette option n'est pas obligatoire si le type de votre disque est bien reconnue
  • -s (S/../.././01|L/../../1/03): La programmation horaire Ici, un test court tous les jours à 1 heure du matin et un test long tous les lundi à 3 heures du matin
  • -m root : envoie un mail à l'utilisateur root

Si vous en voulez dans une boite personnelle en plus

  • -m root, mon.nom@mon.domaine.ext

Redémarrer le démon smartmontools pour prise en compte des modifications

# /etc/init.d/smartmontools restart

6. Automatiser le lancement du démon au démarrage

Dernière étape, lancer le démon smartmontools au démarrage du système. Editer le fichier /etc/default/smartmontools Et décommenter la ligne

# uncomment to start smartd on system startup
#start_smartd=yes

Qui devient

# uncomment to start smartd on system startup
start_smartd=yes

Sauvegarder

Plus d'informations : https://sourceforge.net/projects/smartmontools/

freebsd-smartmontools.1560364766.txt.gz · Dernière modification : 2019/07/17 19:24 (modification externe)