Last week i connected a 8 TB drive to a Supermicro X10 board via USB 3.0. I'm running FreeNAS 9.10, current Patchlevel.
Bootdevice is a mirrored stick, so the USB devices look like:
[root@nas] ~# camcontrol devlist
...
< USB DISK 2.0 PMAP> at scbus7 target 0 lun 0 (pass6,da0)
< USB DISK 2.0 PMAP> at scbus8 target 0 lun 0 (pass7,da1)
<ST8000AS 0002-1NA17Z 0114> at scbus9 target 0 lun 0 (pass8,da2)
The SATA/USB adaptor should have S.M.A.R.T. support.
Since i installed the drive i get the following errors:
When i read the S.M.A.R.T. data, i get the expected results - yes i know that i should run a 'long' test :) :
However, the status is not really reported:
and that's what i see in the FreeNAS errors, too:
So i'm not sure if this is considered an error. Probably not, the warnings are correct after all. All i can say is that there should be a more elegant solution for the syslog. Obviously, the SATA/USB adaptor doesn't report all the S.M.A.R.T. attributes, so maybe just log a simple warning "not all attributes supported, health seems ok" or something like that on USB drives instead of logging all the python errors? Should be a minor change in the python script (didn't look at the code, though. I'm a perl guy and don't really know python ;) )
Bootdevice is a mirrored stick, so the USB devices look like:
[root@nas] ~# camcontrol devlist
...
< USB DISK 2.0 PMAP> at scbus7 target 0 lun 0 (pass6,da0)
< USB DISK 2.0 PMAP> at scbus8 target 0 lun 0 (pass7,da1)
<ST8000AS 0002-1NA17Z 0114> at scbus9 target 0 lun 0 (pass8,da2)
The SATA/USB adaptor should have S.M.A.R.T. support.
Since i installed the drive i get the following errors:
Jun 13 10:32:22 nas smartd[2667]: Device: /dev/da2 [SAT], failed to read SMART Attribute Data
Jun 13 10:32:22 nas smartd[2667]: Warning via /usr/local/www/freenasUI/tools/smart_alert.py to root produced unexpected output (147 bytes) to STDOUT/STDERR:
Jun 13 10:32:22 nas smartd[2667]: usage: smart_alert.py [-h] [-d DEV]
Jun 13 10:32:22 nas smartd[2667]: smart_alert.py: error: unrecognized arguments: -s SMART error (FailedReadSmartData) detected on host: nas root
Jun 13 10:32:22 nas smartd[2667]: Warning via /usr/local/www/freenasUI/tools/smart_alert.py to root: failed (32-bit/8-bit exit status: 512/2)
Jun 13 10:32:22 nas smartd[2667]: Warning via /usr/local/www/freenasUI/tools/smart_alert.py to root produced unexpected output (147 bytes) to STDOUT/STDERR:
Jun 13 10:32:22 nas smartd[2667]: usage: smart_alert.py [-h] [-d DEV]
Jun 13 10:32:22 nas smartd[2667]: smart_alert.py: error: unrecognized arguments: -s SMART error (FailedReadSmartData) detected on host: nas root
Jun 13 10:32:22 nas smartd[2667]: Warning via /usr/local/www/freenasUI/tools/smart_alert.py to root: failed (32-bit/8-bit exit status: 512/2)
When i read the S.M.A.R.T. data, i get the expected results - yes i know that i should run a 'long' test :) :
[root@nas] /var/log# smartctl -a /dev/da2
smartctl 6.5 2016-05-07 r4318 [FreeBSD 10.3-STABLE amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Seagate Archive HDD
Device Model: ST8000AS0002-1NA17Z
Serial Number: Z840GS07
LU WWN Device Id: 5 000c50 090ec4cce
Firmware Version: AR17
User Capacity: 8,001,563,222,016 bytes [8.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5980 rpm
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ACS-3 T13/2161-D revision 3b
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Mon Jun 13 10:57:23 2016 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 0) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 919) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x30b5) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 114 100 006 Pre-fail Always - 61175456
3 Spin_Up_Time 0x0003 090 090 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 194
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 062 060 030 Pre-fail Always - 1802655
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 213
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 7
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always - 0
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 072 053 045 Old_age Always - 28 (Min/Max 28/47)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 428
193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 632
194 Temperature_Celsius 0x0022 028 047 000 Old_age Always - 28 (0 24 0 0 0)
195 Hardware_ECC_Recovered 0x001a 114 100 000 Old_age Always - 61175456
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 28 (17 242 0)
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 5802194891
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 597132
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
smartctl 6.5 2016-05-07 r4318 [FreeBSD 10.3-STABLE amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Seagate Archive HDD
Device Model: ST8000AS0002-1NA17Z
Serial Number: Z840GS07
LU WWN Device Id: 5 000c50 090ec4cce
Firmware Version: AR17
User Capacity: 8,001,563,222,016 bytes [8.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5980 rpm
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ACS-3 T13/2161-D revision 3b
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Mon Jun 13 10:57:23 2016 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 0) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 919) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x30b5) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 114 100 006 Pre-fail Always - 61175456
3 Spin_Up_Time 0x0003 090 090 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 194
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 062 060 030 Pre-fail Always - 1802655
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 213
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 7
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always - 0
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 072 053 045 Old_age Always - 28 (Min/Max 28/47)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 428
193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 632
194 Temperature_Celsius 0x0022 028 047 000 Old_age Always - 28 (0 24 0 0 0)
195 Hardware_ECC_Recovered 0x001a 114 100 000 Old_age Always - 61175456
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 28 (17 242 0)
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 5802194891
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 597132
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
However, the status is not really reported:
=== START OF READ SMART DATA SECTION ===
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
SMART Status not supported: Incomplete response, ATA output registers missing
SMART overall-health self-assessment test result: PASSED
Warning: This result is based on an Attribute check.
and that's what i see in the FreeNAS errors, too:
Jun 13 10:32:22 nas smartd[2667]: Device: /dev/da2 [SAT], failed to read SMART Attribute Data
So i'm not sure if this is considered an error. Probably not, the warnings are correct after all. All i can say is that there should be a more elegant solution for the syslog. Obviously, the SATA/USB adaptor doesn't report all the S.M.A.R.T. attributes, so maybe just log a simple warning "not all attributes supported, health seems ok" or something like that on USB drives instead of logging all the python errors? Should be a minor change in the python script (didn't look at the code, though. I'm a perl guy and don't really know python ;) )
Last edited: