Actions

Analyzing Disk Health


This article describes how to analyze disk health using SMART tool.

Just because some errors are discovered, it does not mean that the disk needs to be replaced. There are multiple items to verify before asserting a disk is failing or not.

Whether or not the disk is failing, it is good practice to do regular backups:

  • Toolpack configuration database
  • Streamserver prompts
  • CDR


Retrieve disk health information

Execute the following command for each disk in your system

TMG800/TMG3200:

smartctl -a /dev/sda

TMG7800:

smartctl -a /dev/sda
smartctl -a /dev/sdb


Analyzing smartctl output

Disk information section

The first section shows hard disk information.

Example:

smartctl version 5.38 [x86_64-redhat-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model:     ST500DM002-1BD142
Serial Number:    W2ABM3WL
Firmware Version: KC45
User Capacity:    500,107,862,016 bytes
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:    Thu May  9 19:57:04 2013 BDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled


SMART Overall

This section shows the overall status of the disk.

Check the line: "SMART overall-health self-assessment test result"

If that line is different from "PASSED", you will need to change the disk.

Example:

=== 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: 		 ( 592) 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: 	 (  82) minutes.
Conveyance self-test routine
recommended polling time: 	 (   2) minutes.
SCT capabilities: 	       (0x303f)	SCT Status supported.
					SCT Feature Control supported.
					SCT Data Table supported.

SMART Disk Attributes Analysis

The "WHEN_FAILED" is the column to analyse. If an attribute is different than "-", you should analyse what that attribute means.

Each manufacturers/models has their own attributes. Here is the list of the most important items:

  • Reallocated Sectors Count
  • Spin Retry Count
  • End-to-End error / IOEDC
  • Command Timeout
  • Reallocation Event Count
  • Current Pending Sector Count
  • Uncorrectable Sector Count
  • Offline Uncorrectable
  • Off-Line Scan Uncorrectable Sector Count
  • Soft Read Error Rate
  • TA Counter Detected
  • Drive Life Protection Status


Example:

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   108   099   006    Pre-fail  Always       -       20746840
  3 Spin_Up_Time            0x0003   100   100   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       13
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   087   060   030    Pre-fail  Always       -       510305350
  9 Power_On_Hours          0x0032   093   093   000    Old_age   Always       -       6671
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       13
183 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
184 Unknown_Attribute       0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Unknown_Attribute       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   071   052   045    Old_age   Always       -       29 (Lifetime Min/Max 21/38)
194 Temperature_Celsius     0x0022   029   048   000    Old_age   Always       -       29 (0 21 0 0)
195 Hardware_ECC_Recovered  0x001a   048   045   000    Old_age   Always       -       20746840
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       108009837566479
241 Unknown_Attribute       0x0000   100   253   000    Old_age   Offline      -       2959021143
242 Unknown_Attribute       0x0000   100   253   000    Old_age   Offline      -       2656448388


SMART Error Log

The SMART Error Log will show the number of errors.

Having a few errors doesn't mean the disk need to be replace. A large number of errors (over a 1000) should be consider problematic.

Example:

SMART Error Log Version: 1
ATA Error Count: 18 (device log contains only the most recent five errors)
	CR = Command Register [HEX]
	FR = Features Register [HEX]
	SC = Sector Count Register [HEX]
	SN = Sector Number Register [HEX]
	CL = Cylinder Low Register [HEX]
	CH = Cylinder High Register [HEX]
	DH = Device/Head Register [HEX]
	DC = Device Command Register [HEX]
	ER = Error register [HEX]
	ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 18 occurred at disk power-on lifetime: 4557 hours (189 days + 21 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 00 ff ff ff 0f

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 00 80 ff ff ff 4f 00  17d+22:09:56.826  READ FPDMA QUEUED
  60 00 80 ff ff ff 4f 00  17d+22:09:56.825  READ FPDMA QUEUED
  60 00 80 ff ff ff 4f 00  17d+22:09:56.825  READ FPDMA QUEUED
  60 00 80 ff ff ff 4f 00  17d+22:09:56.825  READ FPDMA QUEUED
  60 00 80 ff ff ff 4f 00  17d+22:09:56.824  READ FPDMA QUEUED

SMART self-test

List of SMART test run on the system. The LBA_of_first_error element is the one to check. If it is different from "-", you may want to replace the disk

Example:

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%      9747         -
# 2  Short offline       Completed without error       00%         1         -


Running SMART disk test

After analyzing the output of the "smartctl", there were some errors.

Please run the following (WARNING: Can be very long up to 27hours, but is not system affective)

smartctl -l selftest /dev/sda

References