Page 1 of 1
SMART with 3Ware controller
Posted: 28 Nov 2012 19:38
by waldo22
I am trying to solve the same problem described here (in German):
http://www.forums.nas4free.org/viewtopi ... =29&t=1835
Trying to get SMART to work with my 3Ware 9650se controller.
In the web GUI under Diagnostics, S.M.A.R.T. information says:
Code: Select all
Smartctl open device: /dev/da1 failed: AMCC/3ware controller, please try adding '-d 3ware,N',
you may need to replace /dev/da1 with /dev/twaN or /dev/tweN
...for each disk on my vdev.
The following command works from the command line and produces correct SMART output:
where
3ware,0 means the drive attached to port 0 on the 3ware card, and
/dev/twa0 is the card itself. Each drive is set up as "Single" in the 3Ware BIOS, so ZFS is handling all the data and redundancy features. The 3ware card is being used as a "dumb" SATA controller.
So the error message is perfectly correct that I need to add
-d 3ware,N and replace "/dev/daN" with
/dev/twa0, but it doesn't say
where to add/replace these values.
I'm happy to use the command line to make this work (although a GUI solution would be nice!).
Does anyone know the proper place to edit this information?
Thanks!
-Wes
PS. Here's a topic on the FreeNas forums about this exact thing:
http://forums.freenas.org/showthread.ph ... controller
Can't tell if it was resolved or not...
Re: SMART with 3Ware controller
Posted: 30 Dec 2012 16:00
by waldo22
Here's the patch to ix-smartd that was posted on FreeNAS:
Code: Select all
19c19
< DRV=$(expr "$LINE" : '.*on \(.*\)[0-9][0-9]* bus')
---
> DRV=$(expr "$LINE" : '.*on \(.*\)[0-9]*[0-9]* bus')
34c34
< echo "$DRV|$(($CID+1))|$(($TGT+1))|$DEV"
---
> echo "$DRV|${CID}|${TGT}|$DEV"
48a49,50
> CONTROLLER_ID=$((CONTROLLER_ID + 1))
> CHANNEL_NO=$((CHANNEL_NO + 1))
58a61,62
> CONTROLLER_ID=$((CONTROLLER_ID + 1))
> CHANNEL_NO=$((CHANNEL_NO + 1))
61a66,70
> # 3ware controller
> ${disk}:twa*)
> echo -n "/dev/${DRIVER} -d 3ware,${CHANNEL_NO}"
> break
> ;;
Any ideas which file should be patched in NAS4Free?
Where does smartd.conf live?
-Wes
Re: SMART with 3Ware controller
Posted: 30 Jan 2013 09:31
by rocket
Hey there, I just got a 3Ware controller and put in a few RED drives.
Can't get the regular smart tools to recognize it.
even tried modifying /var/etc/smartd.conf to include:
Code: Select all
/dev/twa0 -a -d scsi -T permissive -W 0,0,0 -n standby,q -d 3ware,0
/dev/twa0 -a -d scsi -T permissive -W 0,0,0 -n standby,q -d 3ware,1
instead of
Code: Select all
/dev/da0 -a -d scsi -T permissive -W 0,0,0 -n standby,q -d 3ware,0
/dev/da1 -a -d scsi -T permissive -W 0,0,0 -n standby,q -d 3ware,1
and even chmodded it to take away all damn write permissions, but it still re-wrote the file
however, running it command line works fine:
Code: Select all
sancheznas:/# smartctl -a -d 3ware,0 /dev/twa0
smartctl 5.42 2011-10-20 r3458 [FreeBSD 9.0-RELEASE-p3 amd64] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Device Model: WDC WD20EFRX-68AX9N0
Serial Number: WD-WMC300497140
LU WWN Device Id: 5 0014ee 058c63c57
Firmware Version: 80.00A80
User Capacity: 2,000,398,934,016 bytes [2.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ACS-2 (revision not indicated)
Local Time is: Wed Jan 30 00:29:05 2013 PST
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
...truncated...
anyone have any ideas? ta!
system info:
NAS4Free 9.0.0.1 (revision 139) x64-full
031810 XSDT1647 AMD Phenom(tm) II X2 555 Processor 4608MiB RAM
OHCI (generic) USB controller bus=2 hubaddr=1 port=0 devaddr=3
interface=0 PLIP network interface RTL8169S/8110S/8211 1000BASE-T
media interface EHCI (generic) USB 2.0 controller bus=1 hubaddr=2
port=0 devaddr=2 interface=0
Re: SMART with 3Ware controller
Posted: 30 Jan 2013 14:34
by fsbruva
You need to do a little bit more digging. Everything in var gets created at boot time, or at daemon start time. The real place to look is inside /etc/rc.d/smard, which is the startup script. I am pretty certain that the kernel runs the startup script, which populates the smartd.conf file, then starts the daemon every time the daemon asked to start. This is because the webgui configuration controls what values are used in smartd.conf, and the .conf file gets deleted on reboot.
Re: SMART with 3Ware controller
Posted: 31 Jan 2013 06:59
by rocket
Well, I see where in /etc/rc/d/smartd it is building the lines:
Code: Select all
# Create configuration file
/usr/local/bin/xml sel -t -m "//disks/disk/smart[enable]" \
-v "concat(../devicespecialfile,' ',../type,' ',extraoptions)" \
-i "position() != last()" -n -b \
${configxml_file} | /usr/local/bin/xml unesc | \
while read _devicespecialfile _type _smartextraoptions; do
_param="-a"
# Specify the type of the device.
case ${_type} in
IDE)
_param="${_param} -d ata";;
SCSI)
case ${_devicespecialfile} in
/dev/ada*|ada*)
_param="${_param} -d atacam";;
*)
_param="${_param} -d scsi";;
esac
esac
...truncated
Code: Select all
echo "${_devicespecialfile} ${_param}" >> ${smartd_conf}
done
but I don't know how to modify the device list from
/dev/da0 to
/dev/twa0
I'm also not familiar with rc.d scripts at all :/
Re: SMART with 3Ware controller
Posted: 31 Jan 2013 14:02
by fsbruva
I'll take a look at it on my lunch break today. Are you running a full or a embedded install? Can you also post a copy of your current smartd.conf?
Re: SMART with 3Ware controller
Posted: 31 Jan 2013 20:49
by rocket
Full install.
Don't have access to my conf file from work, but I can post it later when I get home.
I also noticed last big that the 3ware drives are being falsely identified as SCSI by smartd.conf instead of the -d 3ware
I'll also post the relevant info from my settings XML file where devicespecialfile is defined from
Re: SMART with 3Ware controller
Posted: 01 Feb 2013 07:05
by rocket
current /var/etc/smartd.conf:
Code: Select all
/dev/ada0 -a -d atacam -T permissive -W 0,0,0 -n standby,q
/dev/ada1 -a -d atacam -T permissive -W 0,0,0 -n standby,q
/dev/ada2 -a -d atacam -T permissive -W 0,0,0 -n standby,q
/dev/ada3 -a -d atacam -T permissive -W 0,0,0 -n standby,q
/dev/ada4 -a -d atacam -T permissive -W 0,0,0 -n standby,q
/dev/ada5 -a -d atacam -T permissive -W 0,0,0 -n standby,q
what gets added if I turn on smart for the new drives:
Code: Select all
/dev/da0 -a -d scsi -T permissive -W 0,0,0 -n standby,q -d 3ware,0
/dev/da1 -a -d scsi -T permissive -W 0,0,0 -n standby,q -d 3ware,1
/dev/da2 -a -d scsi -T permissive -W 0,0,0 -n standby,q -d 3ware,2
/dev/da3 -a -d scsi -T permissive -W 0,0,0 -n standby,q -d 3ware,3
/dev/da4 -a -d scsi -T permissive -W 0,0,0 -n standby,q -d 3ware,4
what I would like to see added:
Code: Select all
/dev/twa0 -a -d 3ware,0 -T permissive -W 0,0,0 -n standby,q
/dev/twa0 -a -d 3ware,1 -T permissive -W 0,0,0 -n standby,q
/dev/twa0 -a -d 3ware,2 -T permissive -W 0,0,0 -n standby,q
/dev/twa0 -a -d 3ware,3 -T permissive -W 0,0,0 -n standby,q
/dev/twa0 -a -d 3ware,4 -T permissive -W 0,0,0 -n standby,q
here are two of the disk definitions in my /conf/config.xml, that /etc/rc.d/smartd bulds from. the first is ada5, the last of my five running off themain mobo sata ports. the second is the first of my 3ware drives:
Code: Select all
<disk>
<uuid>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</uuid>
<name>ada5</name>
<devicespecialfile>/dev/ada5</devicespecialfile>
<harddiskstandby>5</harddiskstandby>
<acoustic>0</acoustic>
<fstype>zfs</fstype>
<apm>64</apm>
<transfermode>auto</transfermode>
<type>SCSI</type>
<desc>pool 5</desc>
<size>1907730MB</size>
<serial>WD-WCAVY0000000</serial>
<smart>
<enable/>
<extraoptions/>
</smart>
</disk>
<disk>
<uuid>XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX</uuid>
<name>da0</name>
<devicespecialfile>/dev/da0</devicespecialfile>
<harddiskstandby>5</harddiskstandby>
<acoustic>0</acoustic>
<apm>1</apm>
<transfermode>auto</transfermode>
<type>SCSI</type>
<desc>12-0</desc>
<size>1907338MB</size>
<serial/>
<smart>
<extraoptions>-d 3ware,0</extraoptions>
</smart>
</disk>
last night I tried mucking about with string substitution in the rc.d script, but only managed to bork things, so I had to revert.
I was trying something along the lines of:
Code: Select all
_devicespecialfile=${_devicespecialfile/da*/twa0}
but I get
Code: Select all
eval: ${_devicespecialfile/...}: Bad substitution
as I said, I've never tried modifying rc.d scripts before, and my experience is in perl, not bash/sh
Re: SMART with 3Ware controller
Posted: 02 Feb 2013 08:17
by rocket
Ha! I figured it out.
clunky, probably not very good, and could use improvement, BUT:
I added two sections, one in the device type section to remove the -d scsi from anything on /dev/da*
and used sed to strip the devicespecialfile path.
Caveats:
- you must include the -d 3ware,0 for each drive in the 3ware array in the S.M.A.R.T. special options field for the drive.
- what I did might break a system with other types of drive devices
- doesn't work with emailed reports from the Status -> Email Report. I need to find out where that is.
here is a resultant smartd.conf:
Code: Select all
/dev/ada0 -a -d atacam -T permissive -W 5,0,0 -n standby,q -m nobody@nowhere.com -M exec /etc/mail/smartdreport.sh
/dev/ada1 -a -d atacam -T permissive -s (S/../.././03|C/../../0/05) -W 5,0,0 -n standby,q -m nobody@nowhere.com -M exec /etc/mail/smartdreport.sh
/dev/ada2 -a -d atacam -T permissive -s (S/../.././03|C/../../0/05) -W 5,0,0 -n standby,q -m nobody@nowhere.com -M exec /etc/mail/smartdreport.sh
/dev/ada3 -a -d atacam -T permissive -s (S/../.././03|C/../../0/05) -W 5,0,0 -n standby,q -m nobody@nowhere.com -M exec /etc/mail/smartdreport.sh
/dev/ada4 -a -d atacam -T permissive -s (S/../.././03|C/../../0/05) -W 5,0,0 -n standby,q -m nobody@nowhere.com -M exec /etc/mail/smartdreport.sh
/dev/ada5 -a -d atacam -T permissive -s (S/../.././03|C/../../0/05) -W 5,0,0 -n standby,q -m nobody@nowhere.com -M exec /etc/mail/smartdreport.sh
/dev/twa0 -a -T permissive -W 5,0,0 -n standby,q -m nobody@nowhere.com -M exec /etc/mail/smartdreport.sh -d 3ware,0
/dev/twa0 -a -T permissive -W 5,0,0 -n standby,q -m nobody@nowhere.com -M exec /etc/mail/smartdreport.sh -d 3ware,1
/dev/twa0 -a -T permissive -W 5,0,0 -n standby,q -m nobody@nowhere.com -M exec /etc/mail/smartdreport.sh -d 3ware,2
/dev/twa0 -a -T permissive -W 5,0,0 -n standby,q -m nobody@nowhere.com -M exec /etc/mail/smartdreport.sh -d 3ware,3
/dev/twa0 -a -T permissive -W 5,0,0 -n standby,q -m nobody@nowhere.com -M exec /etc/mail/smartdreport.sh -d 3ware,4
the changes were
in the drive type area, adding :
at the end, changing:
Code: Select all
#original:
#echo "${_devicespecialfile} ${_param}" >> ${smartd_conf}
foo=`echo "${_devicespecialfile}" | sed 's/\/da.*/\/twa0/'`
echo "${foo} ${_param}" >> ${smartd_conf}
and here is the whole file with changes:
Code: Select all
#!/bin/sh
# Part of NAS4Free (http://www.nas4free.org).
# Copyright (C) 2012 NAS4Free Team <info@nas4free.org>.
# All rights reserved.
#
# Portions of freenas (http://www.freenas.org).
# Copyright (C) 2005-2011 Olivier Cochard-Labbe <olivier@freenas.org>.
# Copyright (c) 2007-2009 Volker Theile <votdev@gmx.de>.
# All rights reserved.
#
# PROVIDE: smartd
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown
# XQUERY: -i "count(//smartd/enable) > 0 and count(//disks/disk/smart[enable]) > 0" -o "0" -b
# RCVAR: smartd
. /etc/rc.subr
. /etc/configxml.subr
name="smartd"
rcvar=`set_rcvar`
load_rc_config "${name}"
# Custom commands
start_precmd="smartd_mkconf"
mkconf_cmd="smartd_mkconf"
extra_commands="mkconf"
# Defaults
smartd_enable=${smartd_enable:-"NO"}
smartd_conf=${smartd_conf:-"/var/etc/${name}.conf"}
pidfile="/var/run/${name}.pid"
command="/usr/local/sbin/smartd"
command_args="--configfile=${smartd_conf} --pidfile=${pidfile} --logfacility=local5"
# Set check interval
_interval=`configxml_get "//smartd/interval"`
if [ -n "${_interval}" ]; then
command_args="${command_args} --interval=${_interval}"
fi
smartd_mkconf()
{
local _devicespecialfile _type _smartextraoptions _param _powermode _email _tmp
# Clear existing file
/bin/cat /dev/null > ${smartd_conf}
# Power mode
_powermode=`configxml_get "//smartd/powermode"`
# Email report enabled?
_email=`/usr/local/bin/xml sel -t -m "//smartd/email" \
-i "count(enable) > 0" \
-v "concat('-m ',translate(to,';',','),' -M exec /etc/mail/smartdreport.sh')" \
-i "count(testemail) > 0" \
-o " -M test" \
-b \
-b \
${configxml_file} | /usr/local/bin/xml unesc`
# Create configuration file
/usr/local/bin/xml sel -t -m "//disks/disk/smart[enable]" \
-v "concat(../devicespecialfile,' ',../type,' ',extraoptions)" \
-i "position() != last()" -n -b \
${configxml_file} | /usr/local/bin/xml unesc | \
while read _devicespecialfile _type _smartextraoptions; do
_param="-a"
# Specify the type of the device.
# I added /dev/da* to remove scsi call for 3Ware controllers
case ${_type} in
IDE)
_param="${_param} -d ata";;
SCSI)
case ${_devicespecialfile} in
/dev/ada*|ada*)
_param="${_param} -d atacam";;
/dev/da*)
_param="${_param}";;
*)
_param="${_param} -d scsi";;
esac
esac
# Be more tolerant. Try to monitor the disk even if it appears to lack SMART capabilities.
_param="${_param} -T permissive"
# Process scheduled self-tests.
# Example: -s (O/../.././(00|06|12|18)|S/../.././01|L/../../6/03)
_tmp=`/usr/local/bin/xml sel -t -m "//smartd/selftest[devicespecialfile = '${_devicespecialfile}']" \
-i "count(//smartd/selftest) > 1 and position() = 1" -o "(" -b \
-i "position() > 1" -o "|" -b \
-v "concat(type,'/')" \
-i "all_months[. = "0"]" \
-i "count(month) > 1" -o "(" -b \
-m month \
-i "position() > 1" -o "|" -b \
-v "format-number(.,'00')" \
-b \
-i "count(month) > 1" -o ")" -b \
-b \
-i "all_months[. != "0"]" -o ".." -b \
-o "/" \
-i "all_days[. = "0"]" \
-i "count(day) > 1" -o "(" -b \
-m day \
-i "position() > 1" -o "|" -b \
-v "format-number(.,'00')" \
-b \
-i "count(day) > 1" -o ")" -b \
-b \
-i "all_days[. != "0"]" -o ".." -b \
-o "/" \
-i "all_weekdays[. = "0"]" \
-i "count(weekday) > 1" -o "(" -b \
-m weekday \
-i "position() > 1" -o "|" -b \
-v "." \
-b \
-i "count(weekday) > 1" -o ")" -b \
-b \
-i "all_weekdays[. != "0"]" -o "." -b \
-o "/" \
-i "all_hours[. = "0"]" \
-i "count(hour) > 1" -o "(" -b \
-m hour \
-i "position() > 1" -o "|" -b \
-v "format-number(.,'00')" \
-b \
-i "count(hour) > 1" -o ")" -b \
-b \
-i "all_hours[. != "0"]" -o ".." -b \
-i "count(//smartd/selftest) > 1 and position() = last()" -o ")" -b \
${configxml_file} | /usr/local/bin/xml unesc`
if [ -n "${_tmp}" ]; then
_param="${_param} -s ${_tmp}";
fi
# Temperature monitoring.
_tmp=`/usr/local/bin/xml sel -t -m "//smartd/temp" \
-v "concat(diff,',',info,',',crit)" \
${configxml_file} | /usr/local/bin/xml unesc`
_param="${_param} -W ${_tmp}";
# Power mode
if [ -n "${_powermode}" ]; then
_param="${_param} -n ${_powermode},q";
fi
# Email report enabled?
if [ -n "${_email}" ]; then
_param="${_param} ${_email}";
fi
# Append extra options
if [ -n "${_smartextraoptions}" ]; then
_param="${_param} ${_smartextraoptions}"
fi
#original:
#echo "${_devicespecialfile} ${_param}" >> ${smartd_conf}
foo=`echo "${_devicespecialfile}" | sed 's/\/da.*/\/twa0/'`
echo "${foo} ${_param}" >> ${smartd_conf}
done
}
run_rc_command "$1"
Re: SMART with 3Ware controller
Posted: 11 Feb 2013 01:05
by zoon01
Please test this build:
64-bits only!
http://www.dutchmans.serverthuis.nl/Lat ... ntrollers/
The changes are :-
1. change IDE (ATA) device type from ata to atacam 2. add device type support for : 3ware RAID controller, Areca SATA RAID controller, HighPoint RocketRAID controller, HP Smart Array controllers (needs more testing)
Please note that we do not have all these controllers for testing, so more extensive testing is required for this patch.
Regards,
zoon01
Re: SMART with 3Ware controller
Posted: 11 Feb 2013 06:57
by rocket
Thanks! I'll give it a test tomorrow!
Re: SMART with 3Ware controller
Posted: 11 Feb 2013 18:30
by zoon01
Please test this build:
64-bits only!
Version 2 released
http://www.dutchmans.serverthuis.nl/Lat ... ntrollers/
Second update for /etc/rc.d/smartd :-
S.M.A.R.T : Auto detect on /dev/da* devices to cater for SATA disks pass through via HBA (non-RAID) (such as LSI SAS2008 RAID controllers (e.g. IBM ServeRAID M1015) flashed to LSI9211-IT firmware)
Re: SMART with 3Ware controller
Posted: 14 Feb 2013 04:01
by waldo22
@zoon01,
Thanks for the build. I installed the .639 firmware img and I'm unsure how to proceed.
Do I need to add the -d 3ware,n information somewhere, or add the /dev/twa0 somewhere?
Under diagnostics, SMART still gives the same error it's been giving.
What do I need to change, and what information would be helpful to you?
-Wes
Re: SMART with 3Ware controller
Posted: 14 Feb 2013 04:14
by RedAntz
waldo22 wrote:@zoon01,
Thanks for the build. I installed the .639 firmware img and I'm unsure how to proceed.
Do I need to add the -d 3ware,n information somewhere, or add the /dev/twa0 somewhere?
Under diagnostics, SMART still gives the same error it's been giving.
What do I need to change, and what information would be helpful to you?
-Wes
HI waldo22,
Can you refresh smartd.conf by doing this :-
Then paste the content in /var/etc/smartd.conf here for further troubleshooting.
Re: SMART with 3Ware controller
Posted: 14 Feb 2013 05:13
by waldo22
/var/etc/smartd.conf contains:
Code: Select all
/dev/da0 -a -d scsi -T permissive -W 0,0,0 -n sleep,q -d 3ware,0
/dev/da0 should be /dev/twa0, I believe.
Should your patch take care of that, or is that something I should have changed by hand?
-Wes
Re: SMART with 3Ware controller
Posted: 14 Feb 2013 05:37
by RedAntz
I suspect that is because the config.xml is not refreshed for the correct device type. That means S.M.A.R.T. is still using /dev/da0 instead of /dev/twa0 for detection. Can you check your disk configuration in /conf/config.xml to see whether /dev/da0 or /dev/twa0 is stored in <devicespecialfile>,e .g. :-
Code: Select all
<disk>
<uuid>47934ad3-7b3b-4d43-8d9e-e0d46c29159a</uuid>
<name>da0</name>
<devicespecialfile>/dev/da0</devicespecialfile>
<harddiskstandby>0</harddiskstandby>
<acoustic>0</acoustic>
<fstype>ufs</fstype>
<apm>0</apm>
<transfermode>auto</transfermode>
<type>SCSI</type>
<desc>VMware Virtual disk 1.0</desc>
<size>8192MB</size>
<serial/>
<smart>
<extraoptions/>
</smart>
</disk>
If that's the case, can you clear the config and reimport disk to see if that helps refreshing it to /dev/twa0 ?
If it is, then run /etc/rc.d/smartd onemkconf again to check if smartd.conf is populating correctly.
If you still have issue, can you post the following output from this command :-
and your disk configuration in /conf/config.xml ?
Re: SMART with 3Ware controller
Posted: 15 Feb 2013 01:26
by waldo22
In config.xml, all disks are listed as /dev/da*, even after clearing and re-importing.
Output of `camcontrol devlist -v` is:
Code: Select all
scbus0 on twa0 bus 0:
<AMCC 9650SE-24M DISK 4.10> at scbus0 target 0 lun 0 (pass0,da0)
<AMCC 9650SE-24M DISK 4.10> at scbus0 target 1 lun 0 (pass1,da1)
<AMCC 9650SE-24M DISK 4.10> at scbus0 target 2 lun 0 (pass2,da2)
<AMCC 9650SE-24M DISK 4.10> at scbus0 target 3 lun 0 (pass3,da3)
<AMCC 9650SE-24M DISK 4.10> at scbus0 target 4 lun 0 (pass4,da4)
<AMCC 9650SE-24M DISK 4.10> at scbus0 target 5 lun 0 (pass5,da5)
<AMCC 9650SE-24M DISK 4.10> at scbus0 target 6 lun 0 (pass6,da6)
<AMCC 9650SE-24M DISK 4.10> at scbus0 target 7 lun 0 (pass7,da7)
<> at scbus0 target -1 lun -1 ()
scbus1 on ata0 bus 0:
<> at scbus1 target -1 lun -1 ()
scbus2 on ata1 bus 0:
<> at scbus2 target -1 lun -1 ()
scbus3 on ata2 bus 0:
<> at scbus3 target -1 lun -1 ()
scbus4 on ata3 bus 0:
<> at scbus4 target -1 lun -1 ()
scbus5 on ata4 bus 0:
<> at scbus5 target -1 lun -1 ()
scbus6 on ata5 bus 0:
<> at scbus6 target -1 lun -1 ()
scbus7 on ctl2cam0 bus 0:
<> at scbus7 target -1 lun -1 ()
scbus8 on umass-sim0 bus 0:
<Corsair Flash Voyager 1.00> at scbus8 target 0 lun 0 (pass8,da8)
scbus-1 on xpt0 bus 0:
<> at scbus-1 target -1 lun -1 (xpt0)
/conf/config.xml contains (for each disk; I replaced da0 with da*, etc):
Code: Select all
<disk>
<uuid>c803935f-7dda-4645-b4a8-33346425d7b2</uuid>
<name>da*</name>
<devicespecialfile>/dev/da*</devicespecialfile>
<harddiskstandby>0</harddiskstandby>
<acoustic>0</acoustic>
<fstype>zfs</fstype>
<apm>0</apm>
<transfermode>auto</transfermode>
<type>SCSI</type>
<desc>AMCC 9650SE-24M DISK 4.10</desc>
<size>2861012MB</size>
<serial>W1F0G2FBB2868E00AB66</serial>
<smart>
<extraoptions/>
</smart>
</disk>
<zfs>
<vdevices>
<vdevice>
<uuid>0977603e-381b-4aad-828d-bea8c1ed9c82</uuid>
<name>vdev0raidz2</name>
<type>raidz2</type>
<device>/dev/da1</device>
<device>/dev/da2</device>
<device>/dev/da3</device>
<device>/dev/da4</device>
<device>/dev/da5</device>
<device>/dev/da6</device>
<device>/dev/da7</device>
<device>/dev/da8</device>
<aft4k/>
<desc>8x 3TB raidZ2 vdev</desc>
</vdevice>
</vdevices>
</zfs>
Re: SMART with 3Ware controller
Posted: 15 Feb 2013 03:11
by RedAntz
Bummer.
Looks like these disks are treated as da* instead of twa*
However, in the Version 2 of the patch, I have added additional test to make sure da* devices are detected properly.
Could you please do the following and paste the output here :-
Sorry for the back and forth troubleshooting, I do not have 3ware controllers for further debugging. I have IBM ServeRAID M1015 that behaves the same ( but is catered for in the 2nd patch ).
Re: SMART with 3Ware controller
Posted: 15 Feb 2013 03:56
by waldo22
Sorry for the back and forth troubleshooting
Seriously? Thank YOU for all the troubleshooting
works. (for /dev/da0)
does not.
Were you expecting BSD to automatically assign the drives as /dev/twa* ?
I have 8 disks, and they show up as /dev/da0 - da7.
The 3ware controller shows up as /dev/twa0, and da0 - da7 can be accessed by smartctl by specifying `3ware,*` where `*` is the device number for `da*`
...so
works for /dev/da3...
Re: SMART with 3Ware controller
Posted: 15 Feb 2013 04:20
by RedAntz
Ahh, ok, then it is different from how my HBA works. I'll submit a new patch to zoon01 on the weekend to rectify this.
Re: SMART with 3Ware controller
Posted: 15 Feb 2013 04:23
by waldo22
let me correct myself;
the `*` in `3ware,*` refers to the port on the 3ware controller that the disk is attached to, not the device name enumerated in /dev.
Most of the time, they happen to be the same, but you can't always rely on that...
Re: SMART with 3Ware controller
Posted: 15 Feb 2013 07:21
by rocket
Ooh, thanks! I've been trying to get time to get the install going, but ran in to problems with my !)($%)*^# CD drive. Have a new CD drive now, and will wait for the new build with the 3ware patch.
thanks again!
Re: SMART with 3Ware controller
Posted: 18 Feb 2014 00:37
by goelli
Hi,
Sorry for diggng this out, but is there any news to that?
On build 943 it still works in CLI, but the creation of the smartd.conf is still wrong for this type of controller.
It think it would work, if one would change the rc-script as Wes suggested. But I think this would be overwritten with every Firmware-upgrade.
So... Is there something I can help to get this into the next build of nas4free?
Thanks,
goelli
Re: SMART with 3Ware controller
Posted: 18 Feb 2014 01:05
by goelli
Ok. I searched a little for the progress since last post before mine.
There is a feature request ongoing since 2012-04-25
http://sourceforge.net/p/nas4free/featu ... /2/?page=1
There is a patch for older builds of nas4free
http://sourceforge.net/projects/nas4fre ... 1.0.1.804/
This patch is for full version or embedded version with DATA partition. Since I have no DATA Partition, I have to use my ZFS Mount as I do for extensions like jails.
Best regards,
goelli
Re: SMART with 3Ware controller
Posted: 18 Feb 2014 21:47
by RedAntz
Hi goelli,
For S.M.A.R.T., there is a patch that fix this and will be available in the next release
http://sourceforge.net/p/nas4free/code/948/
What 3ware card do you have ? There is an ongoing troubleshooting and a fix testing regarding 3ware cards that use 'twe' module ( 3ware 5000/6000/7000/8000 series PATA/SATA RAID adapter) here :
viewtopic.php?f=57&t=5976
Re: SMART with 3Ware controller
Posted: 18 Feb 2014 23:21
by goelli
Thanks for the repley.
This sounds good. I can see there will be a new parameter in the config.xml for this.
I have a 3ware 9650SE-8LPML Controller which uses 'twa'