Bonjour tout le monde,
Mon PC portable avec un HDD, acheté fin août, tourne sous Arch avec un système de fichiers Btrfs. Je n'ai pas eu de problème jusqu'à vendredi soir. La semaine passée, je ne l'ai pas utilisé et je n'avais absolument aucun problème le week-end dernier. Quand j'ai voulu mettre à jour avec sudo pacman -Syu
, j'ai eu une magnifique bus error: zsh: bus error sudo pacman -Syu
.
J'en menais pas large alors j'ai lancé dmesg | tail
pour voir le résultat. Et merde. C'est pas un souci logiciel:
1 2 3 4 5 6 7 8 9 10 | [ 1540.558573] ata1.00: status: { DRDY ERR } [ 1540.558575] ata1.00: error: { UNC } [ 1540.580751] ata1.00: configured for UDMA/133 [ 1540.580763] sd 0:0:0:0: [sda] tag#21 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08 [ 1540.580765] sd 0:0:0:0: [sda] tag#21 Sense Key : 0x3 [current] [descriptor] [ 1540.580767] sd 0:0:0:0: [sda] tag#21 ASC=0x11 ASCQ=0x4 [ 1540.580769] sd 0:0:0:0: [sda] tag#21 CDB: opcode=0x28 28 00 03 9a 02 18 00 00 08 00 [ 1540.580771] blk_update_request: I/O error, dev sda, sector 60424728 [ 1540.580774] BTRFS: bdev /dev/sda3 errs: wr 0, rd 218, flush 0, corrupt 0, gen 0 [ 1540.580793] ata1: EH complete |
Pour moi ça veut dire que le disque dur est en train de me lâcher. J'ai fait une dernière sauvegarde vite fait de mon /home
et puis c'est le tour des tests SMART. J'ai juste eu le temps de faire le test court:
1 2 3 4 5 6 7 | $ sudo smartctl -t short /dev/sda $ sudo smartctl -H /dev/sda smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.3.3-2-ARCH] (local build) Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED |
A priori ça a l'air d'aller. Sauf que si on regarde le log complet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 | smartctl 6.4 2015-06-04 r4109 [x86_64-linux-4.3.3-2-ARCH] (local build) Copyright (C) 2002-15, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Device Model: HGST HTS545050A7E680 Serial Number: RB050AM51DSJSJ LU WWN Device Id: 5 000cca 7a3d3e453 Firmware Version: GR2OA3B0 User Capacity: 500,107,862,016 bytes [500 GB] Sector Sizes: 512 bytes logical, 4096 bytes physical Rotation Rate: 5400 rpm Form Factor: 2.5 inches Device is: Not in smartctl database [for details use: -P showall] ATA Version is: ATA8-ACS T13/1699-D revision 6 SATA Version is: SATA 2.6, 6.0 Gb/s (current: 6.0 Gb/s) Local Time is: Sun Jan 24 22:55:24 2016 CET 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: ( 45) 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. General Purpose Logging supported. Short self-test routine recommended polling time: ( 2) minutes. Extended self-test routine recommended polling time: ( 109) 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: 16 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000b 096 096 062 Pre-fail Always - 589824 2 Throughput_Performance 0x0005 100 100 040 Pre-fail Offline - 0 3 Spin_Up_Time 0x0007 253 253 033 Pre-fail Always - 0 4 Start_Stop_Count 0x0012 095 095 000 Old_age Always - 9319 5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0 7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0 8 Seek_Time_Performance 0x0005 100 100 040 Pre-fail Offline - 0 9 Power_On_Hours 0x0012 099 099 000 Old_age Always - 523 10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 422 191 G-Sense_Error_Rate 0x000a 100 100 000 Old_age Always - 0 192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 9 193 Load_Cycle_Count 0x0012 091 091 000 Old_age Always - 99202 194 Temperature_Celsius 0x0002 193 193 000 Old_age Always - 31 (Min/Max 15/43) 196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 11 197 Current_Pending_Sector 0x0022 095 095 000 Old_age Always - 352 198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0 199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0 223 Load_Retry_Count 0x000a 100 100 000 Old_age Always - 0 SMART Error Log Version: 1 ATA Error Count: 259 (device log contains only the most recent five errors) CR = Command Register [HEX] FR = Features Register [HEX] SC = Sector Count Register [HEX] SN = Sector Number Register [HEX] CL = Cylinder Low Register [HEX] CH = Cylinder High Register [HEX] DH = Device/Head Register [HEX] DC = Device Command Register [HEX] ER = Error register [HEX] ST = Status register [HEX] Powered_Up_Time is measured from power on, and printed as DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes, SS=sec, and sss=millisec. It "wraps" after 49.710 days. Error 259 occurred at disk power-on lifetime: 523 hours (21 days + 19 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 40 51 08 50 5c e9 03 Error: UNC at LBA = 0x03e95c50 = 65625168 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- 60 08 88 50 5c e9 40 00 00:31:38.962 READ FPDMA QUEUED ea 00 00 00 00 00 a0 00 00:31:38.954 FLUSH CACHE EXT 61 08 78 80 00 10 40 00 00:31:38.954 WRITE FPDMA QUEUED ea 00 00 00 00 00 a0 00 00:31:38.927 FLUSH CACHE EXT 61 20 68 20 4f 43 40 00 00:31:38.927 WRITE FPDMA QUEUED Error 258 occurred at disk power-on lifetime: 523 hours (21 days + 19 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 40 51 08 50 5c e9 03 Error: UNC at LBA = 0x03e95c50 = 65625168 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- 60 08 f0 50 5c e9 40 00 00:27:03.940 READ FPDMA QUEUED ea 00 00 00 00 00 a0 00 00:26:58.710 FLUSH CACHE EXT 61 08 d0 00 00 10 40 00 00:26:58.710 WRITE FPDMA QUEUED 61 08 c8 00 00 12 40 00 00:26:58.710 WRITE FPDMA QUEUED 61 08 c0 80 00 10 40 00 00:26:58.710 WRITE FPDMA QUEUED Error 257 occurred at disk power-on lifetime: 523 hours (21 days + 19 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 40 51 08 18 02 9a 03 Error: WP at LBA = 0x039a0218 = `` Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- 61 08 b0 80 00 10 40 00 00:25:41.546 WRITE FPDMA QUEUED 60 08 a8 18 02 9a 40 00 00:25:41.546 READ FPDMA QUEUED ea 00 00 00 00 00 a0 00 00:25:41.449 FLUSH CACHE EXT 61 20 98 40 75 42 40 00 00:25:41.448 WRITE FPDMA QUEUED 61 20 90 40 72 42 40 00 00:25:41.448 WRITE FPDMA QUEUED Error 256 occurred at disk power-on lifetime: 523 hours (21 days + 19 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 40 51 08 18 02 9a 03 Error: UNC at LBA = 0x039a0218 = 60424728 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- 60 08 f0 18 02 9a 40 00 00:24:44.522 READ FPDMA QUEUED 61 10 e8 60 53 54 40 00 00:24:36.018 WRITE FPDMA QUEUED 61 10 e0 50 92 51 40 00 00:24:16.843 WRITE FPDMA QUEUED ea 00 00 00 00 00 a0 00 00:24:06.139 FLUSH CACHE EXT 61 08 c0 00 00 10 40 00 00:24:06.139 WRITE FPDMA QUEUED Error 255 occurred at disk power-on lifetime: 522 hours (21 days + 18 hours) When the command that caused the error occurred, the device was active or idle. After command completion occurred, registers were: ER ST SC SN CL CH DH -- -- -- -- -- -- -- 40 51 08 50 5c e9 03 Error: UNC at LBA = 0x03e95c50 = 65625168 Commands leading to the command that caused the error were: CR FR SC SN CL CH DH DC Powered_Up_Time Command/Feature_Name -- -- -- -- -- -- -- -- ---------------- -------------------- 60 08 f0 50 5c e9 40 00 00:20:20.835 READ FPDMA QUEUED 60 08 e8 98 20 52 40 00 00:20:20.830 READ FPDMA QUEUED 60 08 e0 c0 19 52 40 00 00:20:20.829 READ FPDMA QUEUED 60 20 d8 40 33 16 40 00 00:20:20.821 READ FPDMA QUEUED 61 08 d0 08 83 10 40 00 00:20:20.634 WRITE FPDMA QUEUED 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% 522 - # 2 Extended offline Aborted by host 90% 522 - # 3 Short offline Completed without error 00% 522 - 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. |
On voit deux secteurs (c'est le bon terme ?) différents qui merdent: 65625168
et 60424728
. Et justement c'est ce dernier qui apparaît dans dmesg | tail
quand j'appelle pacman
avec n'importe quel paramètre.
J'ai perdu que 4 fichiers de mon /home
en tout. Si je prends un exemple, c'est la chanson 1984 de Van Halen. Si je fais ceci, j'ai:
1 2 3 4 5 6 7 8 9 10 11 12 13 | $ cat 1984.mp3 cat: 01 - 1984.mp3: Input/output error $ dmesg | tail [ 2375.248762] ata1.00: status: { DRDY ERR } [ 2375.248763] ata1.00: error: { UNC } [ 2375.272894] ata1.00: configured for UDMA/133 [ 2375.272908] sd 0:0:0:0: [sda] tag#27 UNKNOWN(0x2003) Result: hostbyte=0x00 driverbyte=0x08 [ 2375.272910] sd 0:0:0:0: [sda] tag#27 Sense Key : 0x3 [current] [descriptor] [ 2375.272911] sd 0:0:0:0: [sda] tag#27 ASC=0x11 ASCQ=0x4 [ 2375.272913] sd 0:0:0:0: [sda] tag#27 CDB: opcode=0x28 28 00 03 9a e8 30 00 00 08 00 [ 2375.272915] blk_update_request: I/O error, dev sda, sector 60483632 [ 2375.272918] BTRFS: bdev /dev/sda3 errs: wr 0, rd 225, flush 0, corrupt 0, gen 0 [ 2375.272940] ata1: EH complete |
Et ce secteur-ci c'est pas un des deux que j'ai relevé plus haut.
Du coup, je me demandais si c'est bien un souci avec le dissque dur. J'ai bien peur que oui personnellement. La machine est tout à fait utilisable, mais l'idée d'avoir des secteurs foireux me chagrine, d'autant plus que c'est une machine récente et en plus c'est un ultraportable que je peux pas démonter. La seule solution serait de le renvoyer au SAV materiel.net sachant que c'est encore sous garantie. C'est très casse-couillespieds parce que j'en ai besoin pendant la semaine pour mon TIPE et que j'ai peur qu'ils fassent traîner ça en longueur. Pacman est inutilisable, ce qui est très loin d'être pratique. En plus il y a un fichier de mon installation de Miniconda qui est HS.
Vous confirmez mon diagnostic ? Je fais quoi ?
EDIT: J'ai lancé badblocks
il y a quelques minutes, il me signale plein de blocs morts. Pour l'instant il en a chopé 112 et ça grimpe vite. Le disque a pas l'air en bon état du tout manifestement. Du coup, question supplémentaire:
- Faire confiance au SAV Asus qui va probablement prendre super longtemps ou démonter et changer le disque dur à la main ? Vu le nombre de blocs morts, j'ai bien peur qu'ils m'accusent d'avoir roulé dessus avec un tank et se débrouillent pour ne pas me corriger ça. En plus, par le passé on a eu une mauvaise expérience avec le SAV Asus sur un notebook, la carte mère a grillé, ils l'ont "remplacée" et hop ça a re-grillé. Ils ont jamais voulu le rembourser.
EDIT 2: Pendant la nuit je lui ai fait calculer le nombre de "bad blocks", il y en a au total 960 environ.