Select Git revision
test.single
index.html 27.48 KiB
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>smartmontools Home Page</title>
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1">
<meta name="author" content="Bruce Allen">
<meta name="description"
content="SMART S.M.A.R.T. linux disk monitoring">
</head>
<body>
<div align="center">
<h1><font color="#3333ff">smartmontools HOME PAGE
</font> <a href="http://sourceforge.net"><img
src="http://sourceforge.net/sflogo.php?group_id=64297&type=5"
width="210" height="62" border="0" alt="SourceForge.net Logo"
align="middle">
</a> </h1>
</div>
<div align="left">This is the home page for smartmontools. The smartmontools
package contains two utility programs (<font color="#3333ff"><b>smartctl</b></font>
and <font color="#3333ff"><b>smartd</b></font>) to control
and monitor storage systems using the Self-Monitoring, Analysis and
Reporting Technology System (S.M.A.R.T.) built into most modern
ATA and SCSI hard disks. It is derived from the smartsuite package,
and includes support for ATA/ATAPI-5 disks. It should run on any modern
linux system.<br>
<br>
For your convenience, this is a single page, so you can
print it easily.<br>
<hr width="100%" size="2">
<ul>
<li><a href="#howtodownload">How to download and install
smartmontools</a></li>
<li><a href="#FAQ">Frequently Asked Questions</a></li>
<li><a href="#testinghelp">The code needs to be tested
on SCSI disks/tapes</a></li>
<li><a href="#differfromsmartsuite">How does smartmontools
differ from smartsuite?</a></li>
<li><a href="#references">Useful references on
S.M.A.R.T. and ATA/ATAPI-5, -6, and -7</a></li>
<li><a href="#sampleoutput">Some sample output from smartmontools</a></li>
<li><a
href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/smartmontools/">Smartmontools
CVS archive</a> and <a
href="http://sourceforge.net/projects/smartmontools">SourceForge projects
group page</a></li>
<li><a
href="http://lists.sourceforge.net/mailman/listinfo/smartmontools-support">
Mailing list and archives</a> for smartmontools support<br>
</li>
</ul>
<b><br>
</b>
<hr width="100%" size="2"><b><br>
</b><b><a name="howtodownload"></a></b><b> How to download
and install smartmontools<br>
</b>There are three different ways to get and install smartmontools.
You can use any one of these three procedures. Just after
"Method 3" below are some instructions for trying out smartmontools once
you have completed the installation.<br>
<ol>
<li><b>First Method - Install from the RPM file:</b><br>
<ul>
<li>Download the latest binary RPM file (<tt>*.rpm</tt>)
from <a
href="http://sourceforge.net/project/showfiles.php?group_id=64297">here</a>
. Don't get the SRPM file (<tt>*.src.rpm</tt>).</li>
<li>Install it using RPM. <i>You must be root
to do this</i>:<br>
<tt> su root</tt> <i>(enter root password)</i><br>
<tt> rpm -ivh smartmontools-5.0-1.i386.rpm<br>
</tt>For most users, this is all that is needed.<br>
</li>
<li>If you receive an error message, you have probably
previously installed the <tt>smartsuite</tt> package, or RedHat's <tt>kernel-utils</tt>
package, which provide older versions of the <tt>smartd</tt> and
<tt> smartctl</tt> utilities. In this case you should
use the <tt> --nodeps</tt> or <tt> --force</tt> arguments
of rpm to replace these two utilities:<br>
<tt> rpm -ivh --nodeps --force smartmontools-5.0-1.i386.rpm</tt></li>
<li>If you want to remove the package (<tt>rpm -e s</tt><tt>martmontools</tt>)
and your system does not have <tt>chkconfig</tt> installed, you may need
to use: <tt><br>
rpm -e</tt> <tt>--noscripts</tt> <tt>s</tt><tt>martmontools</tt><br>
</li>
</ul>
</li>
<li><b>Second Method - Install from the source tarball</b>:<br>
<ul>
<li>Download the latest source-code tarball from <a
href="http://sourceforge.net/project/showfiles.php?group_id=64297">here</a>.
Note: you probably want the most recent release. </li>
<li>Uncompress the tarball:<br>
<tt> tar zxvf smartmontools-5.0-1.tar.gz</tt></li>
<li>The previous step created a directory called smartmontools-5.0-1
containing the code. Go to that directory, build, and install:<br>
<tt> cd smartmontools-5.0-1<br>
make<br>
make install </tt>
<i>[only root can do
this]</i><br>
</li>
</ul>
</li>
<li><b>Third Method - Download code directly from the
CVS archive:</b><br>
<ul>
<li> Download the latest code snapshot from CVS.
If prompted for a password, simply press the Enter key. Note
that the two lines below that start "<tt>cvs</tt>" are long!
<br>
<tt> cvs -d:pserver:anonymous@cvs.smartmontools.sourceforge.net:/cvsroot/smartmontools
login</tt> <tt><br>
cvs -z3 -d:pserver:anonymous@cvs.smartmontools.sourceforge.net:/cvsroot/smartmontools
co sm5</tt><br>
</li>
<li>The previous step created a subdirectory called <tt>sm5/</tt>
containing the code. Go to that directory, build, and install:<br>
<tt> cd sm5<br>
make<br>
make install </tt> <i> [only root can
do this]<br>
</i> </li>
</ul>
</li>
</ol>
<b>After installing using Method 1, 2 or 3 above, you
can read the man pages, and try out the commands:</b><br>
<blockquote>
<blockquote><tt> man 8 smartctl</tt><br>
<tt> man 8 smartd</tt><br>
<tt> /usr/sbin/smartctl -etf /dev/hda </tt><i>[only
root can do this]</i><br>
<tt> /usr/sbin/smartctl -a /dev/hda </tt><i>[only
root can do this]</i><br>
<br>
<p> Note that the default location for the manual pages is in <tt>/usr/share/man/man8</tt>
. If "<tt>man</tt>" does not find the manual pages, then you
may need to add <tt>/usr/share/man</tt> to your <tt>MANPATH</tt> environment
variable.<br>
<a href="#cvshelp"><br>
<br>
<b>How to use CVS to get any version of smartmontools</b></a><br>
</p>
</blockquote>
</blockquote>
<hr width="100%" size="2"><br>
<br>
<a name="FAQ"></a><b>Frequently-asked questions<br>
</b>If your question is not here, please <a
href="mailto:smartmontools-support@lists.sourceforge.net"> email me</a>.<br>
<ul>
<li><b>What do I do if I have problems, or need support?
Suppose I want to become a developer, or suggest some new extensions?</b><br>
Please send an email to the <a
href="http://lists.sourceforge.net/mailman/listinfo/smartmontools-support">
smartmontools-support mailing list</a>. Note that you won't
get the mail sent to the list unless you subscribe to it. Please take
a look through the archives to see if your question has been answered.<br>
</li>
<li><b>What are the future plans for smartmontools?</b><br>
My plan is that smartmontools-5.x will support ATA/ATAPI-5
disks. Eventually, we'll do smartmontools-6.x to support ATA/ATAPI-6
disks, smartmontools-7.x for the ATA/ATAPI-7 standard, and so on.
The "x" will denote revision level, as bugs get found and fixed,
and as enhancements get added. If it's possible to maintain
backwards compatibility, that would be nice, but I don't know if it
will be possible or practical.</li>
<li><b>Why are you doing this?</b><br>
My research group runs a beowulf cluster with 300 ATA-5
disks. We have more than 20 TB of data stored on the system.
It's nice to have advanced warning when a disk is going to fail.</li>
<li><b>I see some strange output from smartctl. What
does it mean?</b><br>
The raw S.M.A.R.T. attributes (temperature, power-on lifetime,
and so on) are stored in vendor-specific structures. Sometime
these are strange. Hitachi disks (at least some of them) store
power-on lifetime in minutes, rather than hours. IBM disks (at
least some of them) have three temperatures stored in the raw structure,
not just one. And so on. If you find strange output, or unknown attributes,
please send an email to <a
href="http://lists.sourceforge.net/mailman/listinfo/smartmontools-support">
smartmontools-support</a> and we'll help you try and figure it out.</li>
<li><b>What attributes does smartmontools not yet recognize?<br>
</b>From a Hitachi disk: (230)(250)<br>
If you can attach names/meanings to these attributes, please
send me a note to <a
href="http://lists.sourceforge.net/mailman/listinfo/smartmontools-support">
smartmontools-support</a>.</li>
<li><b>When I run <tt>smartd</tt> , the SYSLOG <tt>/var/log/messages</tt>
contains messages like this:</b><br>
<tt> smartd: Reading Device /dev/sdv <br>
modprobe: modprobe: Can't locate module block-major-65<br>
</tt>This is because when <tt>smartd</tt> starts, it looks
for all ATA and SCSI devices to monitor (matching the pattern <tt>/dev/hd[a-z]</tt>
or <tt>/dev/sd[a-z]</tt>). The log messages appear because
your system doesn't have most of these devices.<br>
The latest release of smartd can use a configuration file <tt>/etc/smartd.conf</tt>
to specify which devices to include or exclude from start-up search.</li>
<li><b><a name="cvshelp"></a>How can I use CVS to get different versions
of smartmontools?<br>
</b>One of the really cool things about CVS is that you can get <i>any
</i>version of the code you want, from the first release up the the most
current development version. And it's trivial, because each release
is <u>tagged</u> with a name like <tt>RELEASE_5_0_22</tt>. You
can see what the different names are by looking at the <a
href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/smartmontools/">Smartmontools
CVS archive.</a> You'll see the tag names in the little scroll window
where it says "Show only the files with Tag". All you need to do is:<br>
<tt> cvs -d:pserver:anonymous@cvs.smartmontools.sourceforge.net:/cvsroot/smartmontools
login</tt> <tt><br>
cvs -z3 -d:pserver:anonymous@cvs.smartmontools.sourceforge.net:/cvsroot/smartmontools
co -r RELEASE_5_0_17</tt><tt> sm5</tt><br>
If prompted for a password, just do <ENTER>. This will create a
subdirectory called <tt>sm5/</tt> containing the code. Go to that
directory, build, install, and enjoy:<br>
<tt> cd sm5<br>
make<br>
make install </tt> <i> [only root can do this]</i></li>
<li><b>What's the story on IBM S.M.A.R.T. disks?</b><br>
Apparently some of the older S.M.A.R.T. firmware on IBM disks can interfere
with the regular operation of the disk. If you have this problem,
here is an <a href="http://www.geocities.com/dtla_update/">IBM
DISK FIRMWARE UPGRADE</a> that fixes the problem. <br>
</li>
</ul>
<hr width="100%" size="2"> You<b><a name="testinghelp"></a>Help needed
in testing smartmontools, especially on SCSI disks/systems<br>
</b>I have access to a number of systems with ATA S.M.A.R.T.
disks, but I don't have any access to systems with SCSI S.M.A.R.T.
devices. I'd be very grateful to find someone who could help me
test the smartmontools code on SCSI disks. Since it's derived from
the smartsuite package, it should initially work about the same way
with SCSI devices as the smartsuite tools did.<br>
<br>
I'd be especially happy if someone would like to take on
the task, as a developer, of maintaining the SCSI code. Do you
have a beowulf cluster with a few hundred SCSI disks? Please volunteer!<br>
<hr width="100%" size="2"><a name="differfromsmartsuite"></a><b>How does smartmontools
differ from smartsuite?<br>
</b>The smartsuite code was originally developed as a Senior Thesis
by Michael Cornwell at the Concurrent Systems Laboratory (now part of the
<a href="http://ssrc.soe.ucsc.edu">Storage Systems Research Center</a>), Jack
Baskin School of Engineering, University of California, Santa Cruz. <br>
<b><br>
</b>Smartmontools was derived directly from smartsuite .
It differs from smartsuite in that it supports the ATA/ATAPI-5 standard.
So for example <tt>smartctl</tt> from smartsuite has no facility for
printing the S.M.A.R.T. self-test logs, and doesn't print timestamp information
in the most usable way. The <tt>smartctl</tt> utility in smartmontools
has added functionality for this (<tt>-q,-Q,</tt><tt>-L,-f, -F and -m</tt>
options), updated documentation, and also fixes small technical bugs in
smartsuite. See the <a
href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/smartmontools/sm5/CHANGELOG">CHANGELOG</a>
file in CVS for a summary of what's been done. The <tt>smartd</tt> utility
differs from the smartsuite <tt>smartd</tt> in major ways. First,
it prints somewhat more informative error messages to the syslog. Second,
on startup it looks for a configuration file <tt>/etc/smartd.conf</tt>, and
if <tt>smartd</tt> finds this file, it monitors the list of devices therein,
rather than querying all IDE and SCSI devices on your system. [If the
configuration file does not exist, then it does query all IDE and SCSI devices.]
Finally, it's a well-behaved daemon and doesn't leave open file descriptors
and other detrius behind. In addition, the <tt>smartmontools</tt> version
of <tt>smartd</tt> can be instructed (via Directives in the configuration
file) to monitor for changes in a number of different disk properties: the
SMART status, failure or prefailure attributes going below threshold, new
errors appearing in the ATA Error Log or the SMART Self-Test Log, and so
on.<br>
<br>
The other principle difference is that smartmontools is an open-source
development project, meaning that we keep the files in CVS, and that
other developers who wish to contribute can commit changes to the archive.
If you would like to contribute, please write to to <a
href="http://lists.sourceforge.net/mailman/listinfo/smartmontools-support">
smartmontools-support</a>.<br>
<br>
But the bottom line is that the code in smartmontools is derived directly
from smartsuite and is similar. The smartsuite package can be found <a
href="http://sourceforge.net/projects/smartsuite/">here</a>. <br>
<hr width="100%" size="2"><br>
<a name="references"></a><big><b>Useful references on
S.M.A.R.T. and the ATA/ATAPI standards<br>
</b>If you are having trouble understanding the output
of smartctl or smartd, please first read the manual pages:<tt><br>
man 8 smartctl<br>
man 8 smartd</tt><br>
If you'd like to know more about S.M.A.R.T., then the
following references may be helpful:<br>
</big>
<ul>
<li>The <a
href="http://www.t13.org/project/d1321r1c.pdf"> ATAPI/ATA-5 Revision
1 specification</a></li>
<li><a href="http://www.t13.org/#FTP_site">Earlier and
later revisions of the ATAPI/ATA specifications</a></li>
<li>The S.M.A.R.T. specification is SFF-8035i (rev E).
I can not find an on-line reference. It can be obtained from
the <a href="http://www.sffcommittee.com/ns/">Small Form Factors Committee</a>
. Here is their <a
href="ftp://ftp.seagate.com/sff/INF-8035.TXT"> "link"</a> .</li>
</ul>
<hr width="100%" size="2"><a name="sampleoutput"></a><b>Sample output from
smartmontools</b>
<pre><tt>
#root smartctl -am /dev/hda
smartctl version 5.0-11 Copyright (C) 2002 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Device Model: HITACHI_DK23BA-20
Serial Number: 12H7M8
Firmware Version: 00E0A0D2
ATA Version is: 5
ATA Standard is: ATA/ATAPI-5 T13 1321D revision 1
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
See vendor-specific Attribute list for marginal Attributes.
General SMART Values:
Off-line data collection status: (0x00) Offline data collection activity was
never started.
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 off-line
data collection: (1530) seconds.
Offline data collection
capabilities: (0x1b) SMART execute Offline immediate.
Automatic timer ON/OFF support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
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.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 26) minutes.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000d 100 084 050 Pre-fail - 463
3 Spin_Up_Time 0x0007 100 100 050 Pre-fail - 0
4 Start_Stop_Count 0x0032 100 100 050 Old_age - 235
5 Reallocated_Sector_Ct 0x0033 099 099 010 Pre-fail - 17
7 Seek_Error_Rate 0x000f 100 100 050 Pre-fail - 394
9 Power_On_Hours 0x0032 099 099 060 Old_age - 603 h + 10 m
10 Spin_Retry_Count 0x0013 100 100 050 Pre-fail - 0
12 Power_Cycle_Count 0x0032 100 100 050 Old_age - 235
192 Power-Off_Retract_Count 0x0032 100 100 050 Old_age - 14
195 Hardware_ECC_Recovered 0x001a 100 001 050 Old_age In_the_past 391
196 Reallocated_Event_Count 0x0032 099 099 001 Old_age - 17
197 Current_Pending_Sector 0x0032 097 096 001 Old_age - 3
198 Offline_Uncorrectable 0x0010 097 096 001 Old_age - 19
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age - 0
221 G-Sense_Error_Rate 0x000a 100 100 050 Old_age - 0
223 Load_Retry_Count 0x0012 100 100 050 Old_age - 0
225 Load_Cycle_Count 0x0032 096 096 050 Old_age - 18446744072115740671
230 Unknown_Attribute 0x0032 100 100 060 Old_age - 15921
250 Unknown_Attribute 0x000a 100 070 050 Old_age - 92
SMART Error Log Version: 1
ATA Error Count: 9 (device log contains only the most recent five errors)
DCR = Device Control Register
FR = Features Register
SC = Sector Count Register
SN = Sector Number Register
CL = Cylinder Low Register
CH = Cylinder High Register
D/H = Device/Head Register
CR = Content written to Command Register
ER = Error register
STA = Status register
Timestamp is seconds since the previous disk power-on.
Note: timestamp "wraps" after 2^32 msec = 49.710 days.
Error 1 occurred at disk power-on lifetime: 458 hours
When the command that caused the error occurred, the device was active or idle.
After command completion occurred, registers were:
ER:40 SC:01 SN:15 CL:be CH:2e D/H:e0 ST:51
Sequence of commands leading to the command that caused the error were:
DCR FR SC SN CL CH D/H CR Timestamp<br> 00 00 01 15 be 2e e0 c8 831.599<br> 00 00 01 14 be 2e e0 c8 831.594<br> 00 00 01 13 be 2e e0 c8 831.594<br> 00 00 01 12 be 2e e0 c8 831.594<br> 00 00 01 11 be 2e e0 c8 831.594<br><br>Error 2 occurred at disk power-on lifetime: 458 hours<br>When the command that caused the error occurred, the device was active or idle.<br>After command completion occurred, registers were:<br>ER:40 SC:45 SN:15 CL:be CH:2e D/H:e0 ST:51<br>Sequence of commands leading to the command that caused the error were:<br>DCR FR SC SN CL CH D/H CR Timestamp<br> 00 00 80 da bd 2e e0 c8 829.680<br> 00 00 80 5a bd 2e e0 c8 829.677<br> 00 00 80 da bc 2e e0 c8 829.673<br> 00 00 80 5a bc 2e e0 c8 829.671<br> 00 00 01 58 bc 2e e0 c8 829.671<br><br>Error 3 occurred at disk power-on lifetime: 458 hours<br>When the command that caused the error occurred, the device was active or idle.<br>After command completion occurred, registers were:<br>ER:40 SC:01 SN:47 CL:bc CH:2e D/H:e0 ST:51<br>Sequence of commands leading to the command that caused the error were:<br>DCR FR SC SN CL CH D/H CR Timestamp<br> 00 00 01 47 bc 2e e0 c8 826.962<br> 00 00 01 46 bc 2e e0 c8 826.961<br> 00 00 01 45 bc 2e e0 c8 826.961<br> 00 00 01 44 bc 2e e0 c8 826.961<br> 00 00 01 43 bc 2e e0 c8 826.961<br><br>Error 4 occurred at disk power-on lifetime: 458 hours<br>When the command that caused the error occurred, the device was active or idle.<br>After command completion occurred, registers were:<br>ER:40 SC:13 SN:47 CL:bc CH:2e D/H:e0 ST:51<br>Sequence of commands leading to the command that caused the error were:<br>DCR FR SC SN CL CH D/H CR Timestamp<br> 00 00 80 da bb 2e e0 c8 825.038<br> 00 00 80 5a bb 2e e0 c8 825.033<br> 00 00 80 da ba 2e e0 c8 825.030<br> 00 00 80 5a ba 2e e0 c8 824.940<br> 00 00 80 da b9 2e e0 c8 824.937<br><br>Error 5 occurred at disk power-on lifetime: 458 hours<br>When the command that caused the error occurred, the device was active or idle.<br>After command completion occurred, registers were:<br>ER:40 SC:01 SN:85 CL:19 CH:2c D/H:e0 ST:51<br>Sequence of commands leading to the command that caused the error were:<br>DCR FR SC SN CL CH D/H CR Timestamp<br> 00 00 01 85 19 2c e0 c8 816.487<br> 00 00 01 84 19 2c e0 c8 816.487<br> 00 00 01 83 19 2c e0 c8 816.486<br> 00 00 01 82 19 2c e0 c8 816.486<br> 00 00 01 81 19 2c e0 c8 816.486<br><br>SMART Self-test log, version number 1<br>Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error<br># 1 Short off-line Completed 00% 587 <br># 2 Short off-line Completed 00% 583 <br># 3 Short off-line Completed 00% 551 <br># 4 Short captive Interrupted (host reset) 40% 551 <br># 5 Short off-line Completed 00% 551 <br># 6 Extended off-line Completed: read failure 40% 550 0x002c1985<br># 7 Extended off-line Aborted by host 50% 550 <br># 8 Short off-line Completed 00% 550 <br># 9 Short off-line Completed 00% 537 <br>#10 Extended off-line Completed: read failure 40% 536 0x002c1985<br>#11 Short off-line Completed 00% 536 <br>#12 Short off-line Completed 00% 536 <br>#13 Short off-line Completed 00% 533 <br>#14 Short off-line Completed 00% 532 <br>#15 Short captive Completed 00% 459 <br>#16 Short captive Completed 00% 459 <br>#17 Extended off-line Completed: read failure 40% 455 0x002c1985<br>#18 Extended off-line Aborted by host 50% 455 <br>#19 Short off-line Completed 00% 451 <br>#20 Short off-line Completed 00% 451 <br>#21 Extended off-line Completed: read failure 40% 449 0x002c1985<br></tt></pre>
<tt> </tt>
<hr width="100%" size="2">Page maintained by <a
href="mailto:smartmontools-support@lists.sourceforge.net">Bruce Allen</a><br>
<big> </big></div>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>