Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| freebsd-smartmontools [2019/05/21 06:35] – créée cyrille | freebsd-smartmontools [2019/07/17 17:24] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== How to check hard drive health on FreeBSD ====== | + | ====== How to check hard drive health on FreeBSD | 
| * https:// | * https:// | ||
| + | * Sous Linux ci dessous ;) | ||
| + | |||
| + | ====== 1. Identifier le device de son disque dur ====== | ||
| + | |||
| + | |||
| + | <code bash># 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' | ||
| + | |||
| + | <code bash># 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' | ||
| + | Voulez-vous continuer ? | ||
| + | |||
| + | |||
| + | Cet utilitaire est un outil administrateur, | ||
| + | |||
| + | <code bash> | ||
| + | smartctl: / | ||
| + | |||
| + | |||
| + | |||
| + | ====== 3. Utiliser smartctl ====== | ||
| + | |||
| + | |||
| + | ===== 3.1. Obtenir des infrrmations sur le disque (informations standards) (option -i) ===== | ||
| + | |||
| + | <code bash># | ||
| + | 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: | ||
| + | Device Model: | ||
| + | Serial Number: | ||
| + | LU WWN Device Id: 5 002538 8a05cee2f | ||
| + | Firmware Version: EXT0BB6Q | ||
| + | User Capacity: | ||
| + | Sector Size:      512 bytes logical/ | ||
| + | Rotation Rate: Solid State Device | ||
| + | Device is: In smartctl database [for details use: -P show] | ||
| + | ATA Version is: | ||
| + | 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' | ||
| + | |||
| + | |||
| + | <code bash># / | ||
| + | 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: | ||
| + | Device Model: | ||
| + | Serial Number: | ||
| + | LU WWN Device Id: 5 002538 8a05cee2f | ||
| + | Firmware Version: EXT0BB6Q | ||
| + | User Capacity: | ||
| + | Sector Size:      512 bytes logical/ | ||
| + | Rotation Rate: Solid State Device | ||
| + | Device is: In smartctl database [for details use: -P show] | ||
| + | ATA Version is: | ||
| + | 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: | ||
| + | was never started. | ||
| + | Auto Offline Data Collection: Disabled. | ||
| + | Self-test execution status: | ||
| + | without error or no self-test has ever | ||
| + | been run. | ||
| + | Total time to complete Offline | ||
| + | data collection: ( 4800) seconds. | ||
| + | Offline data collection | ||
| + | capabilities: | ||
| + | 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: | ||
| + | power-saving mode. | ||
| + | Supports SMART auto save timer. | ||
| + | Error logging capability: | ||
| + | General Purpose Logging supported. | ||
| + | Short self-test routine | ||
| + | recommended polling time: ( 2) minutes. | ||
| + | Extended self-test routine | ||
| + | recommended polling time: ( 80) minutes. | ||
| + | SCT capabilities: | ||
| + | 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 | ||
| + | 5 Reallocated_Sector_Ct | ||
| + | 9 Power_On_Hours | ||
| + | 12 Power_Cycle_Count | ||
| + | 177 Wear_Leveling_Count | ||
| + | 179 Used_Rsvd_Blk_Cnt_Tot | ||
| + | 181 Program_Fail_Cnt_Total | ||
| + | 182 Erase_Fail_Count_Total | ||
| + | 183 Runtime_Bad_Block | ||
| + | 187 Uncorrectable_Error_Cnt 0x0032 | ||
| + | 190 Airflow_Temperature_Cel 0x0032 | ||
| + | 195 ECC_Error_Rate | ||
| + | 199 CRC_Error_Count | ||
| + | 235 POR_Recovery_Count | ||
| + | 241 Total_LBAs_Written | ||
| + | |||
| + | SMART Error Log Version: 1 | ||
| + | No Errors Logged | ||
| + | |||
| + | SMART Self-test log structure revision number 1 | ||
| + | Num  Test_Description | ||
| + | # 1  Short offline | ||
| + | # 2  Short offline | ||
| + | # 3  Short offline | ||
| + | |||
| + | SMART Selective self-test log data structure revision number 1 | ||
| + |  | ||
| + | 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.__ | ||
| + | <code bash> | ||
| + | |||
| + | Si le résultat est différent, il est vivement recommandé d' | ||
| + | |||
| + | Enfin, si vous voyez des **Reallocated Sector ou Pending sectors**, remplacer le disque dès que possible. | ||
| + | |||
| + | <code bash>... | ||
| + | 5 Reallocated_Sector_Ct | ||
| + | ... | ||
| + | 197 Current_Pending_Sector | ||
| + | ....</ | ||
| + | |||
| + | |||
| + | |||
| + | Une autre ligne importante est celle-ci , elle montrera on non la présence de **__badblocks__** | ||
| + | <code bash>187 Uncorrectable_Error_Cnt 0x0032 | ||
| + | Dans ce cas se reporter à la fin du tuto pour voir pour sauver les meubles si c'est encore possible... | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== 3.3 Surveiller la santé de son disque (uniquement) (option -H) ===== | ||
| + | |||
| + | |||
| + | <code bash>/ | ||
| + | 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) ===== | ||
| + | |||
| + | <code bash># / | ||
| + | ..... | ||
| + | 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) ===== | ||
| + | |||
| + | <code bash>/ | ||
| + | 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: " | ||
| + | Drive command " | ||
| + | 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 | ||
| + | |||
| + | <code bash># / | ||
| + | *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 | ||
| + | # 1  Short offline | ||
| + | # 2  Short offline | ||
| + | # 3  Short offline | ||
| + | # 4  Short offline | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== 4.3. Effectuer un test long (option -t long) ===== | ||
| + | |||
| + | Même protocole mais avec l' | ||
| + | |||
| + | |||
| + | ====== 5. Utiliser le démon smartd ====== | ||
| + | Ce démon va permettre d' | ||
| + | |||
| + | Pour cela, il va falloir paramétrer le fichier de configuration de smartmontools, | ||
| + | (utiliser nano, xed, vi, vim ou n' | ||
| + | |||
| + | |||
| + | Premièrement rechercher la ligne suivante et commenter la. | ||
| + | <code bash> | ||
| + | |||
| + | Elle devient donc | ||
| + | <code bash># DEVICESCAN -d removable -n standby -m root -M exec / | ||
| + | |||
| + | 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 | ||
| + | <code bash>/ | ||
| + | |||
| + | |||
| + | Faire de même pour tous les autres disques, par exemple si sdb également | ||
| + | <code bash>/ | ||
| + | |||
| + | |||
| + | 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/ | ||
| + | * -m root : envoie un mail à l' | ||
| + | |||
| + | 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 | ||
| + | |||
| + | <code bash># / | ||
| + | |||
| + | ====== 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 **__/ | ||
| + | Et décommenter la ligne | ||
| + | <code bash># uncomment to start smartd on system startup | ||
| + | # | ||
| + | |||
| + | |||
| + | Qui devient | ||
| + | <code bash># uncomment to start smartd on system startup | ||
| + | start_smartd=yes</ | ||
| + | |||
| + | Sauvegarder | ||
| + | |||
| + | |||
| + | Plus d' | ||
| + | |||
| + | |||
| + | ====== 7. Gestion des badblocks ====== | ||
| + | A partir d'ici, c'est un peu périlleux, donc à vos risques et périls. Le parcours est miné.... | ||
| + | Si des badblocks ont été détectés par exemple sur la partition sda1, | ||
| + | |||
| + | <code bash># smartctl -s on -a /dev/sda1 | ||
| + | ID# ATTRIBUTE_NAME | ||
| + | 5 Reallocated_Sector_Ct | ||
| + | .... | ||
| + | 187 Uncorrectable_Error_Cnt 0x0032 | ||
| + | .... | ||
| + | </ | ||
| + | |||
| + | <code bash># apt-get install e2fsprogs | ||
| + | </ | ||
| + | |||
| + | |||
| + | <code bash># badblocks -v /dev/sda6 > bad-blocks</ | ||
| + | |||
| + | Si ce fichier contient des entrées c'est qu'il y a des badblocks. Mauvais signe... | ||
| + | |||
| + | |||
| + | <code bash>cat bad-blocks | ||
| + | 155554476 | ||
| + | 155554477 | ||
| + | 155554478 | ||
| + | 155554479 | ||
| + | 155554480 | ||
| + | 155554481 | ||
| + | 155554482 | ||
| + | 155554483 | ||
| + | 155554580 | ||
| + | 155554581 | ||
| + | 155554582 | ||
| + | 155554583 | ||
| + | 155554584 | ||
| + | 155554585 | ||
| + | 155554586 | ||
| + | 155554587 | ||
| + | 155554972 | ||
| + | 155554973 | ||
| + | ....</ | ||
| + | |||
| + | |||
| + | |||
| + | Parfois, on peut forcer la réallocation des secteurs défectueux en écrivant dedans. Les données antérieures seront perdues dans tous les cas. | ||
| + | Sinon, il y a deux méthodes pour “vivre avec” : | ||
| + | |||
| + | * Si les défauts sont localisés à quelques endroits, on peut espérer repartitionner le disque en évitant les plages contenant des secteurs défectueux. | ||
| + | * Lors du formatage, passer l’option **-c à e2fsck** pour détecter les secteurs défectueux et les marquer à ne pas utiliser. | ||
| + | |||
| + | Attention, il ne faut alors pas écrire n' | ||
| + | |||
| + | Ce qui donnera comme ligne de commande : | ||
| + | |||
| + | <code bash>dd if=/ | ||
| + | dd if=/ | ||
| + | |||
| + | Faire de même avec les autres entrées. | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | Bon voilà, déjà de bonnes pistes ;) | ||
| + | |||
| + | Plus d' | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | |||