PDA

View Full Version : How to check harddisk (HDD) in Linux and discover errors?



Fli
04-12-2014, 12:21 AM
Hello,

please do you know any clever ways to check hard drives in Linux and discover its health/status/possible errors?


So far i found command:


smartctl -a /dev/sda

Example output: (takes around 15 seconds?)


[root@* ~]# smartctl -a /dev/sda
smartctl 5.42 2011-10-20 r3458 [x86_64-linux-2.6.18-371.3.1.el5.028stab110.1] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net


=== START OF INFORMATION SECTION ===
Device Model: TOSHIBA DT01ACA200
Serial Number: Z3AYMBBKS
LU WWN Device Id: 5 000039 ff3e9a678
Firmware Version: MX4OABB0
User Capacity: 2,000,398,934,016 bytes [2.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Fri Apr 11 18:43:19 2014 EDT
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: (0x84) Offline data collection activity
was suspended by an interrupting command from host.
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: (13961) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No 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: ( 233) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table 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 100 100 016 Pre-fail Always - 0
2 Throughput_Performance 0x0005 140 140 054 Pre-fail Offline - 68
3 Spin_Up_Time 0x0007 100 100 024 Pre-fail Always - 0
4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 3
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 124 124 020 Pre-fail Offline - 33
9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 836
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 3
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 5
193 Load_Cycle_Count 0x0012 100 100 000 Old_age Always - 5
194 Temperature_Celsius 0x0002 214 214 000 Old_age Always - 28 (Min/Max 21/30)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 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.


To discover what particular values mean one can open this page and use Ctrl+F - https://en.wikipedia.org/wiki/Self-Monitoring,_Analysis,_and_Reporting_Technology#Kno wn_ATA_S.M.A.R.T._attributes

Legend/Explanations:
pre-fail - means that certain attribute is at or below manufactures expectations.
Old_age - describing a parameter type for some of the named attributes, which indicates it is expected to change with age; Old_Age is a definition of the SW been used
Reallocated_Sector_Ct - count of bad sectors, so if this value is high, it can be warning sign
Throughput_Performance - If the value of this attribute is decreasing there is a high probability that there is a problem with the disk.

Quick test with output:

smartctl -t short /dev/sda;echo "----- Sleeping 2 minutes -----";sleep 120;smartctl -a /dev/sda

Automatic checking & mail when HDD fails:

A)
1. open: vi /etc/smartd.conf

2. find first line with "@" (/@ + Enter) and change to your email and uncomment (remove #), then save (:wq + enter)

B)
modiffy your email and run command (on your risk):

find /etc -name 'smartd.conf' -type f -print0 | xargs -0 sed -i 's|#/dev/hdc -a -I 194 -W 4,45,55 -R 5 -m [email protected]|/dev/hdc -a -I 194 -W 4,45,55 -R 5 -m [email protected]|g'

this smartd.conf based check i did not veriffied that works /dev/hds dont exist
=====

HDD health checking scripts:
http://nixcraft.com/showthread.php/16989-Script-to-execute-smartctl-commnad-every-night-and-mail-the-list-of-systems?p=33371&viewfull=1#post33371
http://hotfortech.wikispaces.com/HD+monitor+script
http://rhau.se/2012/11/08/disk-check-script/
https://help.ubuntu.com/community/Smartmontools (on the bottom)
http://csidiropoulos.wordpress.com/2013/12/13/bash-script-to-monitor-hard-disk-health-and-send-an-e-mail-on-error/