1SMARTD(8) 2006/12/20 SMARTD(8)
2
3
4
6 smartd - SMART Disk Monitoring Daemon
7
8
10 smartd [options]
11
12
14 /usr/sbin/smartd
15
16
18 smartmontools-5.37 released 2006/12/20 at 20:37:59 UTC
19
20
22 smartd is a daemon that monitors the Self-Monitoring, Analysis and
23 Reporting Technology (SMART) system built into many ATA-3 and later
24 ATA, IDE and SCSI-3 hard drives. The purpose of SMART is to monitor the
25 reliability of the hard drive and predict drive failures, and to carry
26 out different types of drive self-tests. This version of smartd is
27 compatible with ATA/ATAPI-7 and earlier standards (see REFERENCES
28 below).
29
30 smartd will attempt to enable SMART monitoring on ATA devices (equiva‐
31 lent to smartctl -s on) and polls these and SCSI devices every 30 min‐
32 utes (configurable), logging SMART errors and changes of SMART
33 Attributes via the SYSLOG interface. The default location for these
34 SYSLOG notifications and warnings is /var/log/messages. To change this
35 default location, please see the ´-l´ command-line option described
36 below.
37
38 In addition to logging to a file, smartd can also be configured to send
39 email warnings if problems are detected. Depending upon the type of
40 problem, you may want to run self-tests on the disk, back up the disk,
41 replace the disk, or use a manufacturer´s utility to force reallocation
42 of bad or unreadable disk sectors. If disk problems are detected,
43 please see the smartctl manual page and the smartmontools web page/FAQ
44 for further guidance.
45
46 If you send a USR1 signal to smartd it will immediately check the sta‐
47 tus of the disks, and then return to polling the disks every 30 min‐
48 utes. See the ´-i´ option below for additional details.
49
50 smartd can be configured at start-up using the configuration file
51 /etc/smartd.conf (Windows: ./smartd.conf). If the configuration file
52 is subsequently modified, smartd can be told to re-read the configura‐
53 tion file by sending it a HUP signal, for example with the command:
54 killall -HUP smartd.
55 (Windows: See NOTES below.)
56
57 On startup, if smartd finds a syntax error in the configuration file,
58 it will print an error message and then exit. However if smartd is
59 already running, then is told with a HUP signal to re-read the configu‐
60 ration file, and then find a syntax error in this file, it will print
61 an error message and then continue, ignoring the contents of the
62 (faulty) configuration file, as if the HUP signal had never been
63 received.
64
65 When smartd is running in debug mode, the INT signal (normally gener‐
66 ated from a shell with CONTROL-C) is treated in the same way as a HUP
67 signal: it makes smartd reload its configuration file. To exit smartd
68 use CONTROL-\ (Cygwin: 2x CONTROL-C, Windows: CONTROL-Break).
69
70 On startup, in the absence of the configuration file /etc/smartd.conf,
71 the smartd daemon first scans for all devices that support SMART. The
72 scanning is done as follows:
73
74 LINUX: Examine all entries "/dev/hd[a-t]" for IDE/ATA devices, and
75 "/dev/sd[a-z]" for SCSI devices.
76
77 FREEBSD: Examine all entries "/dev/ad[0-9]+" for IDE/ATA devices and
78 "/dev/da[0-9]+" for SCSI devices.
79
80 NETBSD/OPENBSD:
81 Authoritative list of disk devices is obtained from sysctl
82 ´hw.disknames´.
83
84 SOLARIS: Examine all entries "/dev/rdsk/c?t?d?s?" for IDE/ATA and SCSI
85 disk devices, and entries "/dev/rmt/*" for SCSI tape devices.
86
87 DARWIN: The IOService plane is scanned for ATA block storage devices.
88
89 WINDOWS: Examine all entries "/dev/hd[a-j]" ("\\.\PhysicalDrive[0-9]")
90 for IDE/ATA devices on WinNT4/2000/XP, "/dev/hd[a-d]" (bitmask
91 from "\\.\SMARTVSD") for IDE/ATA devices on Win95/98/98SE/ME.
92 Examines all entries "/dev/scsi[0-9][0-f]" for SCSI devices on
93 ASPI adapter 0-9, ID 0-15. If a 3ware 9000 controller is
94 installed, examine all entries "/dev/hdX,N" for the first log‐
95 ical drive (´unit´ "/dev/hdX") and all physical disks (´ports´
96 ",N") detected behind this controller. Same for a second con‐
97 troller if present.
98
99 The following forms are not scanned for but can be given
100 explicitly in the configuration file and only apply to
101 WinNT4/2000/XP/2003. The form "/dev/sd[a-z]" can be given for
102 SCSI disks "\\.\PhysicalDrive[0-25]" (where "a" maps to "0").
103 Additionally the form "/dev/pd[0-255]" can be given for SCSI
104 disks "\\.\PhysicalDrive[0-255]". The form "/dev/tape[0-255]"
105 can be given for SCSI tape drives "\\.\Tape[0-255]".
106
107 CYGWIN: See "WINDOWS" above.
108
109 OS/2,eComStation:
110 Use the form "/dev/hd[a-z]" for IDE/ATA devices.
111
112 smartd then monitors for all possible SMART errors (corresponding to
113 the ´-a´ Directive in the configuration file; see CONFIGURATION FILE
114 below).
115
116
118 Long options are not supported on all systems. Use ´smartd -h´ to see
119 the available options.
120
121 -c FILE, --configfile=FILE
122
123 Read smartd configuration Directives from FILE, instead of from
124 the default location /etc/smartd.conf (Windows: ./smartd.conf).
125 If FILE does not exist, then smartd will print an error message
126 and exit with nonzero status. Thus, ´-c /etc/smartd.conf´ can
127 be used to verify the existence of the default configuration
128 file.
129
130 By using ´-´ for FILE, the configuration is read from standard
131 input. This is useful for commands like:
132 echo /dev/hdb -m user@home -M test | smartd -c - -q onecheck
133 to perform quick and simple checks without a configuration file.
134
135
136 -d, --debug
137 Runs smartd in "debug" mode. In this mode, it displays status
138 information to STDOUT rather than logging it to SYSLOG and does
139 not fork(2) into the background and detach from the controlling
140 terminal. In this mode, smartd also prints more verbose infor‐
141 mation about what it is doing than when operating in "daemon"
142 mode. In this mode, the QUIT signal (normally generated from a
143 terminal with CONTROL-C) makes smartd reload its configuration
144 file. Please use CONTROL-\ to exit (Cygwin: 2x CONTROL-C, Win‐
145 dows: CONTROL-Break).
146
147 Windows only: The "debug" mode can be toggled by the command
148 smartd sigusr2. A new console for debug output is opened when
149 debug mode is enabled.
150
151 -D, --showdirectives
152 Prints a list (to STDOUT) of all the possible Directives which
153 may appear in the configuration file /etc/smartd.conf, and then
154 exits. These Directives are also described later in this man
155 page. They may appear in the configuration file following the
156 device name.
157
158 -h, --help, --usage
159 Prints usage message to STDOUT and exits.
160
161 -i N, --interval=N
162 Sets the interval between disk checks to N seconds, where N is a
163 decimal integer. The minimum allowed value is ten and the maxi‐
164 mum is the largest positive integer that can be represented on
165 your system (often 2^31-1). The default is 1800 seconds.
166
167 Note that the superuser can make smartd check the status of the
168 disks at any time by sending it the SIGUSR1 signal, for example
169 with the command:
170 kill -SIGUSR1 <pid>
171 where <pid> is the process id number of smartd. One may also
172 use:
173 killall -USR1 smartd
174 for the same purpose.
175 (Windows: See NOTES below.)
176
177
178 -l FACILITY, --logfacility=FACILITY
179 Uses syslog facility FACILITY to log the messages from smartd.
180 Here FACILITY is one of local0, local1, ..., local7, or daemon
181 [default]. If this command-line option is not used, then by
182 default messages from smartd are logged to the facility daemon.
183
184 If you would like to have smartd messages logged somewhere other
185 than the default /var/log/messages location, this can typically
186 be accomplished with (for example) the following steps:
187
188 [1] Modify the script that starts smartd to include the smartd
189 command-line argument ´-l local3´. This tells smartd to log
190 its messages to facility local3.
191
192 [2] Modify the syslogd configuration file (typically /etc/sys‐
193 log.conf) by adding a line of the form:
194 local3.* /var/log/smartd.log
195 This tells syslogd to log all the messages from facility
196 local3 to the designated file: /var/log/smartd.log.
197
198 [3] Tell syslogd to re-read its configuration file, typically by
199 sending the syslogd process a SIGHUP hang-up signal.
200
201 [4] Start (or restart) the smartd daemon.
202
203 For more detailed information, please refer to the man pages for
204 syslog.conf, syslogd, and syslog. You may also want to modify
205 the log rotation configuration files; see the man pages for
206 logrotate and examine your system´s /etc/logrotate.conf file.
207
208 Cygwin: Support for syslogd as described above is available
209 starting with Cygwin 1.5.15. On older releases or if no local
210 syslogd is running, the ´-l´ option has no effect. In this
211 case, all syslog messages are written to Windows event log or to
212 file C:/CYGWIN_SYSLOG.TXT if the event log is not available.
213
214 Windows: Some syslog functionality is implemented internally in
215 smartd as follows: If no ´-l´ option (or ´-l daemon´) is speci‐
216 fied, messages are written to Windows event log or to file
217 ./smartd.log if event log is not available (Win9x/ME or access
218 denied). By specifying other values of FACILITY, log output is
219 redirected as follows: ´-l local0´ to file ./smartd.log, ´-l
220 local1´ to standard output (redirect with ´>´ to any file), ´-l
221 local2´ to standard error, ´-l local[3-7]´: to file
222 ./smartd[1-5].log.
223
224 When using the event log, the enclosed utility syslogevt.exe
225 should be registered as an event message file to avoid error
226 messages from the event viewer. Use ´syslogevt -r smartd´ to
227 register, ´syslogevt -u smartd´ to unregister and ´syslogevt´
228 for more help.
229
230
231 -p NAME, --pidfile=NAME
232 Writes pidfile NAME containing the smartd Process ID number
233 (PID). To avoid symlink attacks make sure the directory to
234 which pidfile is written is only writable for root. Without
235 this option, or if the --debug option is given, no PID file is
236 written on startup. If smartd is killed with a maskable signal
237 then the pidfile is removed.
238
239 -q WHEN, --quit=WHEN
240 Specifies when, if ever, smartd should exit. The valid argu‐
241 ments are to this option are:
242
243 nodev - Exit if there are no devices to monitor, or if any
244 errors are found at startup in the configuration file. This is
245 the default.
246
247 errors - Exit if there are no devices to monitor, or if any
248 errors are found in the configuration file /etc/smartd.conf at
249 startup or whenever it is reloaded.
250
251 nodevstartup - Exit if there are no devices to monitor at
252 startup. But continue to run if no devices are found whenever
253 the configuration file is reloaded.
254
255 never - Only exit if a fatal error occurs (no remaining system
256 memory, invalid command line arguments). In this mode, even if
257 there are no devices to monitor, or if the configuration file
258 /etc/smartd.conf has errors, smartd will continue to run, wait‐
259 ing to load a configuration file listing valid devices.
260
261 onecheck - Start smartd in debug mode, then register devices,
262 then check device´s SMART status once, and then exit with zero
263 exit status if all of these steps worked correctly.
264
265 This last option is intended for ´distribution-writers´ who want
266 to create automated scripts to determine whether or not to auto‐
267 matically start up smartd after installing smartmontools. After
268 starting smartd with this command-line option, the distribu‐
269 tion´s install scripts should wait a reasonable length of time
270 (say ten seconds). If smartd has not exited with zero status by
271 that time, the script should send smartd a SIGTERM or SIGKILL
272 and assume that smartd will not operate correctly on the host.
273 Conversely, if smartd exits with zero status, then it is safe to
274 run smartd in normal daemon mode. If smartd is unable to monitor
275 any devices or encounters other problems then it will return
276 with non-zero exit status.
277
278 showtests - Start smartd in debug mode, then register devices,
279 then write a list of future scheduled self tests to stdout, and
280 then exit with zero exit status if all of these steps worked
281 correctly. Device's SMART status is not checked.
282
283 This option is intended to test whether the '-s REGEX' direc‐
284 tives in smartd.conf will have the desired effect. The output
285 lists the next test schedules, limited to 5 tests per type and
286 device. This is followed by a summary of all tests of each
287 device within the next 90 days.
288
289 -r TYPE, --report=TYPE
290 Intended primarily to help smartmontools developers understand
291 the behavior of smartmontools on non-conforming or poorly-con‐
292 forming hardware. This option reports details of smartd trans‐
293 actions with the device. The option can be used multiple times.
294 When used just once, it shows a record of the ioctl() transac‐
295 tions with the device. When used more than once, the detail of
296 these ioctl() transactions are reported in greater detail. The
297 valid arguments to this option are:
298
299 ioctl - report all ioctl() transactions.
300
301 ataioctl - report only ioctl() transactions with ATA devices.
302
303 scsiioctl - report only ioctl() transactions with SCSI devices.
304
305 Any argument may include a positive integer to specify the level
306 of detail that should be reported. The argument should be fol‐
307 lowed by a comma then the integer with no spaces. For example,
308 ataioctl,2 The default level is 1, so ´-r ataioctl,1´ and ´-r
309 ataioctl´ are equivalent.
310
311
312 --service
313 Cygwin and Windows only: Enables smartd to run as a Windows ser‐
314 vice.
315
316 On Cygwin, this option simply prevents forking into background
317 mode to allow running smartd as service via cygrunsrv, see NOTES
318 below.
319
320 On Windows, this option enables the buildin service support.
321 The option must be specified in the service command line as the
322 first argument. It should not be used from console. See NOTES
323 below for details.
324
325
326 -V, --version, --license, --copyright
327 Prints license, copyright, and CVS version information onto STD‐
328 OUT and then exits. Please include this information if you are
329 reporting bugs, or have specific questions about the behavior of
330 smartd.
331
332
334 smartd
335 Runs the daemon in forked mode. This is the normal way to run smartd.
336 Entries are logged to SYSLOG (by default /var/log/messages.)
337
338 smartd -d -i 30
339 Run in foreground (debug) mode, checking the disk status every 30 sec‐
340 onds.
341
342 smartd -q onecheck
343 Registers devices, and checks the status of the devices exactly once.
344 The exit status (the bash $? variable) will be zero if all went well,
345 and nonzero if no devices were detected or some other problem was
346 encountered.
347
348 Note that smartmontools provides a start-up script in
349 /etc/rc.d/init.d/smartd which is responsible for starting and stopping
350 the daemon via the normal init interface. Using this script, you can
351 start smartd by giving the command:
352 /etc/rc.d/init.d/smartd start
353 and stop it by using the command:
354 /etc/rc.d/init.d/smartd stop
355
356 If you want smartd to start running whenever your machine is booted,
357 this can be enabled by using the command:
358 /sbin/chkconfig --add smartd
359 and disabled using the command:
360 /sbin/chkconfig --del smartd
361
362
363
365 In the absence of a configuration file, under Linux smartd will try to
366 open the 20 ATA devices /dev/hd[a-t] and the 26 SCSI devices /dev/sd[a-
367 z]. Under FreeBSD, smartd will try to open all existing ATA devices
368 (with entries in /dev) /dev/ad[0-9]+ and all existing SCSI devices
369 /dev/da[0-9]+. Under NetBSD/OpenBSD, smartd will try to open all
370 existing ATA devices (with entries in /dev) /dev/wd[0-9]+c and all
371 existing SCSI devices /dev/sd[0-9]+c. Under Solaris smartd will try to
372 open all entries "/dev/rdsk/c?t?d?s?" for IDE/ATA and SCSI disk
373 devices, and entries "/dev/rmt/*" for SCSI tape devices. Under Windows
374 smartd will try to open all entries "/dev/hd[a-j]" ("\\.\Physi‐
375 calDrive[0-9]") for IDE/ATA devices on WinNT4/2000/XP, "/dev/hd[a-d]"
376 (bitmask from "\\.\SMARTVSD") for IDE/ATA devices on Win95/98/98SE/ME,
377 and "/dev/scsi[0-9][0-7]" (ASPI adapter 0-9, ID 0-7) for SCSI devices
378 on all versions of Windows. Under Darwin, smartd will open any ATA
379 block storage device.
380
381 This can be annoying if you have an ATA or SCSI device that hangs or
382 misbehaves when receiving SMART commands. Even if this causes no prob‐
383 lems, you may be annoyed by the string of error log messages about
384 block-major devices that can´t be found, and SCSI devices that can´t be
385 opened.
386
387 One can avoid this problem, and gain more control over the types of
388 events monitored by smartd, by using the configuration file
389 /etc/smartd.conf. This file contains a list of devices to monitor,
390 with one device per line. An example file is included with the smart‐
391 montools distribution. You will find this sample configuration file in
392 /usr/share/doc/smartmontools-5.37/. For security, the configuration
393 file should not be writable by anyone but root. The syntax of the file
394 is as follows:
395
396 · There should be one device listed per line, although you may have
397 lines that are entirely comments or white space.
398
399 · Any text following a hash sign ´#´ and up to the end of the line is
400 taken to be a comment, and ignored.
401
402 · Lines may be continued by using a backslash ´\´ as the last non-
403 whitespace or non-comment item on a line.
404
405 · Note: a line whose first character is a hash sign ´#´ is treated as
406 a white-space blank line, not as a non-existent line, and will end
407 a continuation line.
408
409 Here is an example configuration file. It´s for illustrative purposes
410 only; please don´t copy it onto your system without reading to the end
411 of the DIRECTIVES Section below!
412
413 ################################################
414 # This is an example smartd startup config file
415 # /etc/smartd.conf for monitoring three
416 # ATA disks, three SCSI disks, six ATA disks
417 # behind two 3ware controllers, three SATA disks
418 # directly connected to the highpoint rocket-
419 # raid controller, two SATA disks connected to
420 # the highpoint rocketraid controller via a pmport
421 # device and one SATA disk.
422 #
423 # First ATA disk on two different interfaces. On
424 # the second disk, start a long self-test every
425 # Sunday between 3 and 4 am.
426 #
427 /dev/hda -a -m admin@example.com,root@localhost
428 /dev/hdc -a -I 194 -I 5 -i 12 -s L/../../7/03
429 #
430 # SCSI disks. Send a TEST warning email to admin on
431 # startup.
432 #
433 /dev/sda
434 /dev/sdb -m admin@example.com -M test
435 #
436 # Strange device. It´s SCSI. Start a scheduled
437 # long self test between 5 and 6 am Monday/Thursday
438 /dev/weird -d scsi -s L/../../(1|4)/05
439 #
440 # An ATA disk may appear as a SCSI device to the
441 # OS. If a SCSI to ATA Translation (SAT) layer
442 # is between the OS and the device then this can be
443 # flagged with the '-d sat' option. This situation
444 # may become common with SATA disks in SAS and FC
445 # environments.
446 /dev/sda -a -d sat
447 #
448 # Four ATA disks on a 3ware 6/7/8000 controller.
449 # Start short self-tests daily between midnight and 1am,
450 # 1-2, 2-3, and 3-4 am. Starting with the Linux 2.6
451 # kernel series, /dev/sdX is deprecated in favor of
452 # /dev/tweN. For example replace /dev/sdc by /dev/twe0
453 # and /dev/sdd by /dev/twe1.
454 /dev/sdc -d 3ware,0 -a -s S/../.././00
455 /dev/sdc -d 3ware,1 -a -s S/../.././01
456 /dev/sdd -d 3ware,2 -a -s S/../.././02
457 /dev/sdd -d 3ware,3 -a -s S/../.././03
458 #
459 # Two ATA disks on a 3ware 9000 controller.
460 # Start long self-tests Sundays between midnight and
461 # 1am and 2-3 am
462 /dev/twa0 -d 3ware,0 -a -s L/../../7/00
463 /dev/twa0 -d 3ware,1 -a -s L/../../7/02
464 #
465 # Three SATA disks on a highpoint rocketraid controller.
466 # Start short self-tests daily between 1-2, 2-3, and
467 # 3-4 am.
468 /dev/sde -d hpt,1/1 -a -s S/../.././01
469 /dev/sde -d hpt,1/2 -a -s S/../.././02
470 /dev/sde -d hpt,1/3 -a -s S/../.././03
471 #
472 # Two SATA disks connected to a highpoint rocketraid
473 # via a pmport device. Start long self-tests Sundays
474 # between midnight and 1am and 2-3 am.
475 /dev/sde -d hpt,1/4/1 -a -s L/../../7/00
476 /dev/sde -d hpt,1/4/2 -a -s L/../../7/02
477 #
478 # The following line enables monitoring of the
479 # ATA Error Log and the Self-Test Error Log.
480 # It also tracks changes in both Prefailure
481 # and Usage Attributes, apart from Attributes
482 # 9, 194, and 231, and shows continued lines:
483 #
484 /dev/hdd -l error \
485 -l selftest \
486 -t \ # Attributes not tracked:
487 -I 194 \ # temperature
488 -I 231 \ # also temperature
489 -I 9 # power-on hours
490 #
491 ################################################
492
493
495 If the first non-comment entry in the configuration file is the text
496 string DEVICESCAN in capital letters, then smartd will ignore any
497 remaining lines in the configuration file, and will scan for devices.
498 DEVICESCAN may optionally be followed by Directives that will apply to
499 all devices that are found in the scan. Please see below for addi‐
500 tional details.
501
502
503
504 The following are the Directives that may appear following the device
505 name or DEVICESCAN on any line of the /etc/smartd.conf configuration
506 file. Note that these are NOT command-line options for smartd. The
507 Directives below may appear in any order, following the device name.
508
509 For an ATA device, if no Directives appear, then the device will be
510 monitored as if the ´-a´ Directive (monitor all SMART properties) had
511 been given.
512
513 If a SCSI disk is listed, it will be monitored at the maximum imple‐
514 mented level: roughly equivalent to using the ´-H -l selftest´ options
515 for an ATA disk. So with the exception of ´-d´, ´-m´, ´-l selftest´,
516 ´-s´, and ´-M´, the Directives below are ignored for SCSI disks. For
517 SCSI disks, the ´-m´ Directive sends a warning email if the SMART sta‐
518 tus indicates a disk failure or problem, if the SCSI inquiry about disk
519 status fails, or if new errors appear in the self-test log.
520
521 If a 3ware controller is used then the corresponding SCSI (/dev/sd?) or
522 character device (/dev/twe? or /dev/twa?) must be listed, along with
523 the ´-d 3ware,N´ Directive (see below). The individual ATA disks
524 hosted by the 3ware controller appear to smartd as normal ATA devices.
525 Hence all the ATA directives can be used for these disks (but see note
526 below).
527
528
529 -d TYPE
530 Specifies the type of the device. This Directive may be used
531 multiple times for one device, but the arguments ata, scsi, sat,
532 marvell, cciss,N and 3ware,N are mutually-exclusive. If more
533 than one is given then smartd will use the last one which
534 appears.
535
536 If none of these three arguments is given, then smartd will
537 first attempt to guess the device type by looking at whether the
538 sixth character in the device name is an ´s´ or an ´h´. This
539 will work for device names like /dev/hda or /dev/sdb, and corre‐
540 sponds to choosing ata or scsi respectively. If smartd can´t
541 guess from this sixth character, then it will simply try to
542 access the device using first ATA and then SCSI ioctl()s.
543
544 The valid arguments to this Directive are:
545
546 ata - the device type is ATA. This prevents smartd from issuing
547 SCSI commands to an ATA device.
548
549 scsi - the device type is SCSI. This prevents smartd from issu‐
550 ing ATA commands to a SCSI device.
551
552 sat - the device type is SCSI to ATA Translation (SAT). smartd
553 will generate ATA (smart) commands and then package them in the
554 SAT defined ATA PASS THROUGH SCSI commands. The commands are
555 then routed through the SCSI pass through interface to the oper‐
556 ating system. There are two types of ATA PASS THROUGH SCSI com‐
557 mands: a 12 byte and 16 byte variant. smartd can use either and
558 defaults to the 16 byte variant. This can be overridden with
559 this syntax: ´-d sat,12´ or ´-d sat,16´.
560
561 marvell - Under Linux, interact with SATA disks behind Marvell
562 chip-set controllers (using the Marvell rather than libata
563 driver).
564
565 3ware,N - the device consists of one or more ATA disks connected
566 to a 3ware RAID controller. The non-negative integer N (in the
567 range from 0 to 15 inclusive) denotes which disk on the con‐
568 troller is monitored. In log files and email messages this disk
569 will be identified as 3ware_disk_XX with XX in the range from 00
570 to 15 inclusive.
571
572 This Directive may at first appear confusing, because the 3ware
573 controller is a SCSI device (such as /dev/sda) and should be
574 listed as such in the the configuration file. However when the
575 ´-d 3ware,N´ Directive is used, then the corresponding disk is
576 addressed using native ATA commands which are ´passed through´
577 the SCSI driver. All ATA Directives listed in this man page may
578 be used. Note that while you may use any of the 3ware SCSI log‐
579 ical devices /dev/sd? to address any of the physical disks
580 (3ware ports), error and log messages will make the most sense
581 if you always list the 3ware SCSI logical device corresponding
582 to the particular physical disks. Please see the smartctl man
583 page for further details.
584
585 ATA disks behind 3ware controllers may alternatively be accessed
586 via a character device interface /dev/twe0-15 (3ware
587 6000/7000/8000 controllers) and /dev/twa0-15 (3ware 9000 series
588 controllers). Note that the 9000 series controllers may only be
589 accessed using the character device interface /dev/twa0-15 and
590 not the SCSI device interface /dev/sd?. Please see the smartctl
591 man page for further details.
592
593 Note that older 3w-xxxx drivers do not pass the ´Enable
594 Autosave´ (-S on) and ´Enable Automatic Offline´ (-o on) com‐
595 mands to the disk, if the SCSI interface is used, and produce
596 these types of harmless syslog error messages instead: ´3w-xxxx:
597 tw_ioctl(): Passthru size (123392) too big´. This can be fixed
598 by upgrading to version 1.02.00.037 or later of the 3w-xxxx
599 driver, or by applying a patch to older versions. See
600 http://smartmontools.sourceforge.net/ for instructions. Alter‐
601 natively use the character device interfaces /dev/twe0-15 (3ware
602 6/7/8000 series controllers) or /dev/twa0-15 (3ware 9000 series
603 controllers).
604
605 cciss,N - the device consists of one or more SCSI disks con‐
606 nected to a cciss RAID controller. The non-negative integer N
607 (in the range from 0 to 15 inclusive) denotes which disk on the
608 controller is monitored. In log files and email messages this
609 disk will be identified as cciss_disk_XX with XX in the range
610 from 00 to 15 inclusive.
611
612 3ware and cciss controllers are currently ONLY supported under
613 Linux.
614
615 hpt,L/M/N - the device consists of one or more ATA disks con‐
616 nected to a HighPoint RocketRAID controller. The integer L is
617 the controller id, the integer M is the channel number, and the
618 integer N is the PMPort number if it is available. The allowed
619 values of L are from 1 to 4 inclusive, M are from 1 to 8 inclu‐
620 sive and N from 1 to 4 if PMPort available. And also these val‐
621 ues are limited by the model of the HighPoint RocketRAID con‐
622 troller. In log files and email messages this disk will be
623 identified as hpt_X/X/X and X/X/X is the same as L/M/N, note if
624 no N indicated, N set to the default value 1.
625
626 HighPoint RocketRAID controllers are currently ONLY supported
627 under Linux.
628
629 removable - the device or its media is removable. This indi‐
630 cates to smartd that it should continue (instead of exiting,
631 which is the default behavior) if the device does not appear to
632 be present when smartd is started. This Directive may be used
633 in conjunction with the other ´-d´ Directives.
634
635
636 -n POWERMODE[,q]
637 This ´nocheck´ Directive is used to prevent a disk from being
638 spun-up when it is periodically polled by smartd.
639
640 ATA disks have five different power states. In order of increas‐
641 ing power consumption they are: ´OFF´, ´SLEEP´, ´STANDBY´,
642 ´IDLE´, and ´ACTIVE´. Typically in the OFF, SLEEP, and STANDBY
643 modes the disk´s platters are not spinning. But usually, in
644 response to SMART commands issued by smartd, the disk platters
645 are spun up. So if this option is not used, then a disk which
646 is in a low-power mode may be spun up and put into a
647 higher-power mode when it is periodically polled by smartd.
648
649 Note that if the disk is in SLEEP mode when smartd is started,
650 then it won't respond to smartd commands, and so the disk won't
651 be registered as a device for smartd to monitor. If a disk is in
652 any other low-power mode, then the commands issued by smartd to
653 register the disk will probably cause it to spin-up.
654
655 The ´-n´ (nocheck) Directive specifies if smartd´s periodic
656 checks should still be carried out when the device is in a
657 low-power mode. It may be used to prevent a disk from being
658 spun-up by periodic smartd polling. The allowed values of POW‐
659 ERMODE are:
660
661 never - smartd will poll (check) the device regardless of its
662 power mode. This may cause a disk which is spun-down to be
663 spun-up when smartd checks it. This is the default behavior if
664 the '-n' Directive is not given.
665
666 sleep - check the device unless it is in SLEEP mode.
667
668 standby - check the device unless it is in SLEEP or STANDBY
669 mode. In these modes most disks are not spinning, so if you
670 want to prevent a laptop disk from spinning up each time that
671 smartd polls, this is probably what you want.
672
673 idle - check the device unless it is in SLEEP, STANDBY or IDLE
674 mode. In the IDLE state, most disks are still spinning, so this
675 is probably not what you want.
676
677 When a self test is scheduled (see ´-s´ Directive below), the
678 ´-n´ Directive is ignored, and all tests are carried out.
679
680 When a periodic test is skipped, smartd normally writes an
681 informal log message. The message can be suppressed by appending
682 the option ´,q´ to POWERMODE (like ´-n standby,q´). This pre‐
683 vents a laptop disk from spinning up due to this message.
684
685
686 -T TYPE
687 Specifies how tolerant smartd should be of SMART command fail‐
688 ures. The valid arguments to this Directive are:
689
690 normal - do not try to monitor the disk if a mandatory SMART
691 command fails, but continue if an optional SMART command fails.
692 This is the default.
693
694 permissive - try to monitor the disk even if it appears to lack
695 SMART capabilities. This may be required for some old disks
696 (prior to ATA-3 revision 4) that implemented SMART before the
697 SMART standards were incorporated into the ATA/ATAPI Specifica‐
698 tions. This may also be needed for some Maxtor disks which fail
699 to comply with the ATA Specifications and don't properly indi‐
700 cate support for error- or self-test logging.
701
702 [Please see the smartctl -T command-line option.]
703
704 -o VALUE
705 Enables or disables SMART Automatic Offline Testing when smartd
706 starts up and has no further effect. The valid arguments to
707 this Directive are on and off.
708
709 The delay between tests is vendor-specific, but is typically
710 four hours.
711
712 Note that SMART Automatic Offline Testing is not part of the ATA
713 Specification. Please see the smartctl -o command-line option
714 documentation for further information about this feature.
715
716 -S VALUE
717 Enables or disables Attribute Autosave when smartd starts up and
718 has no further effect. The valid arguments to this Directive
719 are on and off. Also affects SCSI devices. [Please see the
720 smartctl -S command-line option.]
721
722 -H Check the SMART health status of the disk. If any Prefailure
723 Attributes are less than or equal to their threshold values,
724 then disk failure is predicted in less than 24 hours, and a mes‐
725 sage at loglevel ´LOG_CRITICAL´ will be logged to syslog.
726 [Please see the smartctl -H command-line option.]
727
728 -l TYPE
729 Reports increases in the number of errors in one of the two
730 SMART logs. The valid arguments to this Directive are:
731
732 error - report if the number of ATA errors reported in the ATA
733 Error Log has increased since the last check.
734
735 selftest - report if the number of failed tests reported in the
736 SMART Self-Test Log has increased since the last check, or if
737 the timestamp associated with the most recent failed test has
738 increased. Note that such errors will only be logged if you run
739 self-tests on the disk (and it fails a test!). Self-Tests can
740 be run automatically by smartd: please see the ´-s´ Directive
741 below. Self-Tests can also be run manually by using the
742 ´-t short´ and ´-t long´ options of smartctl and the results of
743 the testing can be observed using the smartctl ´-l selftest´
744 command-line option.]
745
746 [Please see the smartctl -l and -t command-line options.]
747
748 -s REGEXP
749 Run Self-Tests or Offline Immediate Tests, at scheduled times.
750 A Self- or Offline Immediate Test will be run at the end of
751 periodic device polling, if all 12 characters of the string
752 T/MM/DD/d/HH match the extended regular expression REGEXP. Here:
753
754 T is the type of the test. The values that smartd will try to
755 match (in turn) are: ´L´ for a Long Self-Test, ´S´ for a
756 Short Self-Test, ´C´ for a Conveyance Self-Test (ATA only),
757 and ´O´ for an Offline Immediate Test (ATA only). As soon
758 as a match is found, the test will be started and no addi‐
759 tional matches will be sought for that device and that
760 polling cycle.
761
762 MM is the month of the year, expressed with two decimal digits.
763 The range is from 01 (January) to 12 (December) inclusive.
764 Do not use a single decimal digit or the match will always
765 fail!
766
767 DD is the day of the month, expressed with two decimal digits.
768 The range is from 01 to 31 inclusive. Do not use a single
769 decimal digit or the match will always fail!
770
771 d is the day of the week, expressed with one decimal digit.
772 The range is from 1 (Monday) to 7 (Sunday) inclusive.
773
774 HH is the hour of the day, written with two decimal digits, and
775 given in hours after midnight. The range is 00 (midnight to
776 just before 1am) to 23 (11pm to just before midnight) inclu‐
777 sive. Do not use a single decimal digit or the match will
778 always fail!
779
780 Some examples follow. In reading these, keep in mind that in
781 extended regular expressions a dot ´.´ matches any single char‐
782 acter, and a parenthetical expression such as ´(A|B|C)´ denotes
783 any one of the three possibilities A, B, or C.
784
785 To schedule a short Self-Test between 2-3am every morning, use:
786 -s S/../.././02
787 To schedule a long Self-Test between 4-5am every Sunday morning,
788 use:
789 -s L/../../7/04
790 To schedule a long Self-Test between 10-11pm on the first and
791 fifteenth day of each month, use:
792 -s L/../(01|15)/./22
793 To schedule an Offline Immediate test after every midnight, 6am,
794 noon,and 6pm, plus a Short Self-Test daily at 1-2am and a Long
795 Self-Test every Saturday at 3-4am, use:
796 -s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03)
797
798 Scheduled tests are run immediately following the regularly-
799 scheduled device polling, if the current local date, time, and
800 test type, match REGEXP. By default the regularly-scheduled
801 device polling occurs every thirty minutes after starting
802 smartd. Take caution if you use the ´-i´ option to make this
803 polling interval more than sixty minutes: the poll times may
804 fail to coincide with any of the testing times that you have
805 specified with REGEXP, and so the self tests may not take place
806 as you wish.
807
808 Before running an offline or self-test, smartd checks to be sure
809 that a self-test is not already running. If a self-test is
810 already running, then this running self test will not be inter‐
811 rupted to begin another test.
812
813 smartd will not attempt to run any type of test if another test
814 was already started or run in the same hour.
815
816 Each time a test is run, smartd will log an entry to SYSLOG.
817 You can use these or the '-q showtests' command-line option to
818 verify that you constructed REGEXP correctly. The matching
819 order (L before S before C before O) ensures that if multiple
820 test types are all scheduled for the same hour, the longer test
821 type has precedence. This is usually the desired behavior.
822
823 Unix users: please beware that the rules for extended regular
824 expressions [regex(7)] are not the same as the rules for
825 file-name pattern matching by the shell [glob(7)]. smartd will
826 issue harmless informational warning messages if it detects
827 characters in REGEXP that appear to indicate that you have made
828 this mistake.
829
830
831 -m ADD Send a warning email to the email address ADD if the ´-H´, ´-l´,
832 ´-f´, ´-C´, or ´-O´ Directives detect a failure or a new error,
833 or if a SMART command to the disk fails. This Directive only
834 works in conjunction with these other Directives (or with the
835 equivalent default ´-a´ Directive).
836
837 To prevent your email in-box from getting filled up with warning
838 messages, by default only a single warning will be sent for each
839 of the enabled alert types, ´-H´, ´-l´, ´-f´, ´-C´, or ´-O´ even
840 if more than one failure or error is detected or if the failure
841 or error persists. [This behavior can be modified; see the ´-M´
842 Directive below.]
843
844 To send email to more than one user, please use the following
845 "comma separated" form for the address:
846 user1@add1,user2@add2,...,userN@addN (with no spaces).
847
848 To test that email is being sent correctly, use the ´-M test´
849 Directive described below to send one test email message on
850 smartd startup.
851
852 By default, email is sent using the system mail command. In
853 order that smartd find the mail command (normally /bin/mail) an
854 executable named ´mail´ must be in the path of the shell or
855 environment from which smartd was started. If you wish to spec‐
856 ify an explicit path to the mail executable (for example
857 /usr/local/bin/mail) or a custom script to run, please use the
858 ´-M exec´ Directive below.
859
860 Note that by default under Solaris, in the previous paragraph,
861 ´mailx´ and ´/bin/mailx´ are used, since Solaris ´/bin/mail´
862 does not accept a ´-s´ (Subject) command-line argument.
863
864 On Windows, the ´Blat´ mailer (http://blat.sourceforge.net/) is
865 used by default. This mailer uses a different command line syn‐
866 tax, see ´-M exec´ below.
867
868 Note also that there is a special argument <nomailer> which can
869 be given to the ´-m´ Directive in conjunction with the ´-M exec´
870 Directive. Please see below for an explanation of its effect.
871
872 If the mailer or the shell running it produces any STDERR/STDOUT
873 output, then a snippet of that output will be copied to SYSLOG.
874 The remainder of the output is discarded. If problems are
875 encountered in sending mail, this should help you to understand
876 and fix them. If you have mail problems, we recommend running
877 smartd in debug mode with the ´-d´ flag, using the ´-M test´
878 Directive described below.
879
880 The following extension is available on Windows: By specifying
881 ´msgbox´ as a mail address, a warning "email" is displayed as a
882 message box on the screen. Using both ´msgbox´ and regular mail
883 addresses is possible, if ´msgbox´ is the first word in the
884 comma separated list. With ´sysmsgbox´, a system modal (always
885 on top) message box is used. If running as a service, a service
886 notification message box (always shown on current visible desk‐
887 top) is used.
888
889
890 -M TYPE
891 These Directives modify the behavior of the smartd email warn‐
892 ings enabled with the ´-m´ email Directive described above.
893 These ´-M´ Directives only work in conjunction with the ´-m´
894 Directive and can not be used without it.
895
896 Multiple -M Directives may be given. If more than one of the
897 following three -M Directives are given (example: -M once -M
898 daily) then the final one (in the example, -M daily) is used.
899
900 The valid arguments to the -M Directive are (one of the follow‐
901 ing three):
902
903 once - send only one warning email for each type of disk problem
904 detected. This is the default.
905
906 daily - send additional warning reminder emails, once per day,
907 for each type of disk problem detected.
908
909 diminishing - send additional warning reminder emails, after a
910 one-day interval, then a two-day interval, then a four-day
911 interval, and so on for each type of disk problem detected. Each
912 interval is twice as long as the previous interval.
913
914 In addition, one may add zero or more of the following Direc‐
915 tives:
916
917 test - send a single test email immediately upon smartd startup.
918 This allows one to verify that email is delivered correctly.
919 Note that if this Directive is used, smartd will also send the
920 normal email warnings that were enabled with the ´-m´ Directive,
921 in addition to the single test email!
922
923 exec PATH - run the executable PATH instead of the default mail
924 command, when smartd needs to send email. PATH must point to an
925 executable binary file or script.
926
927 By setting PATH to point to a customized script, you can make
928 smartd perform useful tricks when a disk problem is detected
929 (beeping the console, shutting down the machine, broadcasting
930 warnings to all logged-in users, etc.) But please be careful.
931 smartd will block until the executable PATH returns, so if your
932 executable hangs, then smartd will also hang. Some sample
933 scripts are included in /usr/share/doc/smartmontools-5.37/exam‐
934 plescripts/.
935
936 The return status of the executable is recorded by smartd in
937 SYSLOG. The executable is not expected to write to STDOUT or
938 STDERR. If it does, then this is interpreted as indicating that
939 something is going wrong with your executable, and a fragment of
940 this output is logged to SYSLOG to help you to understand the
941 problem. Normally, if you wish to leave some record behind, the
942 executable should send mail or write to a file or device.
943
944 Before running the executable, smartd sets a number of environ‐
945 ment variables. These environment variables may be used to con‐
946 trol the executable´s behavior. The environment variables
947 exported by smartd are:
948
949 SMARTD_MAILER
950 is set to the argument of -M exec, if present or else to
951 ´mail´ (examples: /bin/mail, mail).
952
953 SMARTD_DEVICE
954 is set to the device path (examples: /dev/hda, /dev/sdb).
955
956 SMARTD_DEVICETYPE
957 is set to the device type (possible values: ata, scsi,
958 3ware,N, hpt,L/M/N). Here N=0,...,15 denotes the ATA disk
959 behind a 3ware RAID controller and L/M/N denotes the SATA
960 disk behind a HighPoint RocketRAID controller.
961
962 SMARTD_DEVICESTRING
963 is set to the device description. For SMARTD_DEVICETYPE of
964 ata or scsi, this is the same as SMARTD_DEVICE. For 3ware
965 RAID controllers, the form used is ´/dev/sdc
966 [3ware_disk_01]´. For HighPoint RocketRAID controller, the
967 form is ´/dev/sdd [hpt_1/1/1]´. In these cases the device
968 string contains a space and is NOT quoted. So to use
969 $SMARTD_DEVICESTRING in a bash script you should probably
970 enclose it in double quotes.
971
972 SMARTD_FAILTYPE
973 gives the reason for the warning or message email. The pos‐
974 sible values that it takes and their meanings are:
975 EmailTest: this is an email test message.
976 Health: the SMART health status indicates imminent failure.
977 Usage: a usage Attribute has failed.
978 SelfTest: the number of self-test failures has increased.
979 ErrorCount: the number of errors in the ATA error log has
980 increased.
981 CurrentPendingSector: one of more disk sectors could not be
982 read and are marked to be reallocated (replaced with spare
983 sectors).
984 OfflineUncorrectableSector: during off-line testing, or
985 self-testing, one or more disk sectors could not be read.
986 FailedHealthCheck: the SMART health status command failed.
987 FailedReadSmartData: the command to read SMART Attribute
988 data failed.
989 FailedReadSmartErrorLog: the command to read the SMART error
990 log failed.
991 FailedReadSmartSelfTestLog: the command to read the SMART
992 self-test log failed.
993 FailedOpenDevice: the open() command to the device failed.
994
995 SMARTD_ADDRESS
996 is determined by the address argument ADD of the ´-m´ Direc‐
997 tive. If ADD is <nomailer>, then SMARTD_ADDRESS is not set.
998 Otherwise, it is set to the comma-separated-list of email
999 addresses given by the argument ADD, with the commas
1000 replaced by spaces (example:admin@example.com root). If
1001 more than one email address is given, then this string will
1002 contain space characters and is NOT quoted, so to use it in
1003 a bash script you may want to enclose it in double quotes.
1004
1005 SMARTD_MESSAGE
1006 is set to the one sentence summary warning email message
1007 string from smartd. This message string contains space
1008 characters and is NOT quoted. So to use $SMARTD_MESSAGE in a
1009 bash script you should probably enclose it in double quotes.
1010
1011 SMARTD_FULLMESSAGE
1012 is set to the contents of the entire email warning message
1013 string from smartd. This message string contains space and
1014 return characters and is NOT quoted. So to use
1015 $SMARTD_FULLMESSAGE in a bash script you should probably
1016 enclose it in double quotes.
1017
1018 SMARTD_TFIRST
1019 is a text string giving the time and date at which the first
1020 problem of this type was reported. This text string contains
1021 space characters and no newlines, and is NOT quoted. For
1022 example:
1023 Sun Feb 9 14:58:19 2003 CST
1024
1025 SMARTD_TFIRSTEPOCH
1026 is an integer, which is the unix epoch (number of seconds
1027 since Jan 1, 1970) for SMARTD_TFIRST.
1028
1029 The shell which is used to run PATH is system-dependent. For
1030 vanilla Linux/glibc it´s bash. For other systems, the man page
1031 for popen(3) should say what shell is used.
1032
1033 If the ´-m ADD´ Directive is given with a normal address argu‐
1034 ment, then the executable pointed to by PATH will be run in a
1035 shell with STDIN receiving the body of the email message, and
1036 with the same command-line arguments:
1037 -s "$SMARTD_SUBJECT" $SMARTD_ADDRESS
1038 that would normally be provided to ´mail´. Examples include:
1039 -m user@home -M exec /bin/mail
1040 -m admin@work -M exec /usr/local/bin/mailto
1041 -m root -M exec /Example_1/bash/script/below
1042
1043 Note that on Windows, the syntax of the ´Blat´ mailer is used:
1044 - -q -subject "$SMARTD_SUBJECT" -to "$SMARTD_ADDRESS"
1045
1046 If the ´-m ADD´ Directive is given with the special address
1047 argument <nomailer> then the executable pointed to by PATH is
1048 run in a shell with no STDIN and no command-line arguments, for
1049 example:
1050 -m <nomailer> -M exec /Example_2/bash/script/below
1051 If the executable produces any STDERR/STDOUT output, then smartd
1052 assumes that something is going wrong, and a snippet of that
1053 output will be copied to SYSLOG. The remainder of the output is
1054 then discarded.
1055
1056 Some EXAMPLES of scripts that can be used with the ´-M exec´
1057 Directive are given below. Some sample scripts are also included
1058 in /usr/share/doc/smartmontools-5.37/examplescripts/.
1059
1060
1061 -f Check for ´failure´ of any Usage Attributes. If these
1062 Attributes are less than or equal to the threshold, it does NOT
1063 indicate imminent disk failure. It "indicates an advisory con‐
1064 dition where the usage or age of the device has exceeded its
1065 intended design life period." [Please see the smartctl -A com‐
1066 mand-line option.]
1067
1068 -p Report anytime that a Prefail Attribute has changed its value
1069 since the last check, 30 minutes ago. [Please see the smartctl
1070 -A command-line option.]
1071
1072 -u Report anytime that a Usage Attribute has changed its value
1073 since the last check, 30 minutes ago. [Please see the smartctl
1074 -A command-line option.]
1075
1076 -t Equivalent to turning on the two previous flags ´-p´ and ´-u´.
1077 Tracks changes in all device Attributes (both Prefailure and
1078 Usage). [Please see the smartctl -A command-line option.]
1079
1080 -i ID Ignore device Attribute number ID when checking for failure of
1081 Usage Attributes. ID must be a decimal integer in the range
1082 from 1 to 255. This Directive modifies the behavior of the ´-f´
1083 Directive and has no effect without it.
1084
1085 This is useful, for example, if you have a very old disk and
1086 don´t want to keep getting messages about the hours-on-lifetime
1087 Attribute (usually Attribute 9) failing. This Directive may
1088 appear multiple times for a single device, if you want to ignore
1089 multiple Attributes.
1090
1091 -I ID Ignore device Attribute ID when tracking changes in the
1092 Attribute values. ID must be a decimal integer in the range
1093 from 1 to 255. This Directive modifies the behavior of the
1094 ´-p´, ´-u´, and ´-t´ tracking Directives and has no effect with‐
1095 out one of them.
1096
1097 This is useful, for example, if one of the device Attributes is
1098 the disk temperature (usually Attribute 194 or 231). It´s annoy‐
1099 ing to get reports each time the temperature changes. This
1100 Directive may appear multiple times for a single device, if you
1101 want to ignore multiple Attributes.
1102
1103 -r ID When tracking, report the Raw value of Attribute ID along with
1104 its (normally reported) Normalized value. ID must be a decimal
1105 integer in the range from 1 to 255. This Directive modifies the
1106 behavior of the ´-p´, ´-u´, and ´-t´ tracking Directives and has
1107 no effect without one of them. This Directive may be given mul‐
1108 tiple times.
1109
1110 A common use of this Directive is to track the device Tempera‐
1111 ture (often ID=194 or 231).
1112
1113
1114 -R ID When tracking, report whenever the Raw value of Attribute ID
1115 changes. (Normally smartd only tracks/reports changes of the
1116 Normalized Attribute values.) ID must be a decimal integer in
1117 the range from 1 to 255. This Directive modifies the behavior
1118 of the ´-p´, ´-u´, and ´-t´ tracking Directives and has no
1119 effect without one of them. This Directive may be given multi‐
1120 ple times.
1121
1122 If this Directive is given, it automatically implies the ´-r´
1123 Directive for the same Attribute, so that the Raw value of the
1124 Attribute is reported.
1125
1126 A common use of this Directive is to track the device Tempera‐
1127 ture (often ID=194 or 231). It is also useful for understanding
1128 how different types of system behavior affects the values of
1129 certain Attributes.
1130
1131
1132 -C ID [ATA only] Report if the current number of pending sectors is
1133 non-zero. Here ID is the id number of the Attribute whose raw
1134 value is the Current Pending Sector count. The allowed range of
1135 ID is 0 to 255 inclusive. To turn off this reporting, use
1136 ID = 0. If the -C ID option is not given, then it defaults to
1137 -C 197 (since Attribute 197 is generally used to monitor pending
1138 sectors).
1139
1140 A pending sector is a disk sector (containing 512 bytes of your
1141 data) which the device would like to mark as ``bad" and reallo‐
1142 cate. Typically this is because your computer tried to read
1143 that sector, and the read failed because the data on it has been
1144 corrupted and has inconsistent Error Checking and Correction
1145 (ECC) codes. This is important to know, because it means that
1146 there is some unreadable data on the disk. The problem of fig‐
1147 uring out what file this data belongs to is operating system and
1148 file system specific. You can typically force the sector to
1149 reallocate by writing to it (translation: make the device sub‐
1150 stitute a spare good sector for the bad one) but at the price of
1151 losing the 512 bytes of data stored there.
1152
1153
1154 -U ID [ATA only] Report if the number of offline uncorrectable sectors
1155 is non-zero. Here ID is the id number of the Attribute whose
1156 raw value is the Offline Uncorrectable Sector count. The
1157 allowed range of ID is 0 to 255 inclusive. To turn off this
1158 reporting, use ID = 0. If the -U ID option is not given, then
1159 it defaults to -U 198 (since Attribute 198 is generally used to
1160 monitor offline uncorrectable sectors).
1161
1162
1163 An offline uncorrectable sector is a disk sector which was not
1164 readable during an off-line scan or a self-test. This is impor‐
1165 tant to know, because if you have data stored in this disk sec‐
1166 tor, and you need to read it, the read will fail. Please see
1167 the previous ´-C´ option for more details.
1168
1169
1170 -W DIFF[,INFO[,CRIT]]
1171 Report if the current temperature had changed by at least DIFF
1172 degrees since last report. Report or Warn if the temperature is
1173 greater or equal than one of INFO or CRIT degrees Celsius. If
1174 the limit CRIT is reached, a message with loglevel ´LOG_CRITI‐
1175 CAL´ will be logged to syslog and a warning email will be send
1176 if '-m' is specified. If only the limit INFO is reached, a mes‐
1177 sage with loglevel ´LOG_INFO´ will be logged.
1178
1179 To disable any of the 3 reports, set the corresponding limit to
1180 0. Trailing zero arguments may be omitted. By default, all tem‐
1181 perature reports are disabled (´-W 0´).
1182
1183 To track temperature changes of at least 2 degrees, use:
1184 -W 2
1185 To log informal messages on temperatures of at least 40 degrees,
1186 use:
1187 -W 0,40
1188 For warning messages/mails on temperatures of at least 45
1189 degrees, use:
1190 -W 0,0,45
1191 To combine all of the above reports, use:
1192 -W 2,40,45
1193
1194 For ATA devices, smartd interprets Attribute 194 as Temperature
1195 Celsius by default. This can be changed to Attribute 9 or 220 by
1196 the drive database or by the ´-v´ directive, see below.
1197
1198
1199 -F TYPE
1200 [ATA only] Modifies the behavior of smartd to compensate for
1201 some known and understood device firmware bug. The arguments to
1202 this Directive are exclusive, so that only the final Directive
1203 given is used. The valid values are:
1204
1205 none - Assume that the device firmware obeys the ATA specifica‐
1206 tions. This is the default, unless the device has presets for
1207 ´-F´ in the device database.
1208
1209 samsung - In some Samsung disks (example: model SV4012H Firmware
1210 Version: RM100-08) some of the two- and four-byte quantities in
1211 the SMART data structures are byte-swapped (relative to the ATA
1212 specification). Enabling this option tells smartd to evaluate
1213 these quantities in byte-reversed order. Some signs that your
1214 disk needs this option are (1) no self-test log printed, even
1215 though you have run self-tests; (2) very large numbers of ATA
1216 errors reported in the ATA error log; (3) strange and impossible
1217 values for the ATA error log timestamps.
1218
1219 samsung2 - In more recent Samsung disks (firmware revisions end‐
1220 ing in "-23") the number of ATA errors reported is byte swapped.
1221 Enabling this option tells smartd to evaluate this quantity in
1222 byte-reversed order.
1223
1224 Note that an explicit ´-F´ Directive will over-ride any preset
1225 values for ´-F´ (see the ´-P´ option below).
1226
1227
1228 [Please see the smartctl -F command-line option.]
1229
1230
1231 -v N,OPTION
1232 Modifies the labeling for Attribute N, for disks which use non-
1233 standard Attribute definitions. This is useful in connection
1234 with the Attribute tracking/reporting Directives.
1235
1236 This Directive may appear multiple times. Valid arguments to
1237 this Directive are:
1238
1239 9,minutes - Raw Attribute number 9 is power-on time in minutes.
1240 Its raw value will be displayed in the form ´Xh+Ym´. Here X is
1241 hours, and Y is minutes in the range 0-59 inclusive. Y is
1242 always printed with two digits, for example ´06´ or ´31´ or
1243 ´00´.
1244
1245 9,seconds - Raw Attribute number 9 is power-on time in seconds.
1246 Its raw value will be displayed in the form ´Xh+Ym+Zs´. Here X
1247 is hours, Y is minutes in the range 0-59 inclusive, and Z is
1248 seconds in the range 0-59 inclusive. Y and Z are always printed
1249 with two digits, for example ´06´ or ´31´ or ´00´.
1250
1251 9,halfminutes - Raw Attribute number 9 is power-on time, mea‐
1252 sured in units of 30 seconds. This format is used by some Sam‐
1253 sung disks. Its raw value will be displayed in the form
1254 ´Xh+Ym´. Here X is hours, and Y is minutes in the range 0-59
1255 inclusive. Y is always printed with two digits, for example
1256 ´06´ or ´31´ or ´00´.
1257
1258 9,temp - Raw Attribute number 9 is the disk temperature in Cel‐
1259 sius.
1260
1261 192,emergencyretractcyclect - Raw Attribute number 192 is the
1262 Emergency Retract Cycle Count.
1263
1264 193,loadunload - Raw Attribute number 193 contains two values.
1265 The first is the number of load cycles. The second is the num‐
1266 ber of unload cycles. The difference between these two values
1267 is the number of times that the drive was unexpectedly powered
1268 off (also called an emergency unload). As a rule of thumb, the
1269 mechanical stress created by one emergency unload is equivalent
1270 to that created by one hundred normal unloads.
1271
1272 194,10xCelsius - Raw Attribute number 194 is ten times the disk
1273 temperature in Celsius. This is used by some Samsung disks
1274 (example: model SV1204H with RK100-13 firmware).
1275
1276 194,unknown - Raw Attribute number 194 is NOT the disk tempera‐
1277 ture, and its interpretation is unknown. This is primarily use‐
1278 ful for the -P (presets) Directive.
1279
1280 198,offlinescanuncsectorct - Raw Attribute number 198 is the
1281 Offline Scan UNC Sector Count.
1282
1283 200,writeerrorcount - Raw Attribute number 200 is the Write
1284 Error Count.
1285
1286 201,detectedtacount - Raw Attribute number 201 is the Detected
1287 TA Count.
1288
1289 220,temp - Raw Attribute number 220 is the disk temperature in
1290 Celsius.
1291
1292 Note: a table of hard drive models, listing which Attribute cor‐
1293 responds to temperature, can be found at:
1294 http://www.guzu.net/linux/hddtemp.db
1295
1296 N,raw8 - Print the Raw value of Attribute N as six 8-bit
1297 unsigned base-10 integers. This may be useful for decoding the
1298 meaning of the Raw value. The form ´N,raw8´ prints Raw values
1299 for ALL Attributes in this form. The form (for example)
1300 ´123,raw8´ only prints the Raw value for Attribute 123 in this
1301 form.
1302
1303 N,raw16 - Print the Raw value of Attribute N as three 16-bit
1304 unsigned base-10 integers. This may be useful for decoding the
1305 meaning of the Raw value. The form ´N,raw16´ prints Raw values
1306 for ALL Attributes in this form. The form (for example)
1307 ´123,raw16´ only prints the Raw value for Attribute 123 in this
1308 form.
1309
1310 N,raw48 - Print the Raw value of Attribute N as a 48-bit
1311 unsigned base-10 integer. This may be useful for decoding the
1312 meaning of the Raw value. The form ´N,raw48´ prints Raw values
1313 for ALL Attributes in this form. The form (for example)
1314 ´123,raw48´ only prints the Raw value for Attribute 123 in this
1315 form.
1316
1317
1318 -P TYPE
1319 Specifies whether smartd should use any preset options that are
1320 available for this drive. The valid arguments to this Directive
1321 are:
1322
1323 use - use any presets that are available for this drive. This
1324 is the default.
1325
1326 ignore - do not use any presets for this drive.
1327
1328 show - show the presets listed for this drive in the database.
1329
1330 showall - show the presets that are available for all drives and
1331 then exit.
1332
1333 [Please see the smartctl -P command-line option.]
1334
1335
1336 -a Equivalent to turning on all of the following Directives: ´-H´
1337 to check the SMART health status, ´-f´ to report failures of
1338 Usage (rather than Prefail) Attributes, ´-t´ to track changes in
1339 both Prefailure and Usage Attributes, ´-l selftest´ to report
1340 increases in the number of Self-Test Log errors, ´-l error´ to
1341 report increases in the number of ATA errors, ´-C 197´ to report
1342 nonzero values of the current pending sector count, and ´-U 198´
1343 to report nonzero values of the offline pending sector count.
1344
1345 Note that -a is the default for ATA devices. If none of these
1346 other Directives is given, then -a is assumed.
1347
1348
1349 # Comment: ignore the remainder of the line.
1350
1351 \ Continuation character: if this is the last non-white or non-
1352 comment character on a line, then the following line is a con‐
1353 tinuation of the current one.
1354
1355 If you are not sure which Directives to use, I suggest experimenting
1356 for a few minutes with smartctl to see what SMART functionality your
1357 disk(s) support(s). If you do not like voluminous syslog messages, a
1358 good choice of smartd configuration file Directives might be:
1359 -H -l selftest -l error -f.
1360 If you want more frequent information, use: -a.
1361
1362
1363 ADDITIONAL DETAILS ABOUT DEVICESCAN
1364 If the first non-comment entry in the configuration file is the
1365 text string DEVICESCAN in capital letters, then smartd will
1366 ignore any remaining lines in the configuration file, and will
1367 scan for devices.
1368
1369 If DEVICESCAN is not followed by any Directives, then smartd
1370 will scan for both ATA and SCSI devices, and will monitor all
1371 possible SMART properties of any devices that are found.
1372
1373 DEVICESCAN may optionally be followed by any valid Directives,
1374 which will be applied to all devices that are found in the scan.
1375 For example
1376 DEVICESCAN -m root@example.com
1377 will scan for all devices, and then monitor them. It will send
1378 one email warning per device for any problems that are found.
1379 DEVICESCAN -d ata -m root@example.com
1380 will do the same, but restricts the scan to ATA devices only.
1381 DEVICESCAN -H -d ata -m root@example.com
1382 will do the same, but only monitors the SMART health status of
1383 the devices, (rather than the default -a, which monitors all
1384 SMART properties).
1385
1386
1387 EXAMPLES OF SHELL SCRIPTS FOR ´-M exec´
1388 These are two examples of shell scripts that can be used with
1389 the ´-M exec PATH´ Directive described previously. The paths to
1390 these scripts and similar executables is the PATH argument to
1391 the ´-M exec PATH´ Directive.
1392
1393 Example 1: This script is for use with ´-m ADDRESS -M exec
1394 PATH´. It appends the output of smartctl -a to the output of
1395 the smartd email warning message and sends it to ADDRESS.
1396
1397 #! /bin/bash
1398
1399 # Save the email message (STDIN) to a file:
1400 cat > /root/msg
1401
1402 # Append the output of smartctl -a to the message:
1403 /usr/sbin/smartctl -a -d $SMART_DEVICETYPE $SMARTD_DEVICE >> /root/msg
1404
1405 # Now email the message to the user at address ADD:
1406 /bin/mail -s "$SMARTD_SUBJECT" $SMARTD_ADDRESS < /root/msg
1407
1408 Example 2: This script is for use with ´-m <nomailer> -M exec
1409 PATH´. It warns all users about a disk problem, waits 30 sec‐
1410 onds, and then powers down the machine.
1411
1412 #! /bin/bash
1413
1414 # Warn all users of a problem
1415 wall ´Problem detected with disk: ´ "$SMARTD_DEVICESTRING"
1416 wall ´Warning message from smartd is: ´ "$SMARTD_MESSAGE"
1417 wall ´Shutting down machine in 30 seconds... ´
1418
1419 # Wait half a minute
1420 sleep 30
1421
1422 # Power down the machine
1423 /sbin/shutdown -hf now
1424
1425 Some example scripts are distributed with the smartmontools
1426 package, in /usr/share/doc/smartmontools-5.37/examplescripts/.
1427
1428 Please note that these scripts typically run as root, so any
1429 files that they read/write should not be writable by ordinary
1430 users or reside in directories like /tmp that are writable by
1431 ordinary users and may expose your system to symlink attacks.
1432
1433 As previously described, if the scripts write to STDOUT or
1434 STDERR, this is interpreted as indicating that there was an
1435 internal error within the script, and a snippet of STDOUT/STDERR
1436 is logged to SYSLOG. The remainder is flushed.
1437
1438
1439
1441 smartd will make log entries at loglevel LOG_INFO if the Normalized
1442 SMART Attribute values have changed, as reported using the ´-t´, ´-p´,
1443 or ´-u´ Directives. For example:
1444 ´Device: /dev/hda, SMART Attribute: 194 Temperature_Celsius changed from 94 to 93´
1445 Note that in this message, the value given is the ´Normalized´ not the
1446 ´Raw´ Attribute value (the disk temperature in this case is about 22
1447 Celsius). The ´-R´ and ´-r´ Directives modify this behavior, so that
1448 the information is printed with the Raw values as well, for example:
1449 ´Device: /dev/hda, SMART Attribute: 194 Temperature_Celsius changed from 94 [Raw 22] to 93 [Raw 23]´
1450 Here the Raw values are the actual disk temperatures in Celsius. The
1451 way in which the Raw values are printed, and the names under which the
1452 Attributes are reported, is governed by the various ´-v Num,Descrip‐
1453 tion´ Directives described previously.
1454
1455 Please see the smartctl manual page for further explanation of the dif‐
1456 ferences between Normalized and Raw Attribute values.
1457
1458 smartd will make log entries at loglevel LOG_CRIT if a SMART Attribute
1459 has failed, for example:
1460 ´Device: /dev/hdc, Failed SMART Attribute: 5 Reallocated_Sector_Ct´
1461 This loglevel is used for reporting enabled by the ´-H´, -f´,
1462 ´-l selftest´, and ´-l error´ Directives. Entries reporting failure of
1463 SMART Prefailure Attributes should not be ignored: they mean that the
1464 disk is failing. Use the smartctl utility to investigate.
1465
1466 Under Solaris with the default /etc/syslog.conf configuration, messages
1467 below loglevel LOG_NOTICE will not be recorded. Hence all smartd mes‐
1468 sages with loglevel LOG_INFO will be lost. If you want to use the
1469 existing daemon facility to log all messages from smartd, you should
1470 change /etc/syslog.conf from:
1471 ...;daemon.notice;... /var/adm/messages
1472 to read:
1473 ...;daemon.info;... /var/adm/messages
1474 Alternatively, you can use a local facility to log messages: please see
1475 the smartd '-l' command-line option described above.
1476
1477 On Cygwin and Windows, the log messages are written to the event log or
1478 to a file. See documentation of the '-l FACILITY' option above for
1479 details.
1480
1481 On Windows, the following built-in commands can be used to control
1482 smartd, if running as a daemon:
1483
1484 ´smartd status´ - check status
1485
1486 ´smartd stop´ - stop smartd
1487
1488 ´smartd reload´ - reread config file
1489
1490 ´smartd restart´ - restart smartd
1491
1492 ´smartd sigusr1´ - check disks now
1493
1494 ´smartd sigusr2´ - toggle debug mode
1495
1496 On WinNT4/2000/XP, smartd can also be run as a Windows service:
1497
1498
1499 The Cygwin Version of smartd can be run as a service via the cygrunsrv
1500 tool. The start-up script provides Cygwin-specific commands to install
1501 and remove the service:
1502 /etc/rc.d/init.d/smartd install [options]
1503 /etc/rc.d/init.d/smartd remove
1504 The service can be started and stopped by the start-up script as usual
1505 (see EXAMPLES above).
1506
1507
1508 The Windows Version of smartd has buildin support for services:
1509
1510 ´smartd install [options]´ installs a service named "smartd" (display
1511 name "SmartD Service") using the command line ´/installpath/smartd.exe
1512 --service [options]´.
1513
1514 ´smartd remove´ can later be used to remove the service entry from reg‐
1515 istry.
1516
1517 Upon startup, the smartd service changes the working directory to its
1518 own installation path. If smartd.conf and blat.exe are stored in this
1519 directory, no ´-c´ option and ´-M exec´ directive is needed.
1520
1521 The debug mode (´-d´, ´-q onecheck´) does not work if smartd is running
1522 as service.
1523
1524 The service can be controlled as usual with Windows commands ´net´ or
1525 ´sc´ (´net start smartd´, ´net stop smartd´).
1526
1527 Pausing the service (´net pause smartd´) sets the interval between disk
1528 checks (´-i N´) to infinite.
1529
1530 Continuing the paused service (´net continue smartd´) resets the inter‐
1531 val and rereads the configuration file immediately (like SIGHUP):
1532
1533 Continuing a still running service (´net continue smartd´ without pre‐
1534 ceding ´net pause smartd´) does not reread configuration but checks
1535 disks immediately (like SIGUSR1).
1536
1537
1539 When smartd makes log entries, these are time-stamped. The time stamps
1540 are in the computer's local time zone, which is generally set using
1541 either the environment variable ´TZ´ or using a time-zone file such as
1542 /etc/localtime. You may wish to change the timezone while smartd is
1543 running (for example, if you carry a laptop to a new time-zone and
1544 don't reboot it). Due to a bug in the tzset(3) function of many unix
1545 standard C libraries, the time-zone stamps of smartd might not change.
1546 For some systems, smartd will work around this problem if the time-zone
1547 is set using /etc/localtime. The work-around fails if the time-zone is
1548 set using the ´TZ´ variable (or a file that it points to).
1549
1550
1551
1553 The return value (exit status) of smartd can have the following values:
1554
1555 0: Daemon startup successful, or smartd was killed by a SIGTERM (or
1556 in debug mode, a SIGQUIT).
1557
1558 1: Commandline did not parse.
1559
1560 2: There was a syntax error in the config file.
1561
1562 3: Forking the daemon failed.
1563
1564 4: Couldn´t create PID file.
1565
1566 5: Config file does not exist (only returned in conjunction with
1567 the ´-c´ option).
1568
1569 6: Config file exists, but cannot be read.
1570
1571 8: smartd ran out of memory during startup.
1572
1573 9: A compile time constant of smartd was too small. This can be
1574 caused by an excessive number of disks, or by lines in
1575 /etc/smartd.conf that are too long. Please report this problem
1576 to smartmontools-support@lists.sourceforge.net.
1577
1578 10 An inconsistency was found in smartd´s internal data structures.
1579 This should never happen. It must be due to either a coding or
1580 compiler bug. Please report such failures to smartmontools-sup‐
1581 port@lists.sourceforge.net.
1582
1583 16: A device explicitly listed in /etc/smartd.conf can´t be moni‐
1584 tored.
1585
1586 17: smartd didn´t find any devices to monitor.
1587
1588 254: When in daemon mode, smartd received a SIGINT or SIGQUIT. (Note
1589 that in debug mode, SIGINT has the same effect as SIGHUP, and
1590 makes smartd reload its configuration file. SIGQUIT has the same
1591 effect as SIGTERM and causes smartd to exit with zero exit sta‐
1592 tus.
1593
1594 132 and above
1595 smartd was killed by a signal that is not explicitly listed
1596 above. The exit status is then 128 plus the signal number. For
1597 example if smartd is killed by SIGKILL (signal 9) then the exit
1598 status is 137.
1599
1600
1602 Bruce Allen smartmontools-support@lists.sourceforge.net
1603 University of Wisconsin - Milwaukee Physics Department
1604
1605
1607 The following have made large contributions to smartmontools:
1608 Casper Dik (Solaris SCSI interface)
1609 Christian Franke (Windows interface and Cygwin package)
1610 Douglas Gilbert (SCSI subsystem)
1611 Guido Guenther (Autoconf/Automake packaging)
1612 Geoffrey Keating (Darwin ATA interface)
1613 Eduard Martinescu (FreeBSD interface)
1614 Frederic L. W. Meunier (Web site and Mailing list)
1615 Keiji Sawada (Solaris ATA interface)
1616 Sergey Svishchev (NetBSD interface)
1617 David Snyder and Sergey Svishchev (OpenBSD interface)
1618 Phil Williams (User interface and drive database)
1619 Shengfeng Zhou (Linux Highpoint RocketRaid interface)
1620 Many other individuals have made smaller contributions and corrections.
1621
1622
1624 This code was derived from the smartsuite package, written by Michael
1625 Cornwell, and from the previous ucsc smartsuite package. It extends
1626 these to cover ATA-5 disks. This code was originally developed as a
1627 Senior Thesis by Michael Cornwell at the Concurrent Systems Laboratory
1628 (now part of the Storage Systems Research Center), Jack Baskin School
1629 of Engineering, University of California, Santa Cruz.
1630 http://ssrc.soe.ucsc.edu/ .
1631
1633 Please see the following web site for updates, further documentation,
1634 bug reports and patches: http://smartmontools.sourceforge.net/
1635
1636
1638 smartd.conf(5), smartctl(8), syslogd(8), syslog.conf(5), badblocks(8),
1639 ide-smart(8), regex(7).
1640
1641
1643 An introductory article about smartmontools is Monitoring Hard Disks
1644 with SMART, by Bruce Allen, Linux Journal, January 2004, pages 74-77.
1645 This is http://www.linuxjournal.com/article.php?sid=6983 online.
1646
1647 If you would like to understand better how SMART works, and what it
1648 does, a good place to start is with Sections 4.8 and 6.54 of the first
1649 volume of the ´AT Attachment with Packet Interface-7´ (ATA/ATAPI-7)
1650 specification. This documents the SMART functionality which the smart‐
1651 montools utilities provide access to. You can find Revision 4b of this
1652 document at http://www.t13.org/docs2004/d1532v1r4b-ATA-ATAPI-7.pdf .
1653 Earlier and later versions of this Specification are available from the
1654 T13 web site http://www.t13.org/ .
1655
1656 The functioning of SMART was originally defined by the SFF-8035i revi‐
1657 sion 2 and the SFF-8055i revision 1.4 specifications. These are publi‐
1658 cations of the Small Form Factors (SFF) Committee. Links to these doc‐
1659 uments may be found in the References section of the smartmontools home
1660 page at http://smartmontools.sourceforge.net/#references .
1661
1662
1664 $Id: smartd.8.in,v 1.113 2006/12/20 07:30:43 sxzzsf Exp $
1665
1666
1667
1668smartmontools-5.37 2006/12/20 SMARTD(8)