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 08:35] – créée cyrille | freebsd-smartmontools [2019/07/17 19: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:// | ||
+ | |||
+ |