Linux – 1TB Seagate Barracuda ST31000528AS – Unexpected “Offline uncorrectable sectors”

hard drivelinuxraidseagatesmart

I bought a 1TB Seagate Barracuda 7200.12 – ST31000528AS drive about 18 months ago because it had a 5-year warranty, and used it alongside a Samsung Spinpoint under Ubuntu Server as one half of a software RAID-1 array.

Yesterday, smartd started reporting a problem:

Jan 18 06:08:03 svr smartd[2672]: Device: /dev/sdb [SAT], 2 Currently unreadable (pending) sectors
Jan 18 06:08:03 svr smartd[2672]: Device: /dev/sdb [SAT], 2 Offline uncorrectable sectors

I followed this up by investigations with smartctl… and, after scheduling some tests, I get these results:

$ smartctl -l error /dev/sdb
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.0.0-14-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
No Errors Logged
$ smartctl -l selftest /dev/sdb
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.0.0-14-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== 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  Extended offline    Completed: read failure       10%     12451         1953523918
# 2  Short offline       Completed: read failure       90%     12445         1953523918
# 3  Short offline       Completed: read failure       60%     12445         1953523918
# 4  Extended offline    Completed without error       00%      5532         -

$

Only the 'selftest' output documents any kind of a problem – though I'm not 100% clear how to interpret it. I suspect I may have scheduled two short tests at the same time… though I'm not sure why one has 90% remaining and the other 60%. Come to that, I can't see why my long test has 10% remaining.

Another curious thing is that Raid-1 hasn't detected any kind of problem (or, at least, that's what I understand "[2/2][UU]" means. While there are three partitions on sdb, only one is not trivially small… Of the other two, one is a boot partition (replicated between both drives for disaster recovery) and the other is swap.

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb3[1] sda3[0]
      967843840 blocks [2/2] [UU]

unused devices: <none>

A few questions…

  • Am I correct in thinking that this is strong evidence that sdb has a fault? Is it possible that this is a software not hardware issue?
  • Can I get a list of all the blocks that are detected as faulty – and establish which partitions they're in?
  • Can I (do I need to) map-out these bad sectors pending acquisition of a replacement drive?
  • Are a lot of people experiencing this sort of problem with the 1TB Seagate Barracuda drives?
  • Does anyone know if the output from smartmontools above is sufficient evidence of fault to secure a replacement under warranty?

Any advice/comments warmly appreciated… 🙂

As requested… smartctl –all /dev/sdb

smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.0.0-14-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.12
Device Model:     ST31000528AS
Serial Number:    9VP5LFZA
LU WWN Device Id: 5 000c50 0200362a0
Firmware Version: CC38
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Thu Jan 19 18:54:01 2012 GMT
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:  (0x82)     Offline data collection activity
                                    was completed without error.
                                    Auto Offline Data Collection: Enabled.
Self-test execution status:      ( 113)     The previous self-test completed having
                                    the read element of the test failed.
Total time to complete Offline
data collection:            (  609) seconds.
Offline data collection
capabilities:                        (0x7b) SMART execute Offline immediate.
                                    Auto Offline data collection on/off support.
                                    Suspend Offline collection upon new
                                    command.
                                    Offline surface scan supported.
                                    Self-test supported.
                                    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:    (   1) minutes.
Extended self-test routine
recommended polling time:    ( 178) minutes.
Conveyance self-test routine
recommended polling time:    (   2) minutes.
SCT capabilities:          (0x103f) SCT Status supported.
                                    SCT Error Recovery Control supported.
                                    SCT Feature Control supported.
                                    SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   118   099   006    Pre-fail  Always       -       198953639
  3 Spin_Up_Time            0x0003   095   095   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       32
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   076   060   030    Pre-fail  Always       -       45828174
  9 Power_On_Hours          0x0032   086   086   000    Old_age   Always       -       12498
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       16
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   100   100   000    Old_age   Always       -       0
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   064   056   045    Old_age   Always       -       36 (Min/Max 25/44)
194 Temperature_Celsius     0x0022   036   044   000    Old_age   Always       -       36 (0 20 0 0)
195 Hardware_ECC_Recovered  0x001a   025   011   000    Old_age   Always       -       198953639
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       2
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       2
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       253776732631285
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       2894995523
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       2366564210

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  Extended offline    Completed: read failure       10%     12451         1953523918
# 2  Short offline       Completed: read failure       90%     12445         1953523918
# 3  Short offline       Completed: read failure       60%     12445         1953523918
# 4  Extended offline    Completed without error       00%      5532         -

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.

Best Answer

  1. Yes, it definitely looks like a hardware fault.
  2. I have had multiple Barracuda ES / ES.2 drives go..including 12 out of 16 across two servers.
  3. I don't think the smartmontools is sufficient for warranty replacement. Go to Seagate's website and download their SeaTools bootable CD. When/if it determines the drive has a fault, it will give you a warranty code.

To me, it looks like you have a dying drive, with sectors that can't be re-mapped. Ditch the drive, get a new one, rebuild the RAID array. The drives are so cheap it's really not worth thinking about. Especially if you have any attachment to any of this data.

edit: Additionally, SeaTools will give you a list of the bad sectors that it finds. Also, output of smartctl -a /dev/sdb would be helpful.

edit2: From looking at your smartctl -a output...

You have 2 "Offline Unrecoverable Sectors" --but what does this mean?

An offline uncorrectable sector is a disk sector which was not readable during
an off-line scan or a self-test. This is important to know, because if you have
data stored in this disk sector, and you need to read it, the read will fail.
Please see the previous '-C' option for more details.

citation: http://smartmontools.sourceforge.net/man/smartd.8.html

There are also 2 "Current Pending Sectors" --and what are they?

A pending sector is a disk sector (containing 512 bytes of your data) which the
device would like to mark as ``bad" and reallocate. Typically this is because
your computer tried to read that sector, and the read failed because the data on
it has been corrupted and has inconsistent Error Checking and Correction (ECC)
codes. This is important to know, because it means that there is some unreadable
data on the disk. The problem of figuring out what file this data belongs to is
operating system and file system specific. You can typically force the sector to
reallocate by writing to it (translation: make the device substitute a spare
good sector for the bad one) but at the price of losing the 512 bytes of data
stored there.

So, your disk was unable to read from two sectors, could not, and now wants to mark them as faulty so they can be reallocated.

Personally, I tend to toss drives (especially in RAID arrays) once they start having bad sectors. But, I also don't pay for them...

Alternatively, maybe you could break the mirror, remove that drive, and give it a scan with SeaTools? If it is able to remap the sectors, it will. It shouldn't matter if/when it destroys, because the mirror will be rebuilt when you re-insert the disk and rebuild the array. However, I've not done this, and would wait for someone to chime in.