环境如下 :
在执行smartctl -x /dev/sda后, dmesg中能看到如下报错 :
原因参考网上的解释 :
[参考]
系统 : CentOS 5.8 x64
内核 :
Linux db-192-168-68-43.sky-mobi.com 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
硬盘 : OCZ RevoDrive3 x2 480G
硬盘驱动 : OCZ_Centos_5.8_64-Bit_r1977.tar.gz
smartctl 版本: 6.2
在执行smartctl -x /dev/sda后, dmesg中能看到如下报错 :
sda: Current [descriptor]: sense key: Recovered Error
Add. Sense: ATA pass through information available
Descriptor sense data with sense descriptors (in hex):
72 01 00 1d 00 00 00 0e 09 0c 01 00 00 00 00 01
00 00 00 00 e0 50
sda: Current [descriptor]: sense key: Recovered Error
Add. Sense: ATA pass through information available
Descriptor sense data with sense descriptors (in hex):
72 01 00 1d 00 00 00 0e 09 0c 01 00 00 00 00 00
00 4f 00 c2 00 50
原因参考网上的解释 :
Tim,
This is _not_ an error. If the CK_COND bit is set in the SCSI
ATA PASS-THROUGH (12 or 16 byte) cdb and the ATA command
succeeds then what is shown above is correct.
The whole point is to get the ATA registers after the command
is complete. The register values are placed in a ATA (status)
return descriptor encapsulated in sense data with that sense key
and those additional sense codes. The ATA return descriptor
starts with the "09" value in the sense buffer shown above.
smartmontools needs to set CK_COND on some ATA commands (e.g.
to get the SMART status) because the result can only be found
in the ATA registers after completion.
Now it is annoying, distracting and wasteful to log the sense
data in this particular situation. Perhaps the SCSI mid level
error reporting should filter out that particular combination:
Sense key: RECOVERED ERROR
Additional sense: ATA PASS THROUGH INFORMATION AVAILABLE (0x0,0x1d)
References: sat-r09.pdf sat2r09.pdf
Doug Gilbert
[参考]