How do I know if my hard drive is failing?

Required Software

 apt-get install smartmontools

About

smartctl controls the Self-Monitoring, Analysis and Reporting Technology (SMART) system built into many ATA-3 and later ATA, IDE and SCSI-3 hard drives. The purpose of SMART is to monitor the reliability of the hard drive and predict drive failures, and to carry out different types of drive self-tests. smartctl is a command line utility designed to perform SMART tasks such as printing the SMART self-test and error logs, enabling and disabling SMART automatic testing, and initiating device self-tests. Make sure S.M.A.R.T. support is enabled in the BIOS. The next step is to make sure that smart is enabled on your disks.

 smartctl -i /dev/sdb

If it’s disabled, you can enable it like this.

 smartctl -s on -d ata /dev/sdb

*Output*

smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.

Test Disk Health

smartctl -d ata -H /dev/sdb

Output

smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

You can get more information like this.

smartctl -d ata -a /dev/sdb

Output

smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Caviar SE16 family
Device Model:     WDC WD4000KD-00NAB0
Serial Number:    WD-WMAMY1036416
Firmware Version: 01.06A01
User Capacity:    400,088,457,216 bytes
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 published, ANSI INCITS 397-2005
Local Time is:    Fri Jan  4 08:56:57 2008 EST
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:                  (10530) 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:          (   2) minutes.
Extended self-test routine
recommended polling time:          ( 152) minutes.
Conveyance self-test routine
recommended polling time:          (   5) minutes.
 
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   233   220   021    Pre-fail  Always       -       5366
 4 Start_Stop_Count        0x0032   100   100   040    Old_age   Always       -       229
 5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
 7 Seek_Error_Rate         0x000b   200   200   051    Pre-fail  Always       -       0
 9 Power_On_Hours          0x0032   084   084   000    Old_age   Always       -       11968
10 Spin_Retry_Count        0x0013   100   062   051    Pre-fail  Always       -       0
11 Calibration_Retry_Count 0x0013   100   100   051    Pre-fail  Always       -       0
12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       225
194 Temperature_Celsius     0x0022   122   100   000    Old_age   Always       -       30
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
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   253   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0009   200   200   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.

Extended Test

You need to begin an extended self-test of drive /dev/sdb. You can issue this command on a running system. The results can be seen in the self-test log visible with the ´-l selftest´ option after it has completed.

 smartctl -d ata -t long /dev/sdb

Now, to get this setup properly. First, you need to config the /etc/smartd.conf file for this to work properly.

 nano /etc/smartd.conf

This is an example file.

# schedule all tests (Offline, Extended and Conveyance tests) to be launched
# every Thursday from 00:00 to 4:00, in succession

/dev/sda -H -s (O/../../4/00|L/../../4/02|C/../../4/04) -d sat -m your_user@gmail.com
/dev/sdb -H -s (O/../../4/00|L/../../4/02|C/../../4/04) -d sat -m your_user@gmail.com
/dev/sdc -H -s (O/../../4/00|L/../../4/02|C/../../4/04) -d sat -m your_user@gmail.com
/dev/sdd -H -s (O/../../4/00|L/../../4/02|C/../../4/04) -d sat -m your_user@gmail.com
/dev/sde -H -s (O/../../4/00|L/../../4/02|C/../../4/04) -d sat -m your_user@gmail.com

This will run an Offline, Extended, and Conveyance tests in series on each of my hard drives Thursday mornings. If any errors occur, it will email me. Next you need to edit /etc/default/smartmontools.

 nano /etc/default/smartmontools

And uncomment this line.

 start_smartd=yes

Finally, restart Smartmontools

 /etc/init.d/smartmontools restart

If you get any error messages, check the logs

 tail -n 100 /var/log/syslog

Zack

I love learning new things and trying out the latest technology.

You may also like...

1 Response

  1. kiwijunglist says:

    Q1 – Sorry potentially quite a dumb question, but can you explain how to issue this command?
    “The results can be seen in the self-test log visible with the ´-l selftest´ option after it has completed.”

    Q2 – Can you adjust the below so it does a shorter test every night and all tests every Thursday from 00:00 to 4:00, in succession
    /dev/sda -H -s (O/../../4/00|L/../../4/02|C/../../4/04) -d sat -m your_user@gmail.com

    Is this worthwhile to do?

Leave a Reply

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