Select Git revision
index.html 18.67 KiB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>smartmontools Home Page</title>
<link rev="made" href="mailto:smartmontools-support@sourceforge.net" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="description" content="smartmontools Home Page" />
<meta name="keywords" content="SMART, S.M.A.R.T., Linux, disk monitoring" />
</head>
<body>
<div align="center"><h1><font color="#3333ff">smartmontools Home Page</font></h1></div>
<p>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.</p>
<p>For printing convenience, everything except for the <a href="#sampleoutput">example output</a> is on a single page.</p>
<hr size="2" />
<ul>
<li><a href="#howtodownload">How to download and install
smartmontools</a></li>
<li><a href="#PROBLEMS">Serious Problem Reports (system lockup, etc.)</a></li>
<li><a href="#FAQ">Frequently Asked Questions</a></li>
<li><a href="#testinghelp">The code needs to be tested on SCSI,
FireWire, USB, and SATA 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">Example output from smartmontools</a>
<b>smartctl</b> utility</li>
<li><a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/smartmontools/">CVS
repository</a> and <a href="http://sourceforge.net/projects/smartmontools/">SourceForge's
Project Page</a></li>
<li>Mailing List <a href="http://lists.sourceforge.net/lists/listinfo/smartmontools-support">Information</a>
and <a href="http://sourceforge.net/mailarchive/forum.php?forum=smartmontools-support">Archives</a></li>
</ul>
<hr size="2" />
<b><a name="howtodownload"></a>How to download and install
smartmontools</b>
<p>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.</p>
<b>First Method - Install from the RPM file</b>
<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>:
<pre>su root (enter root password)
rpm -ivh smartmontools-5.0-1.i386.rpm</pre>
For most users, this is all that is needed.</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:
<pre>rpm -ivh --nodeps --force smartmontools-5.0-1.i386.rpm</pre></li>
<li>If you want to remove the package (<tt>rpm -e smartmontools</tt>)
and your system does not have <tt>chkconfig</tt> installed, you may need
to use:
<pre>rpm -e --noscripts smartmontools</pre></li>
</ul>
<b>Second Method - Install from the source tarball</b>
<ul>
<li>Download the latest source 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:
<pre>tar zxvf smartmontools-5.0-1.tar.gz</pre></li>
<li>The previous step created a directory called smartmontools-5.0-1
containing the code.  Go to that directory, build, and install:
<pre>cd smartmontools-5.0-1
make
make install (only root can do this)</pre></li>
</ul>
<b>Third Method - Install from the CVS repository</b>
<ul>
<li><p>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_26</tt>.  You can see what the different names are
by looking at the <a href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/smartmontools/sm5/">
CVS repository</a>.  You'll see the tag names in the little scroll
window where it says "Show only files with tag".  All you need to
do to get the latest development code is
(but note that the development code may be unstable, and that the
documentation and code may be inconsistent):</p>
<pre>cvs -d: pserver:anonymous@cvs.smartmontools.sourceforge.net:/cvsroot/smartmontools login (when prompted for a password, just press Enter)
cvs -d: pserver:anonymous@cvs.smartmontools.sourceforge.net:/cvsroot/smartmontools co sm5</pre></li>
<li>To instead get the 5.0-26 release:
<pre>cvs -d :pserver:anonymous@cvs.smartmontools.sourceforge.net:/cvsroot/smartmontools co -r RELEASE_5_0_26 sm5</pre></li>
<li><p>This will create a subdirectory called <tt>sm5/</tt> containing the
code.  Go to that directory, build, and install:</p>
<pre>cd sm5
make
make install (only root can do this)</pre></li>
<li>To update your sources to the 5.0-30 release:
<pre>cd sm5
cvs up -r RELEASE_5_0_30</pre></li>
<li>To update any tagged release to the latest development code:
<pre>cd sm5
cvs up -A</pre></li>
</ul>
<b>After installing using Method 1, 2 or 3 above, you can read the man
pages, and try out the commands:</b>
<pre>man 8 smartctl
man 8 smartd
/usr/sbin/smartctl -etf /dev/hda (only root can do this)
/usr/sbin/smartctl -a /dev/hda (only root can do this)</pre>
<p>Note that the default location for the manual pages are 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.</p>
<hr size="2" />
<a name="PROBLEMS"></a><b>Serious Problem Reports</b>
<p>If a serious problem gets reported to us, it gets added to the <a
href="http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/smartmontools/sm5/WARNINGS?rev=HEAD&content-type=text/vnd.viewcvs-markup">
WARNINGS</a> file in smartmontools. So far there are only two problem systems listed.</p>
<a name="FAQ"></a><b>Frequently Asked Questions</b>
<p>If your question is not here, please <a href="mailto:smartmontools-support@lists.sourceforge.net">email
me</a>.</p>
<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>
<p>Please send an email to the <a href="http://lists.sourceforge.net/mailman/listinfo/smartmontools-support">smartmontools-support
mailing list</a>.  Please take a look through the archives to see
if your question has been answered.</p></li>
<li><b>What are the future plans for smartmontools?</b>
<p>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.</p></li>
<li><b>Why are you doing this?</b>
<p>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.</p></li>
<li><b>I see some strange output from smartctl. What does it mean?</b>
<p>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 (see next question below).  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.</p></li>
<li><b>My Maxtor/Hitachi disk is only a few days old, yet smartctl reports its age (Attribute 9) as thousands of hours!</b>
<p>On some recent disks, Maxtor has started to use Attribute 9 to
store the lifetime in minutes rather than hours. In this case, use
the -m option (smartctl versions 5.0.X) or the
--vendorattribute=009,minutes (smartctl 5.1.X) option to correctly
display hours and minutes.
</p></li>
<li><b>What attributes does smartmontools not yet recognize?</b>
<p>From a Hitachi disk: (230), (250). From a Toshiba disk (240). From
Maxtor disks (99), (100), (101), (201), (202), (203), (204), (205), (207), (208), (209)
</p>
<p>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>.</p></li>
<li><b>When I run <tt>smartd</tt>, the SYSLOG <tt>/var/log/messages</tt>
contains messages like this:</b>
<pre>smartd: Reading Device /dev/sdv
modprobe: modprobe: Can't locate module block-major-65</pre>
<p>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.</p>
<p>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.</p></li>
<li><b>What's the story on IBM S.M.A.R.T. disks?</b>
<p>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.</p></li>
</ul>
<hr size="2" /><a name="testinghelp"></a><b>Help needed in testing
smartmontools, especially on SCSI, FireWire, USB, and SATA
disks/systems</b>
<p>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, FireWire, USB, and SATA
S.M.A.R.T. devices.  I'd be very grateful to find someone who could
help me test the smartmontools code on them.  Since it's derived
from the smartsuite package, it should initially work about the same way
with SCSI devices as the smartsuite tools did.</p>
<p>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 !</p>
<p>Some useful utilities to examine SCSI log information can be found
on the <a href="http://www.torque.net/sg/">scsi generic (sg) driver home page</a>.
The utilities are called <tt>sg_utils</tt> and <tt>sg3_utils</tt>.</p>
<hr size="2" /><a name="differfromsmartsuite"></a><b>How does
smartmontools differ from smartsuite?</b>
<p>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.
You can find some information about the original smartsuite project here:
<a href="http://www.ucsc.edu/news_events/press_releases/archive/99-00/09-99/smart_software.htm">Press Release 1</a>,
<a href="http://www.santa-cruz.com/archive/1999/September/22/local/stories/5local.htm">Press Release 2</a>,
<a href="http://www.ucsc.edu/currents/99-00/09-27/smart.html">Press Release 3</a>.
</p>
<p>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, -L,-f, -F, -U, -P
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?rev=HEAD&content-type=text/plain">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.)  Also, 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.</p>
<p>The other principle difference is that smartmontools is an OpenSource
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>.</p>
<p>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>.</p>
<hr size="2" /><a name="references"></a><b><big>Useful references on
S.M.A.R.T. and the ATA/ATAPI standards</big></b>
<p><big>If you are having trouble understanding the output of smartctl
or smartd, please first read the manual pages:</big></p>
<pre>
man 8 smartctl
man 8 smartd
</pre>
<p><big>If you'd like to know more about S.M.A.R.T., then the following
references may be helpful:</big></p>
<ul>
<li>The <a href="http://www.t13.org/project/d1321r1c.pdf"> ATAPI/ATA-5
Revision 1 specification</a> (start with Section 8.41)</li>
<li><a href="http://www.t13.org/#FTP_site">Earlier and later revisions
of the ATAPI/ATA Specs</a></li>
<li>SCSI References:
<ul>
<li>The <a href="http://www.t10.org">homepage of the T10 project</a>.</li>
<li>The <a href="ftp://ftp.t10.org/t10/drafts/s2/">SCSI-2 draft</a> by the T10 project.</li>
<li>See also other subdirectories <a href="ftp://ftp.t10.org/t10/drafts/">here</a>.</li>
</ul>
</li>
<li>The original S.M.A.R.T. specification is SFF-8035i from the <a href="http://www.sffcommittee.com/ns/">SFF Committee</a>. 
Here is their <a href="ftp://ftp.seagate.com/sff/INF-8035.TXT"> "link"</a>.</li>
<li>From the <a href="http://cmrr.ucsd.edu/smart/">UCSD SMART Project</a>:
<ul>
<li><a href="http://cmrr.ucsd.edu/smart/tech_papr/HamerlySmartPaper.pdf">Bayesian
Approaches to Failure Prediction for Disk Drives</a></li>
<li><a href="http://cmrr.ucsd.edu/smart/tech_papr/SmtPapTransReliFinalWeb.pdf">Improved
Disk-Drive Failure Warnings</a></li>
</ul>
</li>
<li>From the Seagate Corporation:
<ul>
<li><a href="http://www.seagate.com/docs/pdf/whitepaper/drive_reliability.pdf" target="_blank">Estimating Drive Reliability in Desktop Computers and
Consumer Electronics Systems</a></li>
<li><a href="http://www.seagate.com/docs/pdf/whitepaper/enhanced_smart.pdf" target="_blank">Enhanced SMART - Get S.M.A.R.T. For Reliability</a></li>
<li><a href="http://www.seagate.com/docs/pdf/whitepaper/smart_u8.pdf" target="_blank">Playing it S.M.A.R.T.</a></li>
<li><a href="http://www.seagate.com/docs/pdf/whitepaper/Enhanced_DST_Tech_Paper.pdf" target="_blank">Enhanced Drive Self-Test</a></li>
</ul>
</li>
<li><a href="http://www.maxtor.com/products/DiamondMax/software/maxsafe.pdf" target="_blank">Drive reliability and safety system: MaxSafe</a> (Maxtor)</li>
<li><u>Specifying Reliability in the Disk Drive Industry: No More
MTBF's</u>, Jon G. Elerath (IBM Storage Systems Division) in
<i>Proceedings of the IEEE 2000 Annual Reliability and Maintainability
Symposium, pg 194, 0-7803-5848-1/00/$10.00.</i></li>
</ul>
<hr size="2" /><a name="sampleoutput"></a><b>Example output
from smartmontools smartctl utility:</b>
<ul>
<li><a href="examples/MAXTOR-0.txt">MAXTOR 4K080H4</a> 80 GB 5400 RPM</li>
<li><a href="examples/MAXTOR-1.txt">MAXTOR 4K080H4</a> 80 GB 5400 RPM (has failing SMART status)</li>
<li><a href="examples/MAXTOR-2.txt">MAXTOR 4K080H4</a> 80 GB 5400 RPM (has had failing SMART test in the past. Look at the Seek Error Rate)</li>
<li><a href="examples/MAXTOR-3.txt">MAXTOR 6L080J4</a> 80 GB 7200 RPM</li>
<li><a href="examples/MAXTOR-4.txt">MAXTOR 6L080J4</a> 80 GB 7200 RPM</li>
<li><a href="examples/Maxtor-5.txt">Maxtor 98196H8</a> 80 GB 5400 RPM</li>
<li><a href="examples/MAXTOR-6.txt">Maxtor 4R080J0</a> Note: Attribute 9 (lifetime) stored in minutes!</li>
<li><a href="examples/IC35L120AVVA07-0-0.txt">IBM IC35L120AVVA07 (GXP 120 series)</a> 120 GB 7200 RPM</li>
<li><a href="examples/IC35L120AVVA07-0-1.txt">IBM IC35L120AVVA07 (GXP 120 series)</a> 120 GB 7200 RPM</li>
<li><a href="examples/IC35L120AVV207-0.txt">IBM IC35L120AVV207 (GXP 180 series)</a> 120 GB 7200 RPM</li>
<li><a href="examples/HITACHI_DK23BA-20-0.txt">HITACHI_DK23BA-20</a> Hitachi 20 GB Laptop Disk</li>
<li><a href="examples/TOSHIBA-0.txt">TOSHIBA MK2018GAS</a> Toshiba 20 GB Laptop Disk</li>
</ul>
<hr size="2" />
Maintained by <a href="mailto:smartmontools-support@lists.sourceforge.net">Bruce Allen</a>
<br />
<div align="center">Hosted by</div>
<div align="center"><a href="http://sourceforge.net/"><img style="border:0;width=:88px;height:31px" src="http://sourceforge.net/sflogo.php?group_id=64297&type=5" alt="SourceForge.net" /></a></div>
<br />
<div align="center"><a href="http://validator.w3.org/check/referer"><img style="border:0;width=:88px;height:31px" src="http://www.w3.org/Icons/valid-xhtml10.png" alt="Valid XHTML 1.0!" /></a></div>
</body>
</html>