Hard disk very slow, failing with more and more errors-Collection of common programming errors
Since a couple days, my Seagate Momentus 7200.4 has been failing more and more, possibly because of a power outage. After the “WARNING: Your hard drive is failing” (I’m using fedora), the main symptom was the slowness: constant 100 % CPU wait for hours, almost impossible to do anything. I made a backup, then I restarted and I had to do an e2fsck -y (lots of output), which I had to repeat later (didn’t even boot at some point, kernel panic), I did some smartctl tests long and short, I left it alone for a night to its sector correcting or whatever.
Now the number of errors accumulating seems lower and the computer is mostly usable, but what should I do: is there some fsck command with better effects, or some other way to make it skip the bad sectors and keep functioning, other than fixing the sectors one by one with hdparm? Or is the drive surely to be trashed?
Excerpts from smartctl -x /dev/sda :
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAGS VALUE WORST THRESH FAIL RAW_VALUE
1 Raw_Read_Error_Rate POSR-- 085 074 006 - 243348742
5 Reallocated_Sector_Ct PO--CK 100 100 036 - 0
7 Seek_Error_Rate POSR-- 084 060 030 - 238612361
9 Power_On_Hours -O--CK 087 087 000 - 11535
198 Offline_Uncorrectable ----C- 100 100 000 - 8
199 UDMA_CRC_Error_Count -OSRCK 200 200 000 - 0
240 Head_Flying_Hours ------ 100 253 000 - 132680129719553
241 Total_LBAs_Written ------ 100 253 000 - 2525013242
242 Total_LBAs_Read ------ 100 253 000 - 2162196433
Error 3759 [18] occurred at disk power-on lifetime: 11535 hours (480 days + 15 hours)
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER -- ST COUNT LBA_48 LH LM LL DV DC
-- -- -- == -- == == == -- -- -- -- --
40 -- 51 00 00 00 22 7e 00 3d 2a 00 00 Error: UNC at LBA = 0x227e003d2a = 148142832938
Commands leading to the command that caused the error were:
CR FEATR COUNT LBA_48 LH LM LL DV DC Powered_Up_Time Command/Feature_Name
-- == -- == -- == == == -- -- -- -- -- --------------- --------------------
60 00 00 00 08 00 22 7e 00 3d 28 40 00 18:38:24.892 READ FPDMA QUEUED
27 00 00 00 00 00 00 00 00 00 00 e0 00 18:38:24.891 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
ec 00 00 00 00 00 00 00 00 00 00 a0 00 18:38:24.889 IDENTIFY DEVICE
ef 00 03 00 46 00 00 00 00 00 00 a0 00 18:38:24.889 SET FEATURES [Set transfer mode]
27 00 00 00 00 00 00 00 00 00 00 e0 00 18:38:24.889 READ NATIVE MAX ADDRESS EXT [OBS-ACS-3]
SMART Extended Self-test Log Version: 1 (1 sectors)
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed: read failure 90% 11528 574443398
More: http://p.defau.lt/?DTSGCmr7mb_anDD3IQ9Bgg http://p.defau.lt/?hNM7_BusGyz4DYLi9XX0Kg http://p.defau.lt/?wQArANAXPLnpyD87xUY6CA http://p.defau.lt/?hXbtLh27yFZhySu0y9axJw
Update: as you said the disk is to be trashed already, I did dmesg | grep -oE “sector.+$” | sort -u and I sudo hdparm –write-sector –yes-i-know-what-i-am-doing ‘d a dozen sectors. Now running another test, let’s see what comes out of it.
Update 2: I had to fix some more bad sectors with hdparm manually but, a night later, all the errors I find in the system log seem to have successfully auto-corrected as they should normally. I encountered some funny errors in the meanwhile, like distorted sound à la techno music and grep freaking out, but a yum update may have sufficed to repair them. The last smartctl -a /dev/sda completed without errors; I now have “ATA Error Count: 5004”, 2 for 197 Current_Pending_Sector and 198 Offline_Uncorrectable.
Update 3: the system is mostly usable, but the problems persist: “ATA Error Count: 9484”. I sometimes have to use the hdparm trick, but I think it’s not working properly because the problem later appears on the following sector. Offline_Uncorrectable is not growing, so I suspect the disk is failing to deactivate bad sectors. I guess I have to give up and buy a new one…