Smart tools - S.M.A.R.T.

Smart is a system for surveilling the health state of hard drives, for more info please visit wikipedia. In short it's a great tool that one should use.

What you need

  • a disk drive (if the disk is within a computer it's even better)
  • smartmontools - the package with the "smart" tools
  • apt-get install smartmontools

S.M.A.R.T. support

First you need to see if S.M.A.R.T. is supported by your system.. . (for all the below examples we shall assume we want to test hda or sda (IDE/SATA), adjust to your needs)

If you have an IDE drive :

smartctl -i /dev/hda

for SATA do :

smartctl -i -d ata /dev/sda

The output should resemble :

[root@weetabix][~-11:11] smartctl -i -d ata /dev/sda smartctl version 5.36 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF INFORMATION SECTION === Device Model: ST3160812AS Serial Number: 5LS49ZE1 Firmware Version: 3.AAE User Capacity: 160 041 885 696 bytes Device is: Not in smartctl database [for details use: -P showall] ATA Version is: 7 ATA Standard is: Exact ATA specification draft version not indicated Local Time is: Tue Apr 15 11:11:47 2008 CEST SMART support is: Available - device has SMART capability. SMART support is: Enabled

If you see SMART support is: Disabled instead of SMART support is: Enabled then you just need to activate S.M.A.R.T. and this is only possible if you see SMART support is: Available - device has SMART capability..To activate S.M.A.R.T. :

smartctl -s on /dev/hda

if you have a SATA drive :

smartctl -s on -d ata /dev/sda

Testing the drive

The option -H will output the health state of the drive, this is based on the "offline" tests that you must manually execute and other tests that the drive wil do on its own when SMART is activated. To activate SMART use the switch -s like this :

smartctl -H /dev/hda

for SATA

smartctl -H -d ata /dev/sda

The result should be :

SMART overall-health self-assessment test result: PASSED

If it isn't then you should backup all important data now and worry a little bit, the disk could live its last moments.

A quick test

This will execute a quick electronic, mechanical and read performance test.

smartctl -t short /dev/hda

SATA

smartctl -t short -d ata /dev/sda

A message should show how much time the test will take and even the time it should end, generally it's around 2 minutes. The test will run in the background, you can get the results by (wait for the test to end for better results :] ) typing :

smartctl -l selftest /dev/hda

and for SATA, now you probably figured out that you just need to add '-d ata' every time :]

smartctl -l selftest -d ata /dev/sda

You could see something like this :

=== 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 Short offline Completed without error 00% 7022 -

if your not as lucky it could be more like :

=== 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 Short offline Completed: read failure 60% 18222 44603135

A more complete test

This test is like the short version except that it takes so longer so it's more... thourough..

smartctl -t long /dev/sda

just in case :p - SATA

smartctl -d ata -t long /dev/sda

On a 40GB drive (and IDE and a SATA) this test took 17 minutes for me. To see the results, same story as the short test.. you might see the results of previous tests too...

For a good healthy disque you might see :

=== 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 without error 00% 7023 - # 2 Short offline Completed without error 00% 7022 -

If your hard drive is getting close to the end of retirement you might see something like :

=== 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 20% 18223 45651711 # 2 Short offline Completed: read failure 60% 18222 44603135 # 3 Extended offline Completed without error 00% 0 -

Want to see the error logs ?

I wish disk errors would never occur... but if you need to see the error logs (or if you just like seeing the message "No Errors Logged") than use the option "-l error".

smartctl -l error /dev/hda

SATA :]

smartctl -l error /dev/sda

And that's it for us, if you want to read more about it go read an article written by the author.