]>
Commit | Line | Data |
---|---|---|
832b75ed GG |
1 | .ig |
2 | Copyright (C) 2002-6 Bruce Allen <smartmontools-support@lists.sourceforge.net> | |
3 | ||
4 | $Id: smartctl.8.in,v 1.78 2006/04/12 15:45:38 ballen4705 Exp $ | |
5 | ||
6 | This program is free software; you can redistribute it and/or modify it | |
7 | under the terms of the GNU General Public License as published by the Free | |
8 | Software Foundation; either version 2, or (at your option) any later | |
9 | version. | |
10 | ||
11 | You should have received a copy of the GNU General Public License (for | |
12 | example COPYING); if not, write to the Free Software Foundation, Inc., 675 | |
13 | Mass Ave, Cambridge, MA 02139, USA. | |
14 | ||
15 | This code was originally developed as a Senior Thesis by Michael Cornwell | |
16 | at the Concurrent Systems Laboratory (now part of the Storage Systems | |
17 | Research Center), Jack Baskin School of Engineering, University of | |
18 | California, Santa Cruz. http://ssrc.soe.ucsc.edu/ | |
19 | ||
20 | .. | |
21 | .TH SMARTCTL 8 CURRENT_CVS_DATE CURRENT_CVS_VERSION CURRENT_CVS_DATE | |
22 | .SH NAME | |
23 | \fBsmartctl\fP \- Control and Monitor Utility for SMART Disks | |
24 | ||
25 | .SH SYNOPSIS | |
26 | .B smartctl [options] device | |
27 | ||
28 | .SH FULL PATH | |
29 | .B /usr/local/sbin/smartctl | |
30 | ||
31 | .SH PACKAGE VERSION | |
32 | CURRENT_CVS_VERSION released CURRENT_CVS_DATE at CURRENT_CVS_TIME | |
33 | ||
34 | .SH DESCRIPTION | |
35 | \fBsmartctl\fP controls the Self\-Monitoring, Analysis and Reporting | |
36 | Technology (SMART) system built into many ATA\-3 and later ATA, IDE and | |
37 | SCSI\-3 hard drives. The purpose of SMART is to monitor the reliability | |
38 | of the hard drive and predict drive failures, and to carry out | |
39 | different types of drive self\-tests. This version of \fBsmartctl\fP | |
40 | is compatible with ATA/ATAPI\-7 and earlier standards (see REFERENCES | |
41 | below) | |
42 | ||
43 | \fBsmartctl\fP is a command line utility designed to perform SMART | |
44 | tasks such as printing the SMART self\-test and error logs, enabling | |
45 | and disabling SMART automatic testing, and initiating device | |
46 | self\-tests. Note: if the user issues a SMART command that is | |
47 | (apparently) not implemented by the device, \fBsmartctl\fP will print | |
48 | a warning message but issue the command anyway (see the \fB\-T, | |
49 | \-\-tolerance\fP option below). This should not cause problems: on | |
50 | most devices, unimplemented SMART commands issued to a drive are | |
51 | ignored and/or return an error. | |
52 | ||
53 | \fBsmartctl\fP also provides support for polling TapeAlert messages | |
54 | from SCSI tape drives and changers. | |
55 | ||
56 | The user must specify the device to be controlled or interrogated as | |
57 | the final argument to \fBsmartctl\fP. Device paths are as follows: | |
58 | .IP \fBLINUX\fP: 9 | |
59 | Use the forms \fB"/dev/hd[a\-t]"\fP for IDE/ATA | |
60 | devices, and \fB"/dev/sd[a\-z]"\fP for SCSI devices. For | |
61 | SCSI Tape Drives and Changers with TapeAlert support use the devices | |
62 | \fB"/dev/nst*"\fP and \fB"/dev/sg*"\fP. | |
63 | For SATA disks accessed with libata, use \fB"/dev/sd[a\-z]"\fP | |
64 | and append \fB"\-d ata"\fP. For disks behind 3ware controllers | |
65 | you may need \fB"/dev/sd[a\-z]"\fP or \fB"/dev/twe[0\-9]"\fP | |
66 | or \fB"/dev/twa[0\-9]"\fP: see details below. | |
67 | More general paths (such as devfs ones) may also be specified. | |
68 | .IP \fBDARWIN\fP: 9 | |
69 | Use the forms \fB/dev/disk[0\-9]\fP or equivalently \fBdisk[0\-9]\fP or equivalently | |
70 | \fB/dev/rdisk[0\-9]\fP. Long forms are also available: please use \'\-h\' to see some | |
71 | examples. Note that there is currently no Darwin SCSI support. | |
72 | .IP \fBFREEBSD\fP: 9 | |
73 | Use the forms \fB"/dev/ad[0\-9]+"\fP for IDE/ATA | |
74 | devices and \fB"/dev/da[0\-9]+"\fP for SCSI devices. | |
75 | .IP \fBNETBSD/OPENBSD\fP: 9 | |
76 | Use the form \fB"/dev/wd[0\-9]+c"\fP for IDE/ATA | |
77 | devices. For SCSI disk and tape devices, use the device names | |
78 | \fB"/dev/sd[0\-9]+c"\fP and \fB"/dev/st[0\-9]+c"\fP respectively. | |
79 | Be sure to specify the correct "whole disk" partition letter for | |
80 | your architecture. | |
81 | .IP \fBSOLARIS\fP: 9 | |
82 | Use the forms \fB"/dev/rdsk/c?t?d?s?"\fP for IDE/ATA and SCSI disk | |
83 | devices, and \fB"/dev/rmt/*"\fP for SCSI tape devices. | |
84 | .IP \fBWINDOWS\fP: 9 | |
85 | Use the forms \fB"/dev/hd[a\-j]"\fP for IDE/ATA devices | |
86 | "\\\\.\\PhysicalDrive[0\-9]" on WinNT4/2000/XP, | |
87 | \fB"/dev/hd[a\-d]"\fP for standard IDE/ATA devices on Win95/98/98SE/ME, | |
88 | and \fB"/dev/scsi[0\-9][0\-f]"\fP for SCSI devices on ASPI adapter 0\-9, ID 0\-15. | |
89 | The prefix \fB"/dev/"\fP is optional. | |
90 | .IP \fBCYGWIN\fP: 9 | |
91 | See "WINDOWS" above. | |
92 | .IP \fBOS/2,eComStation\fP: 9 | |
93 | Use the form \fB"/dev/hd[a\-z]"\fP for IDE/ATA devices. | |
94 | .PP | |
95 | Based on the device path, \fBsmartctl\fP will guess the device type | |
96 | (ATA or SCSI). If necessary, the \'\-d\' option can be used to over\-ride | |
97 | this guess | |
98 | ||
99 | Note that the printed output of \fBsmartctl\fP displays most numerical | |
100 | values in base 10 (decimal), but some values are displayed in base 16 | |
101 | (hexidecimal). To distinguish them, the base 16 values are always | |
102 | displayed with a leading \fB"0x"\fP, for example: "0xff". This man | |
103 | page follows the same convention. | |
104 | ||
105 | .PP | |
106 | .SH OPTIONS | |
107 | .PP | |
108 | The options are grouped below into several categories. \fBsmartctl\fP | |
109 | will execute the corresponding commands in the order: INFORMATION, | |
110 | ENABLE/DISABLE, DISPLAY DATA, RUN/ABORT TESTS. | |
111 | ||
112 | SCSI devices only accept the options \fB\-h, \-V, \-i, \-a, \-A, \-d, | |
113 | \-s, \-S,\-H, \-t, \-C, \-l selftest, \-l error, \-r,\fP and | |
114 | \fB\-X\fP. TapeAlert devices only accept the options \fB\-h, \-V, | |
115 | \-i, \-a, \-A, \-d, \-s, \-S, \-t, \-l selftest, \-l error, \-r,\fP | |
116 | and \fB\-H\fP. | |
117 | ||
118 | Long options are not supported on all systems. Use | |
119 | .B \'smartctl \-h\' | |
120 | to see the available options. | |
121 | ||
122 | .TP | |
123 | .B SHOW INFORMATION OPTIONS: | |
124 | .TP | |
125 | .B \-h, \-\-help, \-\-usage | |
126 | Prints a usage message to STDOUT and exits. | |
127 | .TP | |
128 | .B \-V, \-\-version, \-\-copyright, \-\-license | |
129 | Prints version, copyright, license, home page and CVS\-id information | |
130 | for your copy of \fBsmartctl\fP to STDOUT and then exits. Please | |
131 | include this information if you are reporting bugs or problems. | |
132 | .TP | |
133 | .B \-i, \-\-info | |
134 | Prints the device model number, serial number, firmware version, and | |
135 | ATA Standard version/revision information. Says if the device | |
136 | supports SMART, and if so, whether SMART support is currently enabled | |
137 | or disabled. If the device supports Logical Block Address mode (LBA | |
138 | mode) print current user drive capacity in bytes. (If drive is has a | |
139 | user protected area reserved, or is "clipped", this may be smaller | |
140 | than the potential maximum drive capacity.) Indicates if the drive is | |
141 | in the smartmontools database (see \'\-v\' options below). If so, the | |
142 | drive model family may also be printed. | |
143 | .TP | |
144 | .B \-a, \-\-all | |
145 | Prints all SMART information about the disk, or TapeAlert information | |
146 | about the tape drive or changer. For ATA devices this is equivalent | |
147 | to | |
148 | .nf | |
149 | \'\-H \-i \-c \-A \-l error \-l selftest -l selective\' | |
150 | .fi | |
151 | and for SCSI, this is equivalent to | |
152 | .nf | |
153 | \'\-H \-i \-A \-l error \-l selftest\'. | |
154 | .fi | |
155 | Note that for ATA disks this does \fBnot\fP enable the \'\-l | |
156 | directory\' option. | |
157 | ||
158 | .TP | |
159 | .B RUN\-TIME BEHAVIOR OPTIONS: | |
160 | .TP | |
161 | .B \-q TYPE, \-\-quietmode=TYPE | |
162 | Specifies that \fBsmartctl\fP should run in one of the two quiet modes | |
163 | described here. The valid arguments to this option are: | |
164 | ||
165 | .I errorsonly | |
166 | \- only print: For the \'\-l error\' option, if nonzero, the number | |
167 | of errors recorded in the SMART error log and the power\-on time when | |
168 | they occurred; For the \'\-l selftest\' option, errors recorded in the device | |
169 | self\-test log; For the \'\-H\' option, SMART "disk failing" status or device | |
170 | Attributes (pre\-failure or usage) which failed either now or in the | |
171 | past; For the \'\-A\' option, device Attributes (pre\-failure or usage) | |
172 | which failed either now or in the past. | |
173 | ||
174 | .I silent | |
175 | \- print no output. The only way to learn about what was found is to | |
176 | use the exit status of \fBsmartctl\fP (see RETURN VALUES below). | |
177 | .TP | |
178 | .B \-d TYPE, \-\-device=TYPE | |
179 | Specifies the type of the device. The valid arguments to this option | |
180 | are \fIata\fP, \fIscsi\fP, \fImarvell\fP, and \fI3ware,N\fP. If this option is not | |
181 | used then \fBsmartctl\fP will attempt to guess the device type from | |
182 | the device name. | |
183 | ||
184 | Under Linux, to look at SATA disks behind Marvell SATA controllers | |
185 | (using Marvell's \'linuxIAL\' driver rather than libata driver) use \'\-d marvell\'. Such | |
186 | controllers show up as Marvell Technology Group Ltd. SATA I or II controllers | |
187 | using lspci, or using lspci -n show a vendor ID 0x11ab and a device ID of | |
188 | either 0x5040, 0x5041, 0x5080, 0x5081, 0x6041 or 0x6081. The \'linuxIAL\' driver | |
189 | seems not (yet?) available in the Linux kernel source tree, but should be available | |
190 | from system vendors (ftp://ftp.aslab.com/ is known to provide a patch with the driver). | |
191 | ||
192 | To look at ATA disks behind 3ware SCSI RAID controllers, use syntax | |
193 | such as: | |
194 | .nf | |
195 | \fBsmartctl \-a \-d 3ware,2 /dev/sda\fP | |
196 | .fi | |
197 | .nf | |
198 | \fBsmartctl \-a \-d 3ware,0 /dev/twe0\fP | |
199 | .fi | |
200 | .nf | |
201 | \fBsmartctl \-a \-d 3ware,1 /dev/twa0\fP | |
202 | .fi | |
203 | where in the argument \fI3ware,N\fP, the integer N is the disk number | |
204 | (3ware \'port\') within the 3ware ATA RAID controller. The allowed | |
205 | values of N are from 0 to 15 inclusive. The first two forms, which | |
206 | refer to devices /dev/sda-z and /dev/twe0-15, may be used with 3ware | |
207 | series 6000, 7000, and 8000 series controllers that use the 3x-xxxx | |
208 | driver. \fBNote that the /dev/sda-z form is deprecated\fP starting | |
209 | with the Linux 2.6 kernel series and may not be supported by the Linux | |
210 | kernel in the near future. The final form, which refers to devices | |
211 | /dev/twa0-15, must be used with 3ware 9000 series controllers, which | |
212 | use the 3w-9xxx driver. | |
213 | ||
214 | Note that if the special character device nodes /dev/twa? and | |
215 | /dev/twe? do not exist, or exist with the incorrect major or minor | |
216 | numbers, smartctl will recreate them on the fly. Typically /dev/twa0 | |
217 | refers to the first 9000-series controller, /dev/twa1 refers to the | |
218 | second 9000 series controller, and so on. Likewise /dev/twe0 refers to | |
219 | the first 6/7/8000-series controller, /dev/twa1 refers to the second | |
220 | 6/7/8000 series controller, and so on. | |
221 | ||
222 | Note that for the 6/7/8000 controllers, \fBany\fP of the physical | |
223 | disks can be queried or examined using \fBany\fP of the 3ware's SCSI | |
224 | logical device /dev/sd? entries. Thus, if logical device /dev/sda is | |
225 | made up of two physical disks (3ware ports zero and one) and logical | |
226 | device /dev/sdb is made up of two other physical disks (3ware ports | |
227 | two and three) then you can examine the SMART data on \fBany\fP of the | |
228 | four physical disks using \fBeither\fP SCSI device /dev/sda \fBor\fP | |
229 | /dev/sdb. If you need to know which logical SCSI device a particular | |
230 | physical disk (3ware port) is associated with, use the dmesg or SYSLOG | |
231 | output to show which SCSI ID corresponds to a particular 3ware unit, | |
232 | and then use the 3ware CLI or 3dm tool to determine which ports | |
233 | (physical disks) correspond to particular 3ware units. | |
234 | ||
235 | If the value of N corresponds to a port that does \fBnot\fP exist on | |
236 | the 3ware controller, or to a port that does not physically have a | |
237 | disk attached to it, the behavior of \fBsmartctl\fP depends upon the | |
238 | specific controller model, firmware, Linux kernel and platform. In | |
239 | some cases you will get a warning message that the device does not | |
240 | exist. In other cases you will be presented with \'void\' data for a | |
241 | non\-existent device. | |
242 | ||
243 | Note that if the /dev/sd? addressing form is used, then older 3w\-xxxx | |
244 | drivers do not pass the "Enable Autosave" | |
245 | (\'\fB\-S on\fP\') and "Enable Automatic Offline" (\'\fB\-o on\fP\') | |
246 | commands to the disk, and produce these types of harmless syslog error | |
247 | messages instead: "\fB3w\-xxxx: tw_ioctl(): Passthru size (123392) too | |
248 | big\fP". This can be fixed by upgrading to version 1.02.00.037 or | |
249 | later of the 3w\-xxxx driver, or by applying a patch to older | |
250 | versions. See \fBhttp://smartmontools.sourceforge.net/\fP for | |
251 | instructions. Alternatively, use the character device /dev/twe0-15 interface. | |
252 | ||
253 | The selective self\-test functions (\'\-t select,A\-B\') are only supported | |
254 | using the character device interface /dev/twa0\-15 and /dev/twe0\-15. | |
255 | The necessary WRITE LOG commands can not be passed through the SCSI | |
256 | interface. | |
257 | ||
258 | .B 3ware controllers are currently ONLY supported under Linux and FreeBSD. | |
259 | ||
260 | .TP | |
261 | .B \-T TYPE, \-\-tolerance=TYPE | |
262 | Specifies how tolerant \fBsmartctl\fP should be of ATA and SMART command | |
263 | failures. | |
264 | ||
265 | The behavior of \fBsmartctl\fP depends upon whether the command is | |
266 | "\fBoptional\fP" or "\fBmandatory\fP". Here "\fBmandatory\fP" means | |
267 | "required by the ATA/ATAPI\-5 Specification if the device implements | |
268 | the SMART command set" and "\fBoptional\fP" means "not required by the | |
269 | ATA/ATAPI\-5 Specification even if the device implements the SMART | |
270 | command set." The "\fBmandatory\fP" ATA and SMART commands are: (1) | |
271 | ATA IDENTIFY DEVICE, (2) SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE, (3) | |
272 | SMART ENABLE/DISABLE, and (4) SMART RETURN STATUS. | |
273 | ||
274 | The valid arguments to this option are: | |
275 | ||
276 | .I normal | |
277 | \- exit on failure of any \fBmandatory\fP SMART command, and ignore | |
278 | all failures of \fBoptional\fP SMART commands. This is the default. | |
279 | Note that on some devices, issuing unimplemented optional SMART | |
280 | commands doesn\'t cause an error. This can result in misleading | |
281 | \fBsmartctl\fP messages such as "Feature X not implemented", followed | |
282 | shortly by "Feature X: enabled". In most such cases, contrary to the | |
283 | final message, Feature X is \fBnot\fP enabled. | |
284 | ||
285 | .I conservative | |
286 | \- exit on failure of any \fBoptional\fP SMART command. | |
287 | ||
288 | .I permissive | |
289 | \- ignore failure(s) of \fBmandatory\fP SMART commands. This option | |
290 | may be given more than once. Each additional use of this option will | |
291 | cause one more additional failure to be ignored. Note that the use of | |
292 | this option can lead to messages like "Feature X not implemented", | |
293 | followed shortly by "Error: unable to enable Feature X". In a few | |
294 | such cases, contrary to the final message, Feature X \fBis\fP enabled. | |
295 | ||
296 | .I verypermissive | |
297 | \- equivalent to giving a large number of \'\-T permissive\' options: | |
298 | ignore failures of \fBany number\fP of \fBmandatory\fP SMART commands. | |
299 | Please see the note above. | |
300 | ||
301 | .TP | |
302 | .B \-b TYPE, \-\-badsum=TYPE | |
303 | Specifies the action \fBsmartctl\fP should take if a checksum error is | |
304 | detected in the: (1) Device Identity Structure, (2) SMART Self\-Test | |
305 | Log Structure, (3) SMART Attribute Value Structure, (4) SMART | |
306 | Attribute Threshold Structure, or (5) ATA Error Log Structure. | |
307 | ||
308 | The valid arguments to this option are: | |
309 | ||
310 | .I warn | |
311 | \- report the incorrect checksum but carry on in spite of it. This is the | |
312 | default. | |
313 | ||
314 | .I exit | |
315 | \- exit \fBsmartctl\fP. | |
316 | ||
317 | .I ignore | |
318 | \- continue silently without issuing a warning. | |
319 | ||
320 | .TP | |
321 | .B \-r TYPE, \-\-report=TYPE | |
322 | Intended primarily to help \fBsmartmontools\fP developers understand | |
323 | the behavior of \fBsmartmontools\fP on non\-conforming or poorly | |
324 | conforming hardware. This option reports details of \fBsmartctl\fP | |
325 | transactions with the device. The option can be used multiple times. | |
326 | When used just once, it shows a record of the ioctl() transactions | |
327 | with the device. When used more than once, the detail of these | |
328 | ioctl() transactions are reported in greater detail. The valid | |
329 | arguments to this option are: | |
330 | ||
331 | .I ioctl | |
332 | \- report all ioctl() transactions. | |
333 | ||
334 | .I ataioctl | |
335 | \- report only ioctl() transactions with ATA devices. | |
336 | ||
337 | .I scsiioctl | |
338 | \- report only ioctl() transactions with SCSI devices. Invoking this once | |
339 | shows the SCSI commands in hex and the corresponding status. Invoking | |
340 | it a second time adds a hex listing of the first 64 bytes of data send to, | |
341 | or received from the device. | |
342 | ||
343 | Any argument may include a positive integer to specify the level of detail | |
344 | that should be reported. The argument should be followed by a comma then | |
345 | the integer with no spaces. For example, | |
346 | .I ataioctl,2 | |
347 | The default | |
348 | level is 1, so \'\-r ataioctl,1\' and \'\-r ataioctl\' are equivalent. | |
349 | ||
350 | .TP | |
351 | .B SMART FEATURE ENABLE/DISABLE COMMANDS: | |
352 | .IP | |
353 | .B Note: | |
354 | if multiple options are used to both enable and disable a | |
355 | feature, then | |
356 | .B both | |
357 | the enable and disable commands will be issued. The enable command | |
358 | will always be issued | |
359 | .B before | |
360 | the corresponding disable command. | |
361 | .TP | |
362 | .B \-s VALUE, \-\-smart=VALUE | |
363 | Enables or disables SMART on device. The valid arguments to | |
364 | this option are \fIon\fP and \fIoff\fP. Note that the command \'\-s on\' | |
365 | (perhaps used with with the \'\-o on\' and \'\-S on\' options) should be placed | |
366 | in a start\-up script for your machine, for example in rc.local or rc.sysinit. | |
367 | In principle the SMART feature settings are preserved over | |
368 | power\-cycling, but it doesn\'t hurt to be sure. It is not necessary (or | |
369 | useful) to enable SMART to see the TapeAlert messages. | |
370 | .TP | |
371 | .B \-o VALUE, \-\-offlineauto=VALUE | |
372 | Enables or disables SMART automatic offline test, which scans the drive | |
373 | every four hours for disk defects. This command can be given during normal | |
374 | system operation. The valid arguments to this option are \fIon\fP | |
375 | and \fIoff\fP. | |
376 | ||
377 | Note that the SMART automatic offline test command is listed as | |
378 | "Obsolete" in every version of the ATA and ATA/ATAPI Specifications. | |
379 | It was originally part of the SFF\-8035i Revision 2.0 specification, | |
380 | but was never part of any ATA specification. However it is | |
381 | implemented and used by many vendors. [Good documentation can be found | |
382 | in IBM\'s Official Published Disk Specifications. For example the IBM | |
383 | Travelstar 40GNX Hard Disk Drive Specifications (Revision 1.1, 22 | |
384 | April 2002, Publication # 1541, Document S07N\-7715\-02) page 164. You | |
385 | can also read the SFF\-8035i Specification \-\- see REFERENCES below.] | |
386 | You can tell if automatic offline testing is supported by seeing if | |
387 | this command enables and disables it, as indicated by the \'Auto | |
388 | Offline Data Collection\' part of the SMART capabilities report | |
389 | (displayed with \'\-c\'). | |
390 | ||
391 | SMART provides \fBthree\fP basic categories of testing. The | |
392 | \fBfirst\fP category, called "online" testing, has no effect on the | |
393 | performance of the device. It is turned on by the \'\-s on\' option. | |
394 | ||
395 | The \fBsecond\fP category of testing is called "offline" testing. This | |
396 | type of test can, in principle, degrade the device performance. The | |
397 | \'\-o on\' option causes this offline testing to be carried out, | |
398 | automatically, on a regular scheduled basis. Normally, the disk will | |
399 | suspend offline testing while disk accesses are taking place, and then | |
400 | automatically resume it when the disk would otherwise be idle, so in | |
401 | practice it has little effect. Note that a one\-time offline test can | |
402 | also be carried out immediately upon receipt of a user command. See | |
403 | the \'\-t offline\' option below, which causes a one\-time offline test | |
404 | to be carried out immediately. | |
405 | ||
406 | The choice (made by the SFF\-8035i and ATA specification authors) of | |
407 | the word \fItesting\fP for these first two categories is unfortunate, | |
408 | and often leads to confusion. In fact these first two categories of | |
409 | online and offline testing could have been more accurately described | |
410 | as online and offline \fBdata collection\fP. | |
411 | ||
412 | The results of this automatic or immediate offline testing (data | |
413 | collection) are reflected in the values of the SMART Attributes. | |
414 | Thus, if problems or errors are detected, the values of these | |
415 | Attributes will go below their failure thresholds; some types of | |
416 | errors may also appear in the SMART error log. These are visible with | |
417 | the \'\-A\' and \'\-l error\' options respectively. | |
418 | ||
419 | Some SMART attribute values are updated only during off\-line data | |
420 | collection activities; the rest are updated during normal operation of | |
421 | the device or during both normal operation and off\-line testing. The | |
422 | Attribute value table produced by the \'\-A\' option indicates this in | |
423 | the UPDATED column. Attributes of the first type are labeled | |
424 | "Offline" and Attributes of the second type are labeled "Always". | |
425 | ||
426 | The \fBthird\fP category of testing (and the \fIonly\fP category for | |
427 | which the word \'testing\' is really an appropriate choice) is "self" | |
428 | testing. This third type of test is only performed (immediately) when | |
429 | a command to run it is issued. The \'\-t\' and \'\-X\' options can be | |
430 | used to carry out and abort such self\-tests; please see below for | |
431 | further details. | |
432 | ||
433 | Any errors detected in the self testing will be shown in the | |
434 | SMART self\-test log, which can be examined using the \'\-l selftest\' | |
435 | option. | |
436 | ||
437 | \fBNote:\fP in this manual page, the word \fB"Test"\fP is used in | |
438 | connection with the second category just described, e.g. for the | |
439 | "offline" testing. The words \fB"Self\-test"\fP are used in | |
440 | connection with the third category. | |
441 | .TP | |
442 | .B \-S VALUE, \-\-saveauto=VALUE | |
443 | Enables or disables SMART autosave of device vendor\-specific | |
444 | Attributes. The valid arguments to this option are \fIon\fP | |
445 | and \fIoff\fP. Note that this feature is preserved across disk power | |
446 | cycles, so you should only need to issue it once. | |
447 | ||
448 | For SCSI devices this toggles the value of the Global Logging Target | |
449 | Save Disabled (GLTSD) bit in the Control Mode Page. Some disk | |
450 | manufacturers set this bit by default. This prevents error counters, | |
451 | power\-up hours and other useful data from being placed in non\-volatile | |
452 | storage, so these values may be reset to zero the next time the device | |
453 | is power\-cycled. If the GLTSD bit is set then \'smartctl \-a\' will | |
454 | issue a warning. Use \fIon\fP to clear the GLTSD bit and thus enable | |
455 | saving counters to non\-volatile storage. For extreme streaming\-video | |
456 | type applications you might consider using \fIoff\fP to set the GLTSD | |
457 | bit. | |
458 | ||
459 | .TP | |
460 | .B SMART READ AND DISPLAY DATA OPTIONS: | |
461 | .TP | |
462 | .B \-H, \-\-health | |
463 | Check: Ask the device to report its SMART health status or pending | |
464 | TapeAlert messages. SMART status is based on | |
465 | information that it has gathered from online and offline | |
466 | tests, which were used to determine/update its | |
467 | SMART vendor\-specific Attribute values. TapeAlert status is obtained | |
468 | by reading the TapeAlert log page. | |
469 | ||
470 | If the device reports failing health status, this means | |
471 | .B either | |
472 | that the device has already failed, | |
473 | .B or | |
474 | that it is predicting its own failure within the next 24 hours. If | |
475 | this happens, use the \'\-a\' option to get more information, and | |
476 | .B get your data off the disk and someplace safe as soon as you can. | |
477 | .TP | |
478 | .B \-c, \-\-capabilities | |
479 | Prints only the generic SMART capabilities. These show | |
480 | what SMART features are implemented and how the device will | |
481 | respond to some of the different SMART commands. For example it | |
482 | shows if the device logs errors, if it supports offline surface | |
483 | scanning, and so on. If the device can carry out self\-tests, this | |
484 | option also shows the estimated time required to run those tests. | |
485 | ||
486 | Note that the time required to run the Self\-tests (listed in minutes) | |
487 | are fixed. However the time required to run the Immediate Offline | |
488 | Test (listed in seconds) is variable. This means that if you issue a | |
489 | command to perform an Immediate Offline test with the \'\-t offline\' option, | |
490 | then the time may jump to a larger value and then count down as the | |
491 | Immediate Offline Test is carried out. Please see REFERENCES below | |
492 | for further information about the the flags and capabilities described | |
493 | by this option. | |
494 | .TP | |
495 | .B \-A, \-\-attributes | |
496 | Prints only the vendor specific SMART Attributes. The Attributes are | |
497 | numbered from 1 to 253 and have specific names and ID numbers. For | |
498 | example Attribute 12 is "power cycle count": how many times has the | |
499 | disk been powered up. | |
500 | ||
501 | Each Attribute has a "Raw" value, printed under the heading | |
502 | "RAW_VALUE", and a "Normalized" value printed under the heading | |
503 | "VALUE". [Note: \fBsmartctl\fP prints these values in base\-10.] In | |
504 | the example just given, the "Raw Value" for Attribute 12 would be the | |
505 | actual number of times that the disk has been power\-cycled, for | |
506 | example 365 if the disk has been turned on once per day for exactly | |
507 | one year. Each vendor uses their own algorithm to convert this "Raw" | |
508 | value to a "Normalized" value in the range from 1 to 254. Please keep | |
509 | in mind that \fBsmartctl\fP only reports the different Attribute | |
510 | types, values, and thresholds as read from the device. It does | |
511 | \fBnot\fP carry out the conversion between "Raw" and "Normalized" | |
512 | values: this is done by the disk\'s firmware. | |
513 | ||
514 | The conversion from Raw value to a quantity with physical units is | |
515 | not specified by the SMART standard. In most cases, the values printed | |
516 | by \fBsmartctl\fP are sensible. For example the temperature Attribute | |
517 | generally has its raw value equal to the temperature in Celsius. | |
518 | However in some cases vendors use unusual conventions. For example | |
519 | the Hitachi disk on my laptop reports its power\-on hours in minutes, | |
520 | not hours. Some IBM disks track three temperatures rather than one, in | |
521 | their raw values. And so on. | |
522 | ||
523 | Each Attribute also has a Threshold value (whose range is 0 to 255) | |
524 | which is printed under the heading "THRESH". If the Normalized value | |
525 | is \fBless than or equal to\fP the Threshold value, then the Attribute | |
526 | is said to have failed. If the Attribute is a pre\-failure Attribute, | |
527 | then disk failure is imminent. | |
528 | ||
529 | Each Attribute also has a "Worst" value shown under the heading | |
530 | "WORST". This is the smallest (closest to failure) value that the | |
531 | disk has recorded at any time during its lifetime when SMART was | |
532 | enabled. [Note however that some vendors firmware may actually | |
533 | \fBincrease\fP the "Worst" value for some "rate\-type" Attributes.] | |
534 | ||
535 | The Attribute table printed out by \fBsmartctl\fP also shows the | |
536 | "TYPE" of the Attribute. Attributes are one of two possible types: | |
537 | Pre\-failure or Old age. Pre\-failure Attributes are ones which, if | |
538 | less than or equal to their threshold values, indicate pending disk | |
539 | failure. Old age, or usage Attributes, are ones which indicate | |
540 | end\-of\-product life from old\-age or normal aging and wearout, if | |
541 | the Attribute value is less than or equal to the threshold. \fBPlease | |
542 | note\fP: the fact that an Attribute is of type 'Pre\-fail' does | |
543 | \fBnot\fP mean that your disk is about to fail! It only has this | |
544 | meaning if the Attribute\'s current Normalized value is less than or | |
545 | equal to the threshold value. | |
546 | ||
547 | If the Attribute\'s current Normalized value is less than or equal to | |
548 | the threshold value, then the "WHEN_FAILED" column will display | |
549 | "FAILING_NOW". If not, but the worst recorded value is less than or | |
550 | equal to the threshold value, then this column will display | |
551 | "In_the_past". If the "WHEN_FAILED" column has no entry (indicated by | |
552 | a dash: \'\-\') then this Attribute is OK now (not failing) and has | |
553 | also never failed in the past. | |
554 | ||
555 | The table column labeled "UPDATED" shows if the SMART Attribute values | |
556 | are updated during both normal operation and off\-line testing, or | |
557 | only during offline testing. The former are labeled "Always" and the | |
558 | latter are labeled "Offline". | |
559 | ||
560 | So to summarize: the Raw Attribute values are the ones that might have | |
561 | a real physical interpretation, such as "Temperature Celsius", | |
562 | "Hours", or "Start\-Stop Cycles". Each manufacturer converts these, | |
563 | using their detailed knowledge of the disk\'s operations and failure | |
564 | modes, to Normalized Attribute values in the range 1\-254. The | |
565 | current and worst (lowest measured) of these Normalized Attribute | |
566 | values are stored on the disk, along with a Threshold value that the | |
567 | manufacturer has determined will indicate that the disk is going to | |
568 | fail, or that it has exceeded its design age or aging limit. | |
569 | \fBsmartctl\fP does \fBnot\fP calculate any of the Attribute values, | |
570 | thresholds, or types, it merely reports them from the SMART data on | |
571 | the device. | |
572 | ||
573 | Note that starting with ATA/ATAPI\-4, revision 4, the meaning of these | |
574 | Attribute fields has been made entirely vendor\-specific. However most | |
575 | ATA/ATAPI\-5 disks seem to respect their meaning, so we have retained | |
576 | the option of printing the Attribute values. | |
577 | ||
578 | For SCSI devices the "attributes" are obtained from the temperature | |
579 | and start-stop cycle counter log pages. Certain vendor specific | |
580 | attributes are listed if recognised. The attributes are output in a | |
581 | relatively free format (compared with ATA disk attributes). | |
582 | .TP | |
583 | .B \-l TYPE, \-\-log=TYPE | |
584 | Prints either the SMART Error Log, the SMART Self\-Test Log, the SMART | |
585 | Selective Self\-Test Log [ATA only], or the Log Directory [ATA only]. | |
586 | The valid arguments to this option are: | |
587 | ||
588 | .I error | |
589 | \- prints only the SMART error log. SMART disks maintain a log of the | |
590 | most recent five non\-trivial errors. For each of these errors, the | |
591 | disk power\-on lifetime at which the error occurred is recorded, as is | |
592 | the device status (idle, standby, etc) at the time of the error. For | |
593 | some common types of errors, the Error Register (ER) and Status | |
594 | Register (SR) values are decoded and printed as text. The meanings of these | |
595 | are: | |
596 | .nf | |
597 | \fBABRT\fP: Command \fBAB\fPo\fBRT\fPed | |
598 | \fBAMNF\fP: \fBA\fPddress \fBM\fPark \fBN\fPot \fBF\fPound | |
599 | \fBCCTO\fP: \fBC\fPommand \fBC\fPompletion \fBT\fPimed \fBO\fPut | |
600 | \fBEOM\fP: \fBE\fPnd \fBO\fPf \fBM\fPedia | |
601 | \fBICRC\fP: \fBI\fPnterface \fBC\fPyclic \fBR\fPedundancy \fBC\fPode (CRC) error | |
602 | \fBIDNF\fP: \fBID\fPentity \fBN\fPot \fBF\fPound | |
603 | \fBILI\fP: (packet command\-set specific) | |
604 | \fBMC\fP: \fBM\fPedia \fBC\fPhanged | |
605 | \fBMCR\fP: \fBM\fPedia \fBC\fPhange \fBR\fPequest | |
606 | \fBNM\fP: \fBN\fPo \fBM\fPedia | |
607 | \fBobs\fP: \fBobs\fPolete | |
608 | \fBTK0NF\fP: \fBT\fPrac\fBK 0 N\fPot \fBF\fPound | |
609 | \fBUNC\fP: \fBUNC\fPorrectable Error in Data | |
610 | \fBWP\fP: Media is \fBW\fPrite \fBP\fProtected | |
611 | .fi | |
612 | In addition, up to the last five commands that preceded the error are | |
613 | listed, along with a timestamp measured from the start of the | |
614 | corresponding power cycle. This is displayed in the form | |
615 | Dd+HH:MM:SS.msec where D is the number of days, HH is hours, MM is | |
616 | minutes, SS is seconds and msec is milliseconds. [Note: this time | |
617 | stamp wraps after 2^32 milliseconds, or 49 days 17 hours 2 minutes and | |
618 | 47.296 seconds.] The key ATA disk registers are also recorded in the | |
619 | log. The final column of the error log is a text\-string description | |
620 | of the ATA command defined by the Command Register (CR) and Feature | |
621 | Register (FR) values. Commands that are obsolete in the most current | |
622 | (ATA\-7) spec are listed like this: \fBREAD LONG (w/ retry) [OBS\-4]\fP, | |
623 | indicating that the command became obsolete with or in the ATA\-4 | |
624 | specification. Similarly, the notation \fB[RET\-\fP\fIN\fP\fB]\fP is | |
625 | used to indicate that a command was retired in the ATA\-\fIN\fP | |
626 | specification. Some commands are not defined in any version of the | |
627 | ATA specification but are in common use nonetheless; these are marked | |
628 | \fB[NS]\fP, meaning non\-standard. | |
629 | ||
630 | The ATA Specification (ATA\-5 Revision 1c, Section 8.41.6.8.2) says: | |
631 | \fB"Error log structures shall include UNC errors, IDNF errors for | |
632 | which the address requested was valid, servo errors, write fault | |
633 | errors, etc. Error log data structures shall not include errors | |
634 | attributed to the receipt of faulty commands such as command codes not | |
635 | implemented by the device or requests with invalid parameters or | |
636 | invalid addresses."\fP The definitions of these terms are: | |
637 | .br | |
638 | \fBUNC\fP (\fBUNC\fPorrectable): data is uncorrectable. This refers | |
639 | to data which has been read from the disk, but for which the Error | |
640 | Checking and Correction (ECC) codes are inconsistent. In effect, this | |
641 | means that the data can not be read. | |
642 | .br | |
643 | \fBIDNF\fP (\fBID N\fPot \fBF\fPound): user\-accessible address could | |
644 | not be found. For READ LOG type commands, \fBIDNF\fP can also indicate | |
645 | that a device data log structure checksum was incorrect. | |
646 | ||
647 | If the command that caused the error was a READ or WRITE command, then | |
648 | the Logical Block Address (LBA) at which the error occurred will be | |
649 | printed in base 10 and base 16. The LBA is a linear address, which | |
650 | counts 512\-byte sectors on the disk, starting from zero. (Because of | |
651 | the limitations of the SMART error log, if the LBA is greater than | |
652 | 0xfffffff, then either no error log entry will be made, or the error | |
653 | log entry will have an incorrect LBA. This may happen for drives with | |
654 | a capacity greater than 128 GiB or 137 GB.) On Linux systems the | |
655 | smartmontools web page has instructions about how to convert the LBA | |
656 | address to the name of the disk file containing the erroneous disk | |
657 | sector. | |
658 | ||
659 | Please note that some manufacturers \fBignore\fP the ATA | |
660 | specifications, and make entries in the error log if the device | |
661 | receives a command which is not implemented or is not valid. | |
662 | ||
663 | .I error [SCSI] | |
664 | \- prints the error counter log pages for reads, write and verifies. | |
665 | The verify row is only output if it has an element other than zero. | |
666 | ||
667 | .I selftest | |
668 | \- prints the SMART self\-test log. The disk maintains a self\-test log | |
669 | showing the results of the self tests, which can be run using the | |
670 | \'\-t\' option described below. For each of the most recent | |
671 | twenty\-one self\-tests, the log shows the type of test (short or | |
672 | extended, off\-line or captive) and the final status of the test. If | |
673 | the test did not complete successfully, then the percentage of the | |
674 | test remaining is shown. The time at which the test took place, | |
675 | measured in hours of disk lifetime, is also printed. If any errors | |
676 | were detected, the Logical Block Address (LBA) of the first error is | |
677 | printed in decimal notation. On Linux systems the smartmontools | |
678 | web page has instructions about how to convert this LBA address to the | |
679 | name of the disk file containing the erroneous block. | |
680 | ||
681 | .I selftest [SCSI] | |
682 | \- the self\-test log for a SCSI device has a slightly different format | |
683 | than for an ATA device. For each of the most recent twenty | |
684 | self\-tests, it shows the type of test and the status (final or in | |
685 | progress) of the test. SCSI standards use the terms "foreground" and | |
686 | "background" (rather than ATA\'s corresponding "captive" and | |
687 | "off\-line") and "short" and "long" (rather than ATA\'s corresponding | |
688 | "short" and "extended") to describe the type of the test. The printed | |
689 | segment number is only relevant when a test fails in the third or | |
690 | later test segment. It identifies the test that failed and consists | |
691 | of either the number of the segment that failed during the test, or | |
692 | the number of the test that failed and the number of the segment in | |
693 | which the test was run, using a vendor\-specific method of putting both | |
694 | numbers into a single byte. The Logical Block Address (LBA) of the | |
695 | first error is printed in hexadecimal notation. On Linux systems the | |
696 | smartmontools web page has instructions about how to convert this LBA | |
697 | address to the name of the disk file containing the erroneous block. | |
698 | If provided, the SCSI Sense Key (SK), Additional Sense Code (ASC) and | |
699 | Additional Sense Code Qualifier (ASQ) are also printed. The self tests | |
700 | can be run using the \'\-t\' option described below (using the ATA | |
701 | test terminology). | |
702 | ||
703 | .I selective [ATA] | |
704 | \- Some ATA\-7 disks (example: Maxtor) also maintain a selective | |
705 | self\-test log. Please see the \'\-t select\' option below for a | |
706 | description of selective self\-tests. The selective self\-test log | |
707 | shows the start/end Logical Block Addresses (LBA) of each of the five | |
708 | test spans, and their current test status. If the span is being | |
709 | tested or the remainder of the disk is being read\-scanned, the | |
710 | current 65536\-sector block of LBAs being tested is also displayed. | |
711 | The selective self\-test log also shows if a read\-scan of the | |
712 | remainder of the disk will be carried out after the selective | |
713 | self\-test has completed (see \'\-t afterselect\' option) and the time | |
714 | delay before restarting this read\-scan if it is interrupted (see | |
715 | \'\-t pending\' option). This is a new smartmontools feature; please | |
716 | report unusual or incorrect behavior to the smartmontools\-support | |
717 | mailing list. | |
718 | ||
719 | .I directory | |
720 | \- if the device supports the General Purpose Logging feature set | |
721 | (ATA\-6 and ATA\-7 only) then this prints the Log Directory (the log at | |
722 | address 0). The Log Directory shows what logs are available and their | |
723 | length in sectors (512 bytes). The contents of the logs at address 1 | |
724 | [Summary SMART error log] and at address 6 [SMART self\-test log] may | |
725 | be printed using the previously\-described | |
726 | .I error | |
727 | and | |
728 | .I selftest | |
729 | arguments to this option. [Please note: this is a new, experimental | |
730 | feature. We would like to add support for printing the contents of | |
731 | extended and comprehensive SMART self\-test and error logs. If your | |
732 | disk supports these, and you would like to assist, please contact the | |
733 | \fBsmartmontools\fP developers.] | |
734 | ||
735 | .TP | |
736 | .B \-v N,OPTION, \-\-vendorattribute=N,OPTION | |
737 | Sets a vendor\-specific display OPTION for Attribute N. This option | |
738 | may be used multiple times. Valid arguments to this option are: | |
739 | ||
740 | .I help | |
741 | \- Prints (to STDOUT) a list of all valid arguments to this option, | |
742 | then exits. | |
743 | ||
744 | .I 9,minutes | |
745 | \- Raw Attribute number 9 is power\-on time in minutes. Its raw value | |
746 | will be displayed in the form "Xh+Ym". Here X is hours, and Y is | |
747 | minutes in the range 0\-59 inclusive. Y is always printed with two | |
748 | digits, for example "06" or "31" or "00". | |
749 | ||
750 | .I 9,seconds | |
751 | \- Raw Attribute number 9 is power\-on time in seconds. Its raw value | |
752 | will be displayed in the form "Xh+Ym+Zs". Here X is hours, Y is | |
753 | minutes in the range 0\-59 inclusive, and Z is seconds in the range | |
754 | 0\-59 inclusive. Y and Z are always printed with two digits, for | |
755 | example "06" or "31" or "00". | |
756 | ||
757 | .I 9,halfminutes | |
758 | \- Raw Attribute number 9 is power\-on time, measured in units of 30 | |
759 | seconds. This format is used by some Samsung disks. Its raw value | |
760 | will be displayed in the form "Xh+Ym". Here X is hours, and Y is | |
761 | minutes in the range 0\-59 inclusive. Y is always printed with two | |
762 | digits, for example "06" or "31" or "00". | |
763 | ||
764 | .I 9,temp | |
765 | \- Raw Attribute number 9 is the disk temperature in Celsius. | |
766 | ||
767 | .I 192,emergencyretractcyclect | |
768 | \- Raw Attribute number 192 is the Emergency Retract Cycle Count. | |
769 | ||
770 | .I 193,loadunload | |
771 | \- Raw Attribute number 193 contains two values. The first is the | |
772 | number of load cycles. The second is the number of unload cycles. | |
773 | The difference between these two values is the number of times that | |
774 | the drive was unexpectedly powered off (also called an emergency | |
775 | unload). As a rule of thumb, the mechanical stress created by one | |
776 | emergency unload is equivalent to that created by one hundred normal | |
777 | unloads. | |
778 | ||
779 | .I 194,10xCelsius | |
780 | \- Raw Attribute number 194 is ten times the disk temperature in | |
781 | Celsius. This is used by some Samsung disks (example: model SV1204H | |
782 | with RK100\-13 firmware). | |
783 | ||
784 | .I 194,unknown | |
785 | \- Raw Attribute number 194 is NOT the disk temperature, and its | |
786 | interpretation is unknown. This is primarily useful for the \-P | |
787 | (presets) option. | |
788 | ||
789 | .I 198,offlinescanuncsectorct | |
790 | \- Raw Attribute number 198 is the Offline Scan UNC Sector Count. | |
791 | ||
792 | .I 200,writeerrorcount | |
793 | \- Raw Attribute number 200 is the Write Error Count. | |
794 | ||
795 | .I 201,detectedtacount | |
796 | \- Raw Attribute number 201 is the Detected TA Count. | |
797 | ||
798 | .I 220,temp | |
799 | \- Raw Attribute number 220 is the disk temperature in Celsius. | |
800 | ||
801 | Note: a table of hard drive models, listing which Attribute | |
802 | corresponds to temperature, can be found at: | |
803 | \fBhttp://www.guzu.net/linux/hddtemp.db\fP | |
804 | ||
805 | .I N,raw8 | |
806 | \- Print the Raw value of Attribute N as six 8\-bit unsigned base\-10 | |
807 | integers. This may be useful for decoding the meaning of the Raw | |
808 | value. The form \'N,raw8\' prints Raw values for ALL Attributes in this | |
809 | form. The form (for example) \'123,raw8\' only prints the Raw value for | |
810 | Attribute 123 in this form. | |
811 | ||
812 | .I N,raw16 | |
813 | \- Print the Raw value of Attribute N as three 16\-bit unsigned base\-10 | |
814 | integers. This may be useful for decoding the meaning of the Raw | |
815 | value. The form \'N,raw16\' prints Raw values for ALL Attributes in this | |
816 | form. The form (for example) \'123,raw16\' only prints the Raw value for | |
817 | Attribute 123 in this form. | |
818 | ||
819 | .I N,raw48 | |
820 | \- Print the Raw value of Attribute N as a 48\-bit unsigned base\-10 | |
821 | integer. This may be useful for decoding the meaning of the Raw | |
822 | value. The form \'N,raw48\' prints Raw values for ALL Attributes in | |
823 | this form. The form (for example) \'123,raw48\' only prints the Raw | |
824 | value for Attribute 123 in this form. | |
825 | ||
826 | .TP | |
827 | .B \-F TYPE, \-\-firmwarebug=TYPE | |
828 | Modifies the behavior of \fBsmartctl\fP to compensate for some known | |
829 | and understood device firmware bug. The arguments to this option are | |
830 | exclusive, so that only the final option given is used. The valid | |
831 | values are: | |
832 | ||
833 | .I none | |
834 | \- Assume that the device firmware obeys the ATA specifications. This | |
835 | is the default, unless the device has presets for \'\-F\' in the | |
836 | device database (see note below). | |
837 | ||
838 | .I samsung | |
839 | \- In some Samsung disks (example: model SV4012H Firmware Version: | |
840 | RM100\-08) some of the two\- and four\-byte quantities in the SMART data | |
841 | structures are byte\-swapped (relative to the ATA specification). | |
842 | Enabling this option tells \fBsmartctl\fP to evaluate these quantities | |
843 | in byte\-reversed order. Some signs that your disk needs this option | |
844 | are (1) no self\-test log printed, even though you have run self\-tests; | |
845 | (2) very large numbers of ATA errors reported in the ATA error log; | |
846 | (3) strange and impossible values for the ATA error log timestamps. | |
847 | ||
848 | .I samsung2 | |
849 | \- In more recent Samsung disks (firmware revisions ending in "\-23") | |
850 | the number of ATA errors reported is byte swapped. Enabling this | |
851 | option tells \fBsmartctl\fP to evaluate this quantity in | |
852 | byte\-reversed order. An indication that your Samsung disk needs this | |
853 | option is that the self-test log is printed correctly, but there are a | |
854 | very large number of errors in the SMART error log. This is because | |
855 | the error count is byte swapped. Thus a disk with five errors | |
856 | (0x0005) will appear to have 20480 errors (0x5000). | |
857 | ||
858 | Note that an explicit \'\-F\' option on the command line will | |
859 | over\-ride any preset values for \'\-F\' (see the \'\-P\' option | |
860 | below). | |
861 | ||
862 | .TP | |
863 | .B \-P TYPE, \-\-presets=TYPE | |
864 | Specifies whether \fBsmartctl\fP should use any preset options that | |
865 | are available for this drive. By default, if the drive is recognized | |
866 | in the \fBsmartmontools\fP database, then the presets are used. | |
867 | ||
868 | \fBsmartctl\fP can automatically set appropriate options for known | |
869 | drives. For example, the Maxtor 4D080H4 uses Attribute 9 to stores | |
870 | power\-on time in minutes whereas most drives use that Attribute to | |
871 | store the power\-on time in hours. The command\-line option \'\-v | |
872 | 9,minutes\' ensures that \fBsmartctl\fP correctly interprets Attribute | |
873 | 9 in this case, but that option is preset for the Maxtor 4D080H4 and | |
874 | so need not be specified by the user on the \fBsmartctl\fP command | |
875 | line. | |
876 | ||
877 | The argument | |
878 | .I show | |
879 | will show any preset options for your drive and the argument | |
880 | .I showall | |
881 | will show all known drives in the \fBsmartmontools\fP database, along | |
882 | with their preset options. If there are no presets for your drive and | |
883 | you think there should be (for example, a \-v or \-F option is needed | |
884 | to get \fBsmartctl\fP to display correct values) then please contact | |
885 | the \fBsmartmontools\fP developers so that this information can be | |
886 | added to the \fBsmartmontools\fP database. Contact information is at the | |
887 | end of this man page. | |
888 | ||
889 | The valid arguments to this option are: | |
890 | ||
891 | .I use | |
892 | \- if a drive is recognized, then use the stored presets for it. This | |
893 | is the default. Note that presets will NOT over\-ride additional | |
894 | Attribute interpretation (\'\-v N,something\') command\-line options or | |
895 | explicit \'\-F\' command\-line options.. | |
896 | ||
897 | .I ignore | |
898 | \- do not use presets. | |
899 | ||
900 | .I show | |
901 | \- show if the drive is recognized in the database, and if so, its | |
902 | presets, then exit. | |
903 | ||
904 | .I showall | |
905 | \- list all recognized drives, and the presets that are set for them, | |
906 | then exit. | |
907 | ||
908 | The \'\-P showall\' option takes up to two optional arguments to | |
909 | match a specific drive type and firmware version. The command: | |
910 | .nf | |
911 | smartctl \-P showall | |
912 | .fi | |
913 | lists all entries, the command: | |
914 | .nf | |
915 | smartctl \-P showall \'MODEL\' | |
916 | .fi | |
917 | lists all entries matching MODEL, and the command: | |
918 | .nf | |
919 | smartctl \-P showall \'MODEL\' \'FIRMWARE\' | |
920 | .fi | |
921 | lists all entries for this MODEL and a specific FIRMWARE version. | |
922 | ||
923 | .TP | |
924 | .B SMART RUN/ABORT OFFLINE TEST AND SELF\-TEST OPTIONS: | |
925 | .TP | |
926 | .B \-t TEST, \-\-test=TEST | |
927 | Executes TEST immediately. The \'\-C\' option can be used in | |
928 | conjunction with this option to run the short or long (and also for | |
929 | ATA devices, selective or conveyance) self\-tests in captive mode | |
930 | (known as "foreground mode" for SCSI devices). Note that only one | |
931 | test type can be run at a time, so only one test type should be | |
932 | specified per command line. Note also that if a computer is shutdown | |
933 | or power cycled during a self\-test, no harm should result. The | |
934 | self\-test will either be aborted or will resume automatically. | |
935 | ||
936 | The valid arguments to this option are: | |
937 | ||
938 | .I offline | |
939 | \- runs SMART Immediate Offline Test. This immediately | |
940 | starts the test described above. This command can be given during | |
941 | normal system operation. The effects of this test are visible only in | |
942 | that it updates the SMART Attribute values, and if errors are | |
943 | found they will appear in the SMART error log, visible with the \'\-l error\' | |
944 | option. [In the case of SCSI devices runs the default self test in | |
945 | foreground. No entry is placed in the self test log.] | |
946 | ||
947 | If the \'\-c\' option to \fBsmartctl\fP shows that the device has the | |
948 | "Suspend Offline collection upon new command" capability then you can | |
949 | track the progress of the Immediate Offline test using the \'\-c\' | |
950 | option to \fBsmartctl\fP. If the \'\-c\' option show that the device | |
951 | has the "Abort Offline collection upon new command" capability then | |
952 | most commands will abort the Immediate Offline Test, so you should not | |
953 | try to track the progress of the test with \'\-c\', as it will abort | |
954 | the test. | |
955 | ||
956 | .I short | |
957 | \- runs SMART Short Self Test (usually under ten minutes). | |
958 | [Note: in the case of SCSI devices, | |
959 | this command option runs the "Background short" self\-test.] | |
960 | This command can be given during normal system operation (unless run in | |
961 | captive mode \- see the \'\-C\' option below). This is a | |
962 | test in a different category than the immediate or automatic offline | |
963 | tests. The "Self" tests check the electrical and mechanical | |
964 | performance as well as the read performance of the disk. Their | |
965 | results are reported in the Self Test Error Log, readable with | |
966 | the \'\-l selftest\' option. Note that on some disks the progress of the | |
967 | self\-test can be monitored by watching this log during the self\-test; with other disks | |
968 | use the \'\-c\' option to monitor progress. | |
969 | ||
970 | .I long | |
971 | \- runs SMART Extended Self Test (tens of minutes). | |
972 | [Note: in the case of SCSI devices, | |
973 | this command option runs the "Background long" self\-test.] | |
974 | This is a | |
975 | longer and more thorough version of the Short Self Test described | |
976 | above. Note that this command can be given during normal | |
977 | system operation (unless run in captive mode \- see the \'\-C\' option below). | |
978 | ||
979 | .I conveyance | |
980 | \- [ATA ONLY] runs a SMART Conveyance Self Test (minutes). This | |
981 | self\-test routine is intended to identify damage incurred during | |
982 | transporting of the device. This self\-test routine should take on the | |
983 | order of minutes to complete. Note that this command can be given | |
984 | during normal system operation (unless run in captive mode \- see the | |
985 | \'\-C\' option below). | |
986 | ||
987 | .I select,N\-M | |
988 | \- [ATA ONLY] [NEW EXPERIMENTAL SMARTCTL FEATURE] runs a SMART | |
989 | Selective Self Test, to test a \fBrange\fP of disk Logical Block | |
990 | Addresses (LBAs), rather than the entire disk. Each range of LBAs | |
991 | that is checked is called a "span" and is specified by a starting LBA | |
992 | (N) and an ending LBA (M) with N less than or equal to M. For example | |
993 | the command: | |
994 | .nf | |
995 | smartctl \-t select,10\-20 /dev/hda | |
996 | .fi | |
997 | runs a self test on one span consisting of LBAs ten to twenty | |
998 | (inclusive). The \'\-t\' option can be given up to five times, to test | |
999 | up to five spans. For example the command: | |
1000 | .nf | |
1001 | smartctl \-t select,0\-100 \-t select,1000\-2000 /dev/hda | |
1002 | .fi | |
1003 | runs a self test on two spans. The first span consists of 101 LBAs | |
1004 | and the second span consists of 1001 LBAs. Note that the spans can | |
1005 | overlap partially or completely, for example: | |
1006 | .nf | |
1007 | smartctl \-t select,0\-10 \-t select,5\-15 \-t select,10\-20 /dev/hda | |
1008 | .fi | |
1009 | The results of the selective self\-test can be obtained (both during | |
1010 | and after the test) by printing the SMART self\-test log, using the | |
1011 | \'\-l selftest\' option to smartctl. | |
1012 | ||
1013 | Selective self tests are particularly useful as disk capacities | |
1014 | increase: an extended self test (smartctl \-t long) can take several | |
1015 | hours. Selective self\-tests are helpful if (based on SYSLOG error | |
1016 | messages, previous failed self\-tests, or SMART error log entries) you | |
1017 | suspect that a disk is having problems at a particular range of | |
1018 | Logical Block Addresses (LBAs). | |
1019 | ||
1020 | Selective self\-tests can be run during normal system operation (unless | |
1021 | done in captive mode \- see the \'\-C\' option below). | |
1022 | ||
1023 | [Note: this new experimental smartmontools feature is currently only | |
1024 | available under Linux. The Linux kernel must be compiled with the | |
1025 | configuration option CONFIG_IDE_TASKFILE_IO enabled. Please report | |
1026 | unusual or incorrect behavior to the smartmontools\-support mailing | |
1027 | list.] | |
1028 | ||
1029 | .I afterselect,on | |
1030 | \- [ATA ONLY] perform an offline read scan after a Selective Self\-test | |
1031 | has completed. This option must be used together with one or more of | |
1032 | the \fIselect,N\-M\fP options above. If the LBAs that have been | |
1033 | specified in the Selective self\-test pass the test with no errors | |
1034 | found, then read scan the \fBremainder\fP of the disk. If the device | |
1035 | is powered\-cycled while this read scan is in progress, the read scan | |
1036 | will be automatically resumed after a time specified by the pending | |
1037 | timer (see below). The value of this option is preserved between | |
1038 | selective self\-tests. | |
1039 | ||
1040 | .I afterselect,off | |
1041 | \- [ATA ONLY] do not read scan the remainder of the disk after a | |
1042 | Selective self\-test has completed. This option must be use together | |
1043 | with one or more of the \fIselect,N\-M\fP options above. The value of this | |
1044 | option is preserved between selective self\-tests. | |
1045 | ||
1046 | .I pending,N | |
1047 | \- [ATA ONLY] set the pending offline read scan timer to N minutes. | |
1048 | Here N is an integer in the range from 0 to 65535 inclusive. If the | |
1049 | device is powered off during a read scan after a Selective self\-test, | |
1050 | then resume the test automatically N minutes after power\-up. This | |
1051 | option must be use together with one or more of the \fIselect,N\-M\fP | |
1052 | options above. The value of this option is preserved between selective | |
1053 | self\-tests. | |
1054 | ||
1055 | .TP | |
1056 | .B \-C, \-\-captive | |
1057 | Runs self\-tests in captive mode. This has no effect with \'\-t | |
1058 | offline\' or if the \'\-t\' option is not used. [Note: in the case of | |
1059 | SCSI devices, this command option runs the self\-test in "Foreground" | |
1060 | mode.] | |
1061 | ||
1062 | \fBWARNING: Tests run in captive mode may busy out the drive for the | |
1063 | length of the test. Only run captive tests on drives without any | |
1064 | mounted partitions!\fP | |
1065 | ||
1066 | .TP | |
1067 | .B \-X, \-\-abort | |
1068 | Aborts non\-captive SMART Self Tests. Note that this | |
1069 | command will abort the Offline Immediate Test routine only if your | |
1070 | disk has the "Abort Offline collection upon new command" capability. | |
1071 | .PP | |
1072 | .SH EXAMPLES | |
1073 | .nf | |
1074 | .B smartctl \-a /dev/hda | |
1075 | .fi | |
1076 | Print all SMART information for drive /dev/hda (Primary Master). | |
1077 | .PP | |
1078 | .nf | |
1079 | .B smartctl \-s off /dev/hdd | |
1080 | .fi | |
1081 | Disable SMART on drive /dev/hdd (Secondary Slave). | |
1082 | .PP | |
1083 | .nf | |
1084 | .B smartctl \-\-smart=on \-\-offlineauto=on \-\-saveauto=on /dev/hda | |
1085 | .fi | |
1086 | Enable SMART on drive /dev/hda, enable automatic offline | |
1087 | testing every four hours, and enable autosaving of | |
1088 | SMART Attributes. This is a good start\-up line for your system\'s | |
1089 | init files. You can issue this command on a running system. | |
1090 | .PP | |
1091 | .nf | |
1092 | .B smartctl \-t long /dev/hdc | |
1093 | .fi | |
1094 | Begin an extended self\-test of drive /dev/hdc. You can issue this | |
1095 | command on a running system. The results can be seen in the self\-test | |
1096 | log visible with the \'\-l selftest\' option after it has completed. | |
1097 | .PP | |
1098 | .nf | |
1099 | .B smartctl \-s on \-t offline /dev/hda | |
1100 | .fi | |
1101 | Enable SMART on the disk, and begin an immediate offline test of | |
1102 | drive /dev/hda. You can issue this command on a running system. The | |
1103 | results are only used to update the SMART Attributes, visible | |
1104 | with the \'\-A\' option. If any device errors occur, they are logged to | |
1105 | the SMART error log, which can be seen with the \'\-l error\' option. | |
1106 | .PP | |
1107 | .nf | |
1108 | .B smartctl \-A \-v 9,minutes /dev/hda | |
1109 | .fi | |
1110 | Shows the vendor Attributes, when the disk stores its power\-on time | |
1111 | internally in minutes rather than hours. | |
1112 | .PP | |
1113 | .nf | |
1114 | .B smartctl \-q errorsonly \-H \-l selftest /dev/hda | |
1115 | .fi | |
1116 | Produces output only if the device returns failing SMART status, | |
1117 | or if some of the logged self\-tests ended with errors. | |
1118 | .PP | |
1119 | .nf | |
1120 | .B smartctl \-q silent \-a /dev/hda | |
1121 | .fi | |
1122 | Examine all SMART data for device /dev/hda, but produce no | |
1123 | printed output. You must use the exit status (the | |
1124 | .B $? | |
1125 | shell variable) to learn if any Attributes are out of bound, if the | |
1126 | SMART status is failing, if there are errors recorded in the | |
1127 | self\-test log, or if there are errors recorded in the disk error log. | |
1128 | .PP | |
1129 | .nf | |
1130 | .B smartctl \-a \-d 3ware,0 /dev/sda | |
1131 | .fi | |
1132 | Examine all SMART data for the first ATA disk connected to a 3ware | |
1133 | RAID controller card. | |
1134 | .PP | |
1135 | .nf | |
1136 | .B smartctl \-a \-d 3ware,0 /dev/twe0 | |
1137 | .fi | |
1138 | Examine all SMART data for the first ATA disk connected to a 3ware | |
1139 | RAID 6000/7000/8000 controller card. | |
1140 | .PP | |
1141 | .nf | |
1142 | .B smartctl \-a \-d 3ware,0 /dev/twa0 | |
1143 | .fi | |
1144 | Examine all SMART data for the first ATA disk connected to a 3ware | |
1145 | RAID 9000 controller card. | |
1146 | .PP | |
1147 | .nf | |
1148 | .B smartctl \-t short \-d 3ware,3 /dev/sdb | |
1149 | .fi | |
1150 | Start a short self\-test on the fourth ATA disk connected to the 3ware RAID | |
1151 | controller card which is the second SCSI device /dev/sdb. | |
1152 | .nf | |
1153 | .B smartctl \-t select,10\-100 \-t select,30\-300 \-t afterselect,on \-t pending,45 /dev/hda | |
1154 | .fi | |
1155 | Run a selective self\-test on LBAs 10 to 100 and 30 to 300. After the | |
1156 | these LBAs have been tested, read\-scan the remainder of the disk. If the disk is | |
1157 | power\-cycled during the read\-scan, resume the scan 45 minutes after power to the | |
1158 | device is restored. | |
1159 | .PP | |
1160 | .SH RETURN VALUES | |
1161 | The return values of \fBsmartctl\fP are defined by a bitmask. If all | |
1162 | is well with the disk, the return value (exit status) of | |
1163 | \fBsmartctl\fP is 0 (all bits turned off). If a problem occurs, or an | |
1164 | error, potential error, or fault is detected, then a non\-zero status | |
1165 | is returned. In this case, the eight different bits in the return | |
1166 | value have the following meanings for ATA disks; some of these values | |
1167 | may also be returned for SCSI disks. | |
1168 | .TP | |
1169 | .B Bit 0: | |
1170 | Command line did not parse. | |
1171 | .TP | |
1172 | .B Bit 1: | |
1173 | Device open failed, or device did not return an IDENTIFY DEVICE structure. | |
1174 | .TP | |
1175 | .B Bit 2: | |
1176 | Some SMART command to the disk failed, or there was a checksum error | |
1177 | in a SMART data structure (see \'\-b\' option above). | |
1178 | .TP | |
1179 | .B Bit 3: | |
1180 | SMART status check returned "DISK FAILING". | |
1181 | .TP | |
1182 | .B Bit 4: | |
1183 | SMART status check returned "DISK OK" but we found prefail Attributes <= threshold. | |
1184 | .TP | |
1185 | .B Bit 5: | |
1186 | SMART status check returned "DISK OK" but we found that some (usage | |
1187 | or prefail) Attributes have been <= threshold at some time in the | |
1188 | past. | |
1189 | .TP | |
1190 | .B Bit 6: | |
1191 | The device error log contains records of errors. | |
1192 | .TP | |
1193 | .B Bit 7: | |
1194 | The device self\-test log contains records of errors. | |
1195 | ||
1196 | To test within the shell for whether or not the different bits are | |
1197 | turned on or off, you can use the following type of construction (this | |
1198 | is bash syntax): | |
1199 | .nf | |
1200 | .B smartstat=$(($? & 8)) | |
1201 | .fi | |
1202 | This looks at only at bit 3 of the exit status | |
1203 | .B $? | |
1204 | (since 8=2^3). The shell variable | |
1205 | $smartstat will be nonzero if SMART status check returned "disk | |
1206 | failing" and zero otherwise. | |
1207 | ||
1208 | .PP | |
1209 | .SH NOTES | |
1210 | The TapeAlert log page flags are cleared for the initiator when the | |
1211 | page is read. This means that each alert condition is reported only | |
1212 | once by \fBsmartctl\fP for each initiator for each activation of the | |
1213 | condition. | |
1214 | ||
1215 | .PP | |
1216 | .SH AUTHOR | |
1217 | \fBBruce Allen\fP smartmontools\-support@lists.sourceforge.net | |
1218 | .fi | |
1219 | University of Wisconsin \- Milwaukee Physics Department | |
1220 | ||
1221 | .PP | |
1222 | .SH CONTRIBUTORS | |
1223 | The following have made large contributions to smartmontools: | |
1224 | .nf | |
1225 | \fBCasper Dik\fP (Solaris SCSI interface) | |
1226 | \fBChristian Franke\fP (Windows interface and Cygwin package) | |
1227 | \fBDouglas Gilbert\fP (SCSI subsystem) | |
1228 | \fBGuido Guenther\fP (Autoconf/Automake packaging) | |
1229 | \fBGeoffrey Keating\fP (Darwin ATA interface) | |
1230 | \fBEduard Martinescu\fP (FreeBSD interface) | |
1231 | \fBFr\*'ed\*'eric L. W. Meunier\fP (Web site and Mailing list) | |
1232 | \fBKeiji Sawada\fP (Solaris ATA interface) | |
1233 | \fBSergey Svishchev\fP (NetBSD interface) | |
1234 | \fBDavid Snyder and Sergey Svishchev\fP (OpenBSD interface) | |
1235 | \fBPhil Williams\fP (User interface and drive database) | |
1236 | \fBYuri Dario\fP (OS/2, eComStation interface) | |
1237 | .fi | |
1238 | Many other individuals have made smaller contributions and corrections. | |
1239 | ||
1240 | .PP | |
1241 | .SH CREDITS | |
1242 | .fi | |
1243 | This code was derived from the smartsuite package, written by Michael | |
1244 | Cornwell, and from the previous UCSC smartsuite package. It extends | |
1245 | these to cover ATA\-5 disks. This code was originally developed as a | |
1246 | Senior Thesis by Michael Cornwell at the Concurrent Systems Laboratory | |
1247 | (now part of the Storage Systems Research Center), Jack Baskin School | |
1248 | of Engineering, University of California, Santa | |
1249 | Cruz. \fBhttp://ssrc.soe.ucsc.edu/\fP . | |
1250 | .SH | |
1251 | HOME PAGE FOR SMARTMONTOOLS: | |
1252 | .fi | |
1253 | Please see the following web site for updates, further documentation, bug | |
1254 | reports and patches: \fBhttp://smartmontools.sourceforge.net/\fP | |
1255 | ||
1256 | .SH | |
1257 | SEE ALSO: | |
1258 | \fBsmartd\fP(8), \fBbadblocks\fP(8), \fBide\-smart\fP(8). | |
1259 | .SH | |
1260 | REFERENCES FOR SMART | |
1261 | .fi | |
1262 | An introductory article about smartmontools is \fIMonitoring Hard | |
1263 | Disks with SMART\fP, by Bruce Allen, Linux Journal, January 2004, | |
1264 | pages 74-77. This is \fBhttp://www.linuxjournal.com/article.php?sid=6983\fP | |
1265 | online. | |
1266 | ||
1267 | If you would like to understand better how SMART works, and what it | |
1268 | does, a good place to start is with Sections 4.8 and 6.54 of the first | |
1269 | volume of the \'AT Attachment with Packet Interface-7\' (ATA/ATAPI-7) | |
1270 | specification. This documents the SMART functionality which the | |
1271 | \fBsmartmontools\fP utilities provide access to. You can find | |
1272 | Revision 4b of this document at | |
1273 | \fBhttp://www.t13.org/docs2004/d1532v1r4b-ATA-ATAPI-7.pdf\fP . | |
1274 | Earlier and later versions of this Specification are available from | |
1275 | the T13 web site \fBhttp://www.t13.org/\fP . | |
1276 | ||
1277 | .fi | |
1278 | The functioning of SMART was originally defined by the SFF\-8035i | |
1279 | revision 2 and the SFF\-8055i revision 1.4 specifications. These are | |
1280 | publications of the Small Form Factors (SFF) Committee. Links to | |
1281 | these documents may be found in the References section of the | |
1282 | \fBsmartmontools\fP home page at | |
1283 | \fBhttp://smartmontools.sourceforge.net/\fP . | |
1284 | ||
1285 | .SH | |
1286 | CVS ID OF THIS PAGE: | |
1287 | $Id: smartctl.8.in,v 1.78 2006/04/12 15:45:38 ballen4705 Exp $ | |
1288 | .\" Local Variables: | |
1289 | .\" mode: nroff | |
1290 | .\" End: |