I recently fixed the local email on my Linux desktop. One of the side effects of never, ever reinstalling Debian is that things sometimes go wonky in the day-to-day upgrades and I never notice it. I last reinstalled Debian when I upgraded to a 64bit system in 2007. I’ve been running sid ever since then, which means that things break sometimes. When I decided to upgrade my hardware last week, I checked on my backups and noticed that the backup cron job hadn’t run since August. It probably took me awhile to notice because it also stopped sending me e-mail when things break.

So I fixed the e-mail. Which meant that today, it emailed me to tell me that one of my hard drives has noticed that it’s got 532 bad sectors. That’s unfortunate, but hard drives break. All the time. This particular drive is only a couple years old, so that’s sad. I started looking into the SMART data for all my hard drives, and noticed something that’s well, truly outstanding on an entirely different drive:

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Raptor
Device Model:     WDC WD360GD-00FLA2
Serial Number:    WD-WMAKH1125117
Firmware Version: 31.08F31
User Capacity:    37,019,566,080 bytes [37.0 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database 7.3/5319
ATA Version is:   ATA/ATAPI-6 (minor revision not indicated)
Local Time is:    Mon Nov 28 22:15:43 2022 MST
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:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever 
                                        been run.
Total time to complete Offline 
data collection:                (  957) 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.
                                        No General Purpose Logging support.
Short self-test routine 
recommended polling time:        (   2) minutes.
Extended self-test routine
recommended polling time:        (  21) minutes.
Conveyance self-test routine
recommended polling time:        (   5) minutes.
SCT capabilities:              (0x001f) SCT Status supported.
                                        SCT Error Recovery Control supported.
                                        SCT Feature Control 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   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0007   120   119   021    Pre-fail  Always       -       2541
  4 Start_Stop_Count        0x0032   099   099   040    Old_age   Always       -       1433
  5 Reallocated_Sector_Ct   0x0033   196   196   140    Pre-fail  Always       -       55
  7 Seek_Error_Rate         0x000b   200   200   051    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0032   001   001   000    Old_age   Always       -       134911
 10 Spin_Retry_Count        0x0013   100   100   051    Pre-fail  Always       -       0
 11 Calibration_Retry_Count 0x0013   100   100   051    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1349
194 Temperature_Celsius     0x0022   118   100   000    Old_age   Always       -       29
196 Reallocated_Event_Count 0x0032   189   189   000    Old_age   Always       -       11
197 Current_Pending_Sector  0x0012   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0012   200   200   000    Old_age   Always       -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       141
200 Multi_Zone_Error_Rate   0x0009   200   179   051    Pre-fail  Offline      -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]

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.

The most outstanding line there is the power-on time of 134911 hours, or 15 years. This is a WD Raptor, a 10,000RPM monster that I purchased in 2005 for $104.50. For some number of years, it housed my root partition. I’m sure it was retired from primary duty whenever I acquired my first SSD, but it’s sat in my case chugging along. I’ve kept it there because I’m weird and lazy, even though 36GB is now hilariously small in hard drive terms. It now contains a bare-bones rescue Debian system that I boot into every time my primary drive dies, or when I wish to upgrade the primary drive. Normal people would probably use a USB stick for that sort of thing, but they’re obnoxiously slow and easily misplaced. I just spent a lot of time last weekend booted off that drive, migrating the root partition from a 1TB PCIe 3.0 to a PCIe 4.0 drive.

And it works just fine. Sure, in the last 5 years it’s had to relocate 55 bad sectors, but that was probably ages ago. It has no currently pending or uncorrectable sectors. When I bought it, everyone figured that a 10,000rpm drive was a disaster waiting to happen. It’s turned out to be remarkably reliable.

This drive is a relic. It wasn’t even native-SATA. It’s a PATA drive with a SATA bridge. It’s doesn’t even have NCQ.

Meanwhile, I’m waiting hours to write zeros to the newish “bad” drive to see if it relocates all its bad sectors and pretends to be healthy again.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.