S.M.A.R.T support is not available for this disk

Thanks for the response Philip,
On the device page I don’t have an option to turn on SMART, except fro the SSD which is running rockstor none of the attached disk via the raid controller have this available in the Web UI

When I click on the drive to view the SMART information in the web ui, I get this message at the top and everything else is basically blank on the other tabs on that page
"S.M.A.R.T support is not available for this disk (sdb)"

“have tried the switch at the end of each device in the Disks page.” all I get on the page where the option to turn on smart is “Not supported” So I have nothing to try to activate which i assumed is because of the option appearing to be disabled on the disk, just a thought anyway.

I have tried to enable using the smartctl -s on command from CLI, but nothing happens I have not tried the hdparm command although I saw it referenced in the forum but did not look into the command options. Update checked options and seen nothing to enable smart using this command

[root@rockstor ~]# smartctl -s on /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.2.5-1.el7.elrepo.x86_64] (local build)
Copyright © 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
Informational Exceptions (SMART) disabled
Temperature warning disabled

Looking in the log but I don’t seem to find the error in the log, so how can I get you my logs?

@kcomer OK, now worries, I know what you mean now, unfortunately I was a little rushed when I replied before.
We need to find a way to enable the smart as until this is done then Rockstor is simply reporting it’s finding of SMART not being available either through it not being supported or not being enabled, and from your output we have the latter. Are there any settings in the controller bios for this, I’m afraid I haven’t played with one of these before. I know you said that other systems have successfully read this info but as you see it is reported as being disabled with the drivers / interface used by Rockstor so I think it is worth having a quick look. Just in case. There is still the outstanding issue referenced of smart info not showing up on some of these controllers but the output from the lsi9207-i8 in the issue (I’m home again now so was able to check) has the following (dots for uninteresting info):-

Device type:          disk
Transport protocol:   SAS
...
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Enabled

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK

Current Drive Temperature:     30 C
Drive Trip Temperature:        40 C

So it is clearly enabled. This leads me to think your problem may be different; currently anyway.

Rockstor simply uses these plain smartctl commands and then parses the info onto the Web-UI so the first step is to achieve getting the info out form the command line via the smartctl -a /dev/sdb command. Then we can look to the parsing if you are then affected by that issue.

Maybe someone else on the forum has an idea on enabling smart on these controllers. Thank for getting back and yes I think the hdparm thing was a red herring. As for logs I don’t there there are going to be any as on reflection the behaviour is normal for smart being disabled. I will of course check this once I get stuck in on that issue.

Do report back if you have any progress and I will do the same. Struggling for time right now but I’ll keep chipping away.

Philip,

I have reinstalled rockstor again thinking it could have been my installation, no luck also checked all hardware connections and system bios, enabled smart on MB and disabled no change for SMART on the SSD drive and no change for the RAID, I have also looked for SMART settings on the RAID card and nothing it is a pretty simple raid bios.

One thing I have noticed in my google-fu is that the 9750 is a 3ware card and in one link they state that it supports /dev/twX devices but all devices on my system are /dev/sdX wondering if there is an issue there
https://www.smartmontools.org/wiki/Supported_RAID-Controllers

To this writing I have not been able to find a command that will work to enable the smart monitoring.

in the var/log/messages I get these error messages which make me think it is able to be turned on but for some reason it does not accept this command
Dec 24 18:25:36 rockstor smartd[2191]: Device: /dev/sdi, IE (SMART) not enabled, skip device
Dec 24 18:25:36 rockstor smartd[2191]: Try ‘smartctl -s on /dev/sdi’ to turn on SMART features
Dec 24 18:25:36 rockstor smartd[2191]: Monitoring 1 ATA and 0 SCSI devices

playing around and I have seen this smartctl -t short /dev/sdb
Short offline self test failed [unsupported scsi opcode]

and in messages i see this
Dec 24 17:54:31 Rockstor kernel: 3w-sas: scsi0: ERROR: (0x03:0x0101): Invalid command opcode:opcode=0x80.
Dec 24 17:54:31 Rockstor kernel: program smartctl is using a deprecated SCSI ioctl, please convert it to SG_IO
Dec 24 17:54:32 Rockstor kernel: 3w-sas: scsi0: ERROR: (0x03:0x0101): Invalid command opcode:opcode=0x80.
Dec 24 17:54:38 Rockstor kernel: program smartctl is using a deprecated SCSI ioctl, please convert it to SG_IO
Dec 24 17:54:38 Rockstor kernel: 3w-sas: scsi0: ERROR: (0x03:0x0101): Invalid command opcode:opcode=0x80.
Dec 24 17:54:38 Rockstor kernel: program smartctl is using a deprecated SCSI ioctl, please convert it to SG_IO
Dec 24 17:54:38 Rockstor kernel: 3w-sas: scsi0: ERROR: (0x03:0x0101): Invalid command opcode:opcode=0x80.

And last but not least I found this in the rockstor log in the previous build before I reinstalled today
mainly the smart is not defined not sure it if this is relevant to the issue at this point but sending it along.

[24/Dec/2015 10:33:43] ERROR [storageadmin.util:38] request path: /api/disks/smart/test/sda3 method: POST data: <QueryDict: {u’test_type’: [u’’]}>
[24/Dec/2015 10:33:43] ERROR [storageadmin.util:39] exception: Unsupported Self-Test:
Traceback (most recent call last):
File “/opt/rockstor/src/rockstor/rest_framework_custom/generic_view.py”, line 40, in _handle_exception
yield
File “/opt/rockstor/src/rockstor/storageadmin/views/disk_smart.py”, line 132, in post
raise Exception(‘Unsupported Self-Test: %s’ % test_type)
Exception: Unsupported Self-Test:
[24/Dec/2015 10:35:25] ERROR [storageadmin.util:38] request path: /api/disks/smart/test/sda3 method: POST data: <QueryDict: {u’test_type’: [u’Short self-test ']}>
[24/Dec/2015 10:35:25] ERROR [storageadmin.util:39] exception: global name ‘smart’ is not defined
Traceback (most recent call last):
File “/opt/rockstor/src/rockstor/rest_framework_custom/generic_view.py”, line 40, in _handle_exception
yield
File “/opt/rockstor/src/rockstor/storageadmin/views/disk_smart.py”, line 133, in post
smart.run_test(disk.name, test_type)
NameError: global name ‘smart’ is not defined

Update, removed all disk from controller and went through the raid configuration again and still have the same same issue.

in the raid controller there is an option to enable the disk or querying, i forget the wording but it is enabled but nothing referencing smart.

Update, Looks to be enabled now after I run another command and I think my issue may be similar to the other issue.
The device names that reports back the smart info are twlX and not sdX I am kinda guessing that this would be a web ui thing and how it reports the devices and populates the data.

if I run the following command I can enable the smart monitoring capabilities

[root@rockstor log]# smartctl -s on -d 3ware,0 /dev/twl0
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.2.5-1.el7.elrepo.x86_64] (local build)
Copyright © 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.

and if I test, i get the following and more
[root@rockstor log]# smartctl -a -d 3ware,0 /dev/twl0
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.2.5-1.el7.elrepo.x86_64] (local build)
Copyright © 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family: Western Digital RE4 (SATA 6Gb/s)
Device Model: WDC WD2000FYYZ-01UL1B1
Serial Number: WD-WCC-omitted
LU WWN Device Id: 5 0014ee 2b389c06e
Firmware Version: 01.01K02
User Capacity: 2,000,398,934,016 bytes [2.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Device is: In smartctl database [for details use: -P show]
ATA Version is: ATA8-ACS (minor revision not indicated)
SATA Version is: SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Thu Dec 24 21:55:29 2015 EST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

If I test using the disk label in the web ui I i get this which leads me to think that SMART is not enabled, but this report is wrong as the other command ( smartctl -a -d 3ware,0 /dev/twl0 ) reports back that it is enabled (Above)

[root@rockstor log]# smartctl -a /dev/sdb
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.2.5-1.el7.elrepo.x86_64] (local build)
Copyright © 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Vendor: LSI
Product: 9750-8i DISK
Revision: 5.12
User Capacity: 1,999,988,850,688 bytes [1.99 TB]
Logical block size: 512 bytes
Logical Unit id: 0x600050e07c901d00515d0000acb70000
Serial number: P07963607C901D00515D
Device type: disk
Local Time is: Thu Dec 24 22:00:58 2015 EST
SMART support is: Available - device has SMART capability.
SMART support is: Disabled
Temperature Warning: Disabled or Not Supported

=== START OF READ SMART DATA SECTION ===
SMART Health Status: OK

Error Counter logging not supported

Device does not support Self Test logging

reference this site
https://www.schirmacher.de/display/INFO/Configuring+smartmontools+for+LSI+9750+RAID+Controller+on+XenServer

@kcomer This is excellent work and a nice find, thanks for sharing. And funnily enough it links in to another currently active forum thread by started by @sudowoodoS.M.A.R.T. for USB drive” that highlighed the need for some kind of custom smartctl parameter capability. I’m thinking we should have more abstraction on the smartctl calls so that we can add additional needed parameter if certain conditions are found etc.

Got to dash I’m afraid but just also wanted to point out re your:-

We had this reported a few days ago in the “S.M.A.R.T error global name ‘smart’ is not defined” forum thread and it has since been fixed via this issue opened as a result “unable to run smart tests via GUI” and released in the testing channel with 3.8-10.03.

Thanks again for all this great info, this is bound to help. I will chip in here again as I get time.

Also reporting this here as it may be related showing no disk activity, maybe due to the device names or not but wanted to mention it here as well

@kcomer Cheers, but in that screen shot the Disk activity drop down is set for sda3, have I missed the point again? My understanding of that widget is that you have to select the disk you want to monitor and I’m assuming you are wanting to monitor a different drive. Please put me right if I have misunderstood your point.
Cheers.

Ok so this may be a mis communication on my part, the widget shows the Top Disk and then below it says “no disk activity”, is what I was referring to the graphs below seem to work, but the area where it states no activity every some many seconds it flashes a brown bar to %100 and below it states (sdc3) changing the drop down makes no difference on my system.

@kcomer, OK I get it now, thanks. So does it fail to pickup top disk activity on just reads or writes as well. I’m afraid I’m not familiar with the workings of this part of Rockstor just yet though. Thanks for reporting. I’ve opened another issue on this so it doesn’t get forgotten. As you say it could very well be the devices names not registering on this widget. Do your twl0 names show up in the drop down as well as the system drive?
Thanks.

1 Like

So it appears to be only gather the writes and no reads for sd3 only which is on the SSD none of the devices on the raid controller show up in the drop down and neither do the twl0 show up in the disk page either in case I didn’t mention that either.

If I change to the other disk the graphs never display any data.

@kcomer Thanks for this, it is bound to help with pinning down what’s not working as it should. I have added this info to the issue so in time this should get the attention it obviously needs. I’m afraid I can’t myself look to this for a bit but at least it’s there ready for people to have a go at it if they fancy and I’m rather hoping it’s just as you proposed a dev naming issue of sorts. I don’t think that part of the code has seen much activity for quite some time so it’s only good if it gets a little attention in the not too distant future. I quite like the dash facility and it seems like quite a popular feature, but yes, a little attention is needed.
Cheers.

@kcomer Just to let you know that as of testing channel update version 3.8-10.12 the issue I was hoping could be extended to include your requirement of a custom smartctl option, ie “-d 3ware,0” ended up not including this capability. Sorry about that but it just didn’t end up being practical at the time. However so that we don’t loose track of this requirement I’ve opened another issue specifically targeted at this need: “add custom SMART parameter option”. But on the more immediate side I do think the “no SMART info on MSA70” should have improved the parsing of the SMART data as you have presented it here, once SMART is enabled that is. So that’s at least a step in the right direction.

Also note that the previously linked forum thread on S.M.A.R.T. for USB drives and specifically this post details how you could jury rig the custom option you require. But take care as this will be applied universally across all your drives and controllers. But if it’s just a matter of sensing if SMART is enabled you might try it just with “toggle_smart” function and the “available” function in the /opt/rockstor/src/rockstor/system/smart.py file. That might serve as a stop gap until this new issue receives some attention. Note that I am unsure of the affect this additional parameter may have on the non 3ware controller. That is best researched with the smartmontools project.

Please do report back on any further findings, it all helps in the long run. Thanks.

1 Like

Phil,

Thanks for the update I will report back when I have a chance to update my system. may not be able to for a day or two
Kevin

Dumb question source forge does not seem to have the update is this in testing or am I to pull this from git if git then I also am not seeing 3.8.10.12 where can I pull this release?

@kcomer Yes this is in the testing channel updates. Just make sure you have subscribed to testing channel and apply the update via the normal GUI method. Or if you are running stable then no worries as if all works out with these patches then they should end up in the next stable release. No rush though just wanted to let you know. Cheers.

1 Like

Yep I’m running the stable release, I can wait till the next release comes out. I usually only go with stable releases.

phil,

Is it safe to do a yum update now with out having to fix the python version/ I think it was python?

I updated today and and while I got something that looks a little better I am still seeing issues.
So right off the bat I get the switch to in the gui to turn on the SMART feature, I never had this before, but when I do a rescan it turns off immediately.

Next is that I am still not able to get SMART data from the disk in the GUI. I believe that this is related to rockstor not pulling twl0 as my device names. I also noticed that before I ran any smart command I had no twl devices but once I ran the first command all the devices appeared, this seems to be a feature of the smartctl command "found in a piece of documentation where it states that this is the behaviour

Anyway when going to the smart info pages in the gui and do a refresh I get this error below.
The error message: Error running a command. cmd = [’/usr/sbin/smartctl’, ‘-l’, ‘selftest’, ‘-l’, ‘selective’, u’/dev/sdd’]. rc = 4. stdout = [‘smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.3.3-1.el7.elrepo.x86_64] (local build)’, ‘Copyright © 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org’, ‘’, ‘=== START OF READ SMART DATA SECTION ===’, ‘Device does not support Self Test logging’, ‘’]. stderr = [’’]

So in taking that command displayed and doing a little tweaking I get it to put some out put not sure if it will be helpful

/usr/sbin/smartctl -d 3ware,0 -l selftest -l selective /dev/twl0
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-4.3.3-1.el7.elrepo.x86_64] (local build)
Copyright © 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
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.

Attempted to update my smart.py script and no SMART working after changes if I run the script i get this error for both the modified script and the original

python smart.py
Traceback (most recent call last):
File “smart.py”, line 20, in
from osi import run_command
File “/opt/rockstor/src/rockstor/system/osi.py”, line 27, in
from exceptions import CommandException
ImportError: cannot import name CommandException

These are the lines I changed

    o, e, rc = run_command([SMART, '-d', '3ware','0', '-H', '--info', '/dev/%s' % device],
    o, e, rc = run_command([SMART, '-d', '3ware','0', '-a', '/dev/%s' % device], throw=False)
    o, e, rc = run_command([SMART, '-d', '3ware','0', '-c', '/dev/%s' % device])
    o, e, rc = run_command([SMART, '-d', '3ware','0', '-l', 'error', '/dev/%s' % device],
return run_command([SMART, '-d', '3ware','0', '-t', test, '/dev/%s' % device])
    o, e, rc = run_command([SMART, '-d', '3ware','0', '--info', ('/dev/%s' % device)])
return run_command([SMART, '-d', '3ware','0', '--smart=%s' % switch, '/dev/%s' % device])

Any hints appreciated

@kcomer I’ve found myself working on the smart stuff again and just wanted to clarify the following:

Am I right in thinking that the zero in “-d 3ware,0” relates to the controller ie 0 = first controller?
And that there are a number of /dev/twl* devices created that each relate to a drive on that controller.

As you pointed out it looks like with these controllers we have to point to the /dev/twl* device rather than the /dev/sd* devices in order to get sane smart info.

Another question is how does one relate the /dev/sd* names to the /dev/twl* names? I.e. how do we get a current map of one to the other.

And what happens when there is more than one controller?
I’m a little concerned about how to activate the required devices as you point out that they only appear after the first smart command, which give us a chicken and egg situation. Maybe we can cross that bridge (or make it) once we have the other issues sorted.

Thanks for looking into this and sharing thus far.

We haven’t yet implemented custom smart options such as will be needed for the “-d 3ware,0” but there is now provision for it in the db ready. But for another issue I was looking at smart device name pre-processing and thought that we might be able to use the same mechanism to redirect calls from the regular sd* devices to the twl* devices and hence lay some ground work for these controllers. So if we can identify how to live map the sd* names that rockstor uses to the twl* names that the smart calls require then I could put a provision in for this in the smart name pre-processor. Cheers.

Sorry to not get back to you sooner but given these controllers need not only custom options but also different device names there may not be any simple option to jury rig for the time, hence my questions re smart device name mapping.