Opened 13 months ago

Closed 9 months ago

#1504 closed defect (fixed)

Services -> SMART could not be started

Reported by: willytenner Owned by: william
Priority: major Milestone: 8.3.0-RELEASE
Component: GUI Version: 8.0.4-RELEASE
Keywords: smart smartctl Cc:

Description

I am using FreeNAS 8.0.4 64-Bit on a HP ProLiant? DL380 G5 server with 8 GB RAM and a Smart Array P400 controller with 8 internal SAS ports. Every single data disk is configured as a RAID0 disk, so the data disks were shown as /dev/da0, /dev/da1, /dev/da2, and so on.

Issue: In the "Services" menu the SMART service could not be started, when the disks are behind a HP Smart Array Controller.

The disks are all SMART compatible, but the script ix-smartd is generating the wrong entries in smartd.conf.

I did some investigations and found two more problems within the script ix-smartd:

  1. There is a line checking the output from smartctl with grep, searching for string "SMART support is: Enabled". In smartctl version 5.41 this string must be "Device supports SMART and is Enabled".
  1. Changing the Internal Field Separator (IFS) to the pipe symbol obviously confuses the smartctl utility. Restoring the original IFS short before using smartctl is a workaround.
  1. I wrote some code to patch /conf/base/etc/rc.d/ix-smartd so it will generate the correct entries in smartd.conf when the disks are behind a HP Smart Array Controller or a Highpoint Rocket Raid Controller. See the attached file.

Use the patch as follows for the embedded version of FreeNAS 8.0.4:

Copy the patchfile to any writeable directory, e.g. /var/tmp

mount -w /
patch /conf/base/etc/rc.d/ix-smartd < /var/tmp/ix-smartd.patch
mount -r /
reboot

  1. There is another issue with the SMART service: Using the GUI to change the SMART feature of a single disk:

Storage -> Active Volumes -> View Disks -> Edit (Disk) -> check or uncheck Enable S.M.A.R.T. does not recreate the correct smartd.conf. Obviously some actions are performed in the wrong order:

  1. Recreate smartd.conf using the not updated data base.
  2. Restart SMART service
  3. Update data base.

but it must be

  1. Update data base.
  2. Recreate smartd.conf now using the updated data base.
  3. Restart SMART service.

Workaround: After changing the SMART feature of a single disk you have to stop and start the SMART service from the GUI.

Attachments (2)

ix-smartd.patch (2.2 KB) - added by willytenner 13 months ago.
ix-smartd.patch
ix-smartd.FreeNAS-8.3.1-ALPHA-r12166-x64.patch (942 bytes) - added by willytenner 9 months ago.

Download all attachments as: .zip

Change History (9)

Changed 13 months ago by willytenner

ix-smartd.patch

comment:1 follow-up: Changed 13 months ago by william

Seems like #1073 report the exact same issue and you opened a new one to get more attention?

Either way, we cannot apply this patch because we cannot rely on camcontrol devlist, it does not handle every kind of controller, see #371 for a very similar patch.

comment:2 in reply to: ↑ 1 Changed 12 months ago by willytenner

@william: I had a look at #371. Well, I see the difficulties you mentioned about camcontrol devlist but I think it's better to handle some more common controllers than only native SATA/SCSI ports. But this theme only touches the problem no. 3 of my above posting.

What about problem no. 1, 2 and 4?

comment:3 Changed 12 months ago by william

1)

Water under the bridge, I don't think we are having another 8.0.x release.

2)

Can you give an example? I don't see any indication of that, IFS is used for word splitting, something we are not doing in the original code, I think.

4)

It is not an issue about wrong updating/saving ordering. Saving disk prop has never updated the SMART. This issue has already been fixed. (EDIT: on 8.2 branch)

Last edited 12 months ago by william (previous) (diff)

comment:4 Changed 9 months ago by william

  • Milestone changed from 8.0.4-RELEASE-p2 to 8.3.0-RELEASE
  • Owner set to william
  • Status changed from new to accepted

A patch has been committed in #371.

I was wondering if you could install the latest 8.3.1 ALPHA nightly and modify /etc/rc.d/ix-smartd to work with your controller...

Changed 9 months ago by willytenner

comment:5 Changed 9 months ago by willytenner

Yesterday I installed FreeNAS-8.3.1-ALPHA-r12166-x64. I modified ix-smartd so smartd is now starting when disks a behind a HP Smart Array Controller. See attached patch file.

I also patched the line with the grep string. I think the regex

"^.*SMART.*Enabled"

is more common. smartcl is not output:

"SMART support is: Enabled"

but:

"Device supports SMART and is Enabled"

in my case with the HP Smart Array Controller.

comment:6 Changed 9 months ago by william

Committed as r12170.

Thank you very much.

comment:7 Changed 9 months ago by william

  • Resolution set to fixed
  • Status changed from accepted to closed
Note: See TracTickets for help on using tickets.