SCSI Sense: MEDIUM ERROR asc:11, 0 Error Message

Status
Not open for further replies.

jay-zzz

Dabbler
Joined
Oct 24, 2014
Messages
27
I searched a few posts and googled a few things and found this post which most relates to my issue. However this post doesn’t discuss my current situation - which is I can’t start FreeNAS to perform any tests.

I boot the current version of FreeNAS server and via the IPMI I see the following error:
----------------
(da0:umass-sim0:0:0:0): SCSI status: Check Condition
(da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR sac:11,0 (Unrecovered read error)
(da0:umass-sim0:0:0:0): Error 5, Unretryable error
igb0: link state changed to UP
(da0:umass-sim0:0:0:0): READ910. CDB: 28 00 00 2A 74 79 00 00 80 00
(da0:umass-sim0:0:0:0): CAM status: SCSI Status Error
(da0:umass-sim0:0:0:0): SCSI status: Check Condition
(da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:11,0 (Unrecovered read error)

(da0:umass-sim0:0:0:0): Error 5, Unretryable error
igb0: link state changed to UP
(da0:umass-sim0:0:0:0): READ910. CDB: 28 00 00 2A 76 09 00 00 80 00
(da0:umass-sim0:0:0:0): CAM status: SCSI Status Error
(da0:umass-sim0:0:0:0): SCSI status: Check Condition
(da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:11,0 (Unrecovered read error)

(da0:umass-sim0:0:0:0): Error 5, Unretryable error
igb0: link state changed to UP
(da0:umass-sim0:0:0:0): READ910. CDB: 28 00 00 2A 78 19 00 00 80 00
(da0:umass-sim0:0:0:0): CAM status: SCSI Status Error
(da0:umass-sim0:0:0:0): SCSI status: Check Condition
(da0:umass-sim0:0:0:0): SCSI sense: MEDIUM ERROR asc:11,0 (Unrecovered read error)

(da0:umass-sim0:0:0:0): Error 5, Unretryable error
igb1: link state changed to UP
----------------
At this point the server is stuck and doesn’t boot up. After reading the post listed above, it appears as though three 3TB WD Red drives might have failed? Currently, I can’t log in to GUI or via SSH. FreeNAS won’t load.

If so, what should I do now? Has the 8gb Patriot brand flash drive from Fry’s gone bad?
 
Last edited:

jay-zzz

Dabbler
Joined
Oct 24, 2014
Messages
27
EQUIPMENT:
Processor - Intel Pentium G3220 3.0 GHz Dual Core Intel HD
Motherboard - Supermicro MBD -X10SLL +F -O UATX
RAM - Crucial 16 GB 240 pin DDR3 SDRAM ECC Unbuffered Server Memory
Storage - WD Red 3 TB drives X 6 = 18 TB total / Used about 2 TB so far.
Software - FreeNAS 9.3

History: Server was installed with 6 WD 3TB Network NAS HDDs using Raid Z2 - so about 12TB are useable, which means I have two drive fail redundancy, right?

I should probably add that the server was working the last time I powered it on 5 days ago. The one thing I did (in hind sight it was a dumb thing to do) was lift the rear end of the server and lean it forward, while it was running, to plug the network cable that got disconnected for some reason. From that point onward, I was unable to access the server via GUI or SSH.

I’m still under the 1 year warranty with the WD drives, however my bigger and more important issue is to somehow ‘fix’ the drives so the boot process can run the FreeNAS software. After I get the server online, I’d like to perform a manual backup of the data onto another machine then send the ‘bad’ drives back to WD for replacement (if that’s what the error messages above translate into). Obviously, I don’t want to lose the data on the drives. I really don’t know what I’m doing when it comes to Raid and restoring bad drives, etc.

Any help and direction would be greatly appreciated. In advance - Thank you for your spending your time and helping me find a solution!!
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
No SAS controllers? If not, it sounds like your boot device needs fixing.
 

jay-zzz

Dabbler
Joined
Oct 24, 2014
Messages
27
Eric,

Thanks for the advice, I bought a new usb flash 16gb drive and installed FreeNAS 9.3 onto it then uploaded my configuration file. Voila! Everything started working again. This ‘shutdown’ has got me thinking...I’d like to check the integrity of my drives. Do you know how to run commands via GUI or via SSH to check the status of my drives to verify if they are failing?
 

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
See the Boot tab (in the System tab) in the web GUI ;)
 

jay-zzz

Dabbler
Joined
Oct 24, 2014
Messages
27
@Bidule0hm, I visited the Boot tab within the System tab and it doesn’t show me the integrity of the HD drives. All it says is “healthy”. Which I’m assuming is referring to the NEW 16GB USB Flash Drive I installed an hour ago. (See image) Am I missing something on this page?

I suppose I should be more specific in my question. Is there a way to ‘test’ the existing WD 3TB HDs via the command line? And based on the output of such a test, be able to extract that drive #2 is 80% healthy, while drive #5 is 20% healthy. This way I can start to plan for drive replacements?
 

Attachments

  • system-boot.png
    system-boot.png
    145.7 KB · Views: 341

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
Oh, you talk about the data drives, sorry.

Yes, you can see the pool status by using the command zpool status and the drives SMART values with the command smartctl -a /dev/da0 (you need to change the da0 by your drive name of course). But you need to setup SMART tests and scrubs in the web GUI if you want the result of these commands to be useful. Note that if something bad happens the server will send you an email (if it's correctly configured in the web GUI) ;)
 

jay-zzz

Dabbler
Joined
Oct 24, 2014
Messages
27
@Bidule0hm: Under Storage > Scrubs | I have one set for my ZFS volume to perform a check every 1st and 15th at 3:15am indefinitely. The server also has my email listed correctly to notify me if there are any issues. I did receive an email once indicated the temperature was getting too hot. So I know it works. I did add more fans and solved the over heating issue.

I ran the command smartctl -a /dev/ada0 (my drives are from ada0-ada5) and here’s the output:

Code:
=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Red (AF)
Device Model:     WDC WD30EFRX-68EUZN0
Serial Number:    WD-WCC4N*******
LU WWN Device Id: 5 0014ee 2b464e549
Firmware Version: 80.00A80
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    5400 rpm
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ACS-2 (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Thu Mar 19 19:22:54 2015 CDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00)    Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
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:         (39900) 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:      (   2) minutes.
Extended self-test routine
recommended polling time:      ( 400) minutes.
Conveyance self-test routine
recommended polling time:      (   5) minutes.
SCT capabilities:            (0x703d)    SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   176   176   021    Pre-fail  Always       -       6166
  4 Start_Stop_Count        0x0032   100   100   000    Old_age   Always       -       36
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   093   093   000    Old_age   Always       -       5317
10 Spin_Retry_Count        0x0032   100   253   000    Old_age   Always       -       0
11 Calibration_Retry_Count 0x0032   100   253   000    Old_age   Always       -       0
12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       36
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       18
193 Load_Cycle_Count        0x0032   200   200   000    Old_age   Always       -       86
194 Temperature_Celsius     0x0022   123   113   000    Old_age   Always       -       27
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%      5240         -
# 2  Extended offline    Completed without error       00%      5177         -
# 3  Short offline       Completed without error       00%      5097         -
# 4  Short offline       Completed without error       00%      4977         -
# 5  Short offline       Completed without error       00%      4905         -
# 6  Extended offline    Completed without error       00%      4842         -
# 7  Short offline       Completed without error       00%      4761         -
# 8  Short offline       Completed without error       00%      4569         -
# 9  Extended offline    Completed without error       00%      4506         -
#10  Short offline       Completed without error       00%      4425         -
#11  Short offline       Completed without error       00%      4123         -
#12  Extended offline    Completed without error       00%      4060         -
#13  Short offline       Completed without error       00%      3979         -
#14  Short offline       Completed without error       00%      3787         -
#15  Short offline       Completed without error       00%      3715         -
#16  Extended offline    Completed without error       00%      3651         -
#17  Short offline       Completed without error       00%      3571         -
#18  Short offline       Completed without error       00%      3367         -
#19  Extended offline    Completed without error       00%      3303         -
#20  Short offline       Completed without error       00%      3069         -
#21  Short offline       Completed without error       00%      2997         -

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.


QUESTION: Is there anything that stands out to you?? I see a couple of areas that say “Pre-fail”, “Old_age” in the Vendor Specific SMART Attributes with Thresholds section.
.... wait I thought I was describing me for a sec....pre-fail....old age...lol...anyways, should I be worried about these results??

I ran the same code on all the drives and they say pretty much the same thing. I did notice that all the drives also stated:
SMART overall-health self-assessment test result: PASSED

QUESTION: drives ada0 & ada1 both run at 6.0 Gb/s while ada2-ada5 run at 3.0 Gb/s. Is this a problem and what can/should I do to make them all run at 6.0 Gb/s?
 
Last edited:

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
I don't see anything to worry about.

You've correctly setup the email, scrubs and SMART tests so everything is ok ;)

If you want to be informed of the SMART and/or zpool status after each test you can add a custom script and a cron task to email you the values, see the Useful Scripts link in my sig ;)

Regarding your 6/3 Gb/s question I would say nothing, the speed is probably limited by the controller or the drives because it's the max speed it can achieve. If you're sure both are 6 Gb/s then it's the cable, try a better cable certified for 6 Gb/s :)
 

jay-zzz

Dabbler
Joined
Oct 24, 2014
Messages
27
Thanks for your help thus far!

I downloaded the SMART script from your ‘useful scripts’ section. I put the files in /root/scripts/smart.report.sh and when I run it I get this error:

Code:
[root@NAS-Server] ~/scripts# ./smart.report.sh

awk: no variable name



./smart.report.sh: -v: not found

awk: no variable name



./smart.report.sh: -v: not found

awk: no variable name



./smart.report.sh: -v: not found

awk: no variable name



./smart.report.sh: -v: not found

awk: no variable name



./smart.report.sh: -v: not found

awk: no variable name



./smart.report.sh: -v: not found


Heres how I listed the drives in the script:

drives="ada0 ada1 ada2 ada3 ada4 ada5”

also tried with the path:
drives="/dev/ada0 /dev/ada1 /dev/ada2 /dev/ada3 /dev/ada4 /dev/ada5"

but I get the same error. What am I doing wrong? :(
 

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
The first method (without the /dev part) is the right one.

Can you post the output of cat -e smart.report.sh please? I suspect a copy-paste problem, it happens all the time...
 

jay-zzz

Dabbler
Joined
Oct 24, 2014
Messages
27
Here’s the smart.report.sh file, don’t know why theres a ‘$’ at the end of each line...

Code:
[root@NAS-Server] ~/scripts# cat -e smart.report.sh

#!/bin/sh$

$

### Parameters ###$

logfile="/tmp/smart_report.tmp"$

email=“me@me.com"$

subject="SMART Status Report | FreeNAS"$

drives="ada0 ada1 ada2 ada3 ada4 ada5"$

tempWarn=40$

tempCrit=45$

sectorsCrit=10$

warnSymbol="?"$

critSymbol="!"$

$

### Set email headers ###$

($

    echo "To: ${email}"$

    echo "Subject: ${subject}"$

    echo "Content-Type: text/html"$

    echo "MIME-Version: 1.0"$

    echo -e "\r\n"$

) > ${logfile}$

$

### Set email body ###$

echo "<pre style=\"font-size:14px\">" >> ${logfile}$

$

###### summary ######$

($

    echo ""$

    echo "########## SMART status report summary for all drives ##########"$

    echo ""$

    echo "+------+---------------+----+-----+-----+-----+-------+-------+--------+------+----------+------+-------+"$

    echo "|Device|Serial         |Temp|Power|Start|Spin |ReAlloc|Current|Offline |Seek  |Total     |High  |Command|"$

    echo "|      |               |    |On   |Stop |Retry|Sectors|Pending|Uncorrec|Errors|Seeks     |Fly   |Timeout|"$

    echo "|      |               |    |Hours|Count|Count|       |Sectors|Sectors |      |          |Writes|Count  |"$

    echo "+------+---------------+----+-----+-----+-----+-------+-------+--------+------+----------+------+-------+"$

) >> ${logfile}$

for drive in $drives$

do$

    ($

        smartctl -A -i -v 7,hex48 /dev/${drive} | \$

        awk -v device=${drive} -v tempWarn=${tempWarn} -v tempCrit=${tempCrit} -v sectorsCrit=${sectorsCrit} -v $

warnSymbol=${warnSymbol} -v critSymbol=${critSymbol} '\$

      /Serial Number:/{serial=$3} \$

      /Temperature_Celsius/{temp=$10} \$

      /Power_On_Hours/{onHours=$10} \$

      /Start_Stop_Count/{startStop=$10} \$

      /Spin_Retry_Count/{spinRetry=$10} \$

      /Reallocated_Sector/{reAlloc=$10} \$

      /Current_Pending_Sector/{pending=$10} \$

      /Offline_Uncorrectable/{offlineUnc=$10} \$

      /Seek_Error_Rate/{seekErrors=("0x" substr($10,3,4));totalSeeks=("0x" substr($10,7))} \$

      /High_Fly_Writes/{hiFlyWr=$10} \$

      /Command_Timeout/{cmdTimeout=$10} \$

      END {$

          if (temp > tempCrit || reAlloc > sectorsCrit || pending > sectorsCrit || offlineUnc > sectorsCrit) device=device " $

" critSymbol;$

          else if (temp > tempWarn || reAlloc > 0 || pending > 0 || offlineUnc > 0) device=device " " warnSymbol;$

          seekErrors=sprintf("%d", seekErrors);$

          totalSeeks=sprintf("%d", totalSeeks);$

          if (totalSeeks == "0") {$

              seekErrors="N/A";$

              totalSeeks="N/A";$

          }$

          if (hiFlyWr == "") hiFlyWr="N/A";$

          if (cmdTimeout == "") cmdTimeout="N/A";$

          printf "|%-6s|%-15s| %s |%5s|%5s|%5s|%7s|%7s|%8s|%6s|%10s|%6s|%7s|\n",$

          device, serial, temp, onHours, startStop, spinRetry, reAlloc, pending, offlineUnc, seekErrors, totalSeeks, $

hiFlyWr, cmdTimeout;$

      }'$

    ) >> ${logfile}$

done$

($

    echo "+------+---------------+----+-----+-----+-----+-------+-------+--------+------+----------+------+-------+"$

    echo ""$

    echo ""$

) >> ${logfile}$

$

###### for each drive ######$

for drive in $drives$

do$

    brand=`smartctl -i /dev/${drive} | grep "Model Family" | awk '{print $3, $4, $5}'`$

    serial=`smartctl -i /dev/${drive} | grep "Serial Number" | awk '{print $3}'`$

    ($

        echo ""$

        echo "########## SMART status report for ${drive} drive (${brand}: ${serial}) ##########"$

        smartctl -n never -H -A -l error /dev/${drive}$

        smartctl -n never -l selftest /dev/${drive} | grep "# 1 \|Num" | cut -c6-$

        echo ""$

        echo ""$

    ) >> ${logfile}$

done$

sed -i '' -e '/smartctl 6.3/d' ${logfile}$

sed -i '' -e '/Copyright/d' ${logfile}$

sed -i '' -e '/=== START OF READ/d' ${logfile}$

sed -i '' -e '/SMART Attributes Data/d' ${logfile}$

sed -i '' -e '/Vendor Specific SMART/d' ${logfile}$

sed -i '' -e '/SMART Error Log Version/d' ${logfile}$

echo "</pre>" >> ${logfile}$

$

### Send report ###$

sendmail -t < ${logfile}$

rm ${logfile}$

[root@NAS-Server] ~/scripts#
 
Last edited:

jay-zzz

Dabbler
Joined
Oct 24, 2014
Messages
27
I got the .sh file working. I used the Raw paste data located at the bottom of your script. Then I clicked ‘clone this paste’. I copied that text directly into the smart.report.sh file on the FreeNAS server, ran the file and all went fine!

Cheers!!! :) :) :)
 

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
The $ signs is the -e option on cat, it's very useful to see where there is newlines chars :)

So yeah, copy-paste problem. I've reduced the length of the longest lines in the SMART and ZPool scripts to avoid that, it should be ok if you recopy it from the pastebin now ;)

Edit: you've been faster than me :p So yeah, the CLI built-in to the web GUI is full of bugs, try to learn how to use Putty to SSH to the server, it'll save you some troubleshooting time ;)
 

jay-zzz

Dabbler
Joined
Oct 24, 2014
Messages
27
I should have used the scp command via SSH to transfer the file...don’t know why I didn’t. :|

It’s been several minutes and I have not yet received the email regarding the report. Is there a setting that I need to check / uncheck in GUI?
 

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
You've replaced the fake email by your email at the top of the script?

You should receive the email a few seconds (depends on your email box, etc...) after running the script manually. If it works you can add a cron task (don't forget to put the absolute path to the script instead of ./ for the cron) ;)
 

jay-zzz

Dabbler
Joined
Oct 24, 2014
Messages
27
yup
 

Bidule0hm

Server Electronics Sorcerer
Joined
Aug 5, 2013
Messages
3,710
Same email address as the one used in the GUI?

Checked that it's not in the spams?
 

jay-zzz

Dabbler
Joined
Oct 24, 2014
Messages
27
I did use the same one in the GUI then I tried another email address - same result. Also double checked the spam box.
 

jay-zzz

Dabbler
Joined
Oct 24, 2014
Messages
27
I figured out what went wrong. You said something about my email address being the same as in the GUI which prompted me to double check what was in the GUI. System > Email and for some reason the ‘Use SMTP Authentication’ was unchecked. I check the box, entered in the info and all is good now. Email is sent instantly once I run the script.

Really weird that this info did not get updated when I imported my configuration file after upgrading the USB flash drive. Nonetheless, another lesson learned!

Thanks for all your help!!! :)
 
Status
Not open for further replies.
Top