TexasUnraid Posted July 21, 2020 Posted July 21, 2020 (edited) Ok, so I was looking into LSI HBA cards and they all seemed overpriced / over-hyped compared to other options. After looking around a lot I was debating between the HP240 and Adaptec as they both offered more features for less money. I ended up going with the adaptec 71605 as I got a really good deal on it and it checked all the boxes except trim support for consumer SSD's like basically all other HBA's. 16 sata ports PCIE Gen3 x8 No need to flash the card for HBA funcality, just simply switch to HBA mode in the cards bios Built in driver support in unraid and every other OS I have tried it with Can be found for less then $50 fairly easily on ebay (I got mine for a bit over half that during a sale) So I have been using it for a bit over a month now and have to say, I am quite happy with my choice. I can hit over 2GB/sec speeds on my 5x 128gb cache pool but I am CPU bottlenecked at that point (all cores pegged to 100%). Others have reported 4500MB/s combined speeds and still not reaching a bottleneck. The heatsink does need some airflow like all HBA cards. I built a funnel out of poster board that covers half a 120mm side panel fan and it keeps it nice and cool with the fan at the lowest speed ~500rpm. The bios is also pretty simple to figure out as well, reset all settings to default and don't setup any raid settings and it will work. Although switching it to HBA mode and enabling drive listing on boot is better for our use case IMHO. Overall I am very happy with this card and recommend it. The only issue I have had is that the default write-cache setting is "Drive dependent". Sounds fine on paper but I had several drives just suddenly stop supporting write caching after a reboot and hdparm could no re-enable it nor would it work on another computer. This setting should always be set to "enabled always" and never changed. EDIT: I figured out how to fix this from within unraid after some more playing around, I will leave the old windows fix in a zip archive below in case some of that helped get this working. hdparm does not work to fix this, nor does the normal smartctl command. There is a more advanced smartctl command that does work though! smartctl -s wcache-sct,on,p /dev/sdX This got it working on a drive I added to the server after fixing the others without having to revert to windows. No need to reboot or anything, takes effect immediately. The ",p" is supposed to make the command persistent. I archived the rest of this thread for future reference in case someone needs it in the attached zip file, including the dskcache windows program. dskcache - Tool for fixing write cache on hard drives.zip Archived instructions for fixing write-cache disabled on Adaptec HBA card.zip Edited July 25, 2020 by TexasUnraid 5 1 Quote
Vr2Io Posted July 21, 2020 Posted July 21, 2020 (edited) Very useful and detail, never know write_cache issue. I always think should I buy one .... but the chance which I use almost zero and this HBA power usage seems a little bit high. Edited July 21, 2020 by Benson Quote
TexasUnraid Posted July 21, 2020 Author Posted July 21, 2020 1 hour ago, Benson said: Very useful and detail, never know write_cache issue. I always think should I buy one .... but the chance which I use almost zero and this HBA power usage seems a little bit high. Power usage on this card is around ~15w according to my watt meter (not exact as I made some other changed to the hardware at the same time). Considering this is pcie gen3 with 16 ports, that is a bit better then average from my research. Naturally the 8 port pcie gen 2 cards will use less, think they were generally closer to 8-10w. Quote
TexasUnraid Posted July 23, 2020 Author Posted July 23, 2020 (edited) I was messing with adding in a new drive I will be using for parity and it had write cache disabled, I decided to try a fix I found after finishing the last drives by using a more advanced smartctl command and what do you know, it worked! Much easier then using windows, don't even have to reboot. smartctl -s wcache-sct,on,p /dev/sdX I edited the OP with this command. Edited July 23, 2020 by TexasUnraid 4 Quote
SirReal63 Posted July 24, 2020 Posted July 24, 2020 21 hours ago, TexasUnraid said: I was messing with adding in a new drive I will be using for parity and it had write cache disabled, I decided to try a fix I found after finishing the last drives by using a more advanced smartctl command and what do you know, it worked! Much easier then using windows, don't even have to reboot. smartctl -s wcache-sct,on,p /dev/sdX I edited the OP with this command. I have a 3tb SATA drive that has an endlessy disabled write cache. The fix described in Fix Common Problems does not last, (hdparm). I am new to Unraid and Linux. I assume you ran this from a terminal window just as the hdparm command? I ask because I do not want to hose my system and I know there are vast amount of things I have yet to learn. Quote
TexasUnraid Posted July 24, 2020 Author Posted July 24, 2020 (edited) Correct, that is run from the terminal just like the hdparm command. Just copy/paste it and make sure to update the X at the end to the correct drive. Worst case you could use user scripts to run the hdparm command at first array start if this doesn't work. Edited July 24, 2020 by TexasUnraid 1 Quote
SirReal63 Posted July 24, 2020 Posted July 24, 2020 Thanks, I will give it a shot. Central Texas here. Quote
SirReal63 Posted July 24, 2020 Posted July 24, 2020 Bravo! It appears to have worked. I ran the command, ran Fix Common Problems and the error was not there. I stopped the array, rebooted and ran Fix Common Problems again, still no error. Quote
TexasUnraid Posted July 24, 2020 Author Posted July 24, 2020 Fantastic! I wish I had found this command sooner, would of saved me a lot of time lol. 1 Quote
JorgeB Posted July 25, 2020 Posted July 25, 2020 On 7/23/2020 at 11:15 PM, TexasUnraid said: I was messing with adding in a new drive I will be using for parity and it had write cache disabled, I decided to try a fix I found after finishing the last drives by using a more advanced smartctl command and what do you know, it worked! Much easier then using windows, don't even have to reboot. smartctl -s wcache-sct,on,p /dev/sdX I edited the OP with this command. Good find, @Squiddo you mind adding this to the the related FAQ entry? Quote
TexasUnraid Posted July 25, 2020 Author Posted July 25, 2020 (edited) 5 hours ago, johnnie.black said: Good find, @Squiddo you mind adding this to the the related FAQ entry? Go for it, I was actually going to suggest it when I found that it worked but was not sure where to do that. There is also another command you could add there as well, it didn't work for me but might work for others: smartctl -s wcache,on /dev/sdX Quote wcache[,on|off] - [ATA] Gets/sets the volatile write cache feature (if supported). The write cache is usually enabled by default. This is the more advanced command and was needed in my case: smartctl -s wcache-sct,on,p /dev/sdX Quote wcache-sct[,ata|on|off[,p]] - [ATA only] Gets/sets the write cache feature through SCT Feature Control (if supported). The state of write cache in SCT Feature Control could be "Controlled by ATA", "Force Enabled", or "Force Disabled". SCT Feature control overwrites the setting by ATA Set Features command (wcache[,on|off] option). If SCT Feature Control sets write cache as "Force Enabled" or "Force Disabled", the setting of wcache[,on|off] is ignored by the drive. SCT Feature Control usually sets write cache as "Controlled by ATA" by default. If ',p' is specified, the setting is preserved across power cycles. Edited July 25, 2020 by TexasUnraid Quote
1812 Posted July 25, 2020 Posted July 25, 2020 thank you for sharing. I have been looking for an inexpensive 16i card and this looks like it will fit the bill Quote
TexasUnraid Posted July 25, 2020 Author Posted July 25, 2020 (edited) 14 minutes ago, 1812 said: thank you for sharing. I have been looking for an inexpensive 16i card and this looks like it will fit the bill Glad I could help, Been stressing it the last few days doing a parity build and other IO intensive things at the same time (basically constant 1 - 1.5GB/s+ IO non-stop) and it has held up great. Although I do wounder if any of the linux software packages they offer for this card would work with unraid's slackware? https://storage.microsemi.com/en-us/support/raid/sas_raid/sas-71605/ It would be kind of nice to be able to see the cards temp and it offers some other functionality like the write cache settings. Would be cool if it could be in a docker or something but no idea if that is possible. Edited July 25, 2020 by TexasUnraid Quote
TexasUnraid Posted August 2, 2020 Author Posted August 2, 2020 (edited) Interestingly, I recently stopped and started the array and when it restarted the write cache was disabled on a few drives again. I know this was not the cards fault since the computer was not restarted and it happened with the array restart. So it must be something about how unraid interacts with the card that is causing the write cache to be disabled. Luckily it is not an issue, performance is only minorly effected in some quick tests I did with the write cache off and fixing it is very simple with the above smartctl command. I went ahead and made up this script that runs hourly to ensure I don't have to mess with this again, I will leave it here in case someone else wants to use it. It prints the starting status of the drive, it then enables the cache and then prints the status of the write cache again to make sure it changed. It is perfectly fine to run it on all the drives. #!/bin/bash #description=This script will enable write cache for all drives with /dev/sd* names. #backgroundOnly= #arrayStarted= #noParity= #argumentDescription= #argumentDefault= for DRIVE in /dev/sd*[a-z] ; do echo Below here ------------------------------------------------------------Drive = $DRIVE echo echo Write cache status before making changes to $DRIVE: hdparm -ACW $DRIVE echo smartctl -s wcache-sct,on,p $DRIVE echo echo Write cache status after making changes to $DRIVE: hdparm -ACW $DRIVE echo done Edited May 2, 2021 by TexasUnraid 1 Quote
uCoreX Posted April 17, 2023 Posted April 17, 2023 On 8/3/2020 at 1:09 AM, TexasUnraid said: Interestingly, I recently stopped and started the array and when it restarted the write cache was disabled on a few drives again. I know this was not the cards fault since the computer was not restarted and it happened with the array restart. So it must be something about how unraid interacts with the card that is causing the write cache to be disabled. Luckily it is not an issue, performance is only minorly effected in some quick tests I did with the write cache off and fixing it is very simple with the above smartctl command. I went ahead and made up this script that runs hourly to ensure I don't have to mess with this again, I will leave it here in case someone else wants to use it. It prints the starting status of the drive, it then enables the cache and then prints the status of the write cache again to make sure it changed. It is perfectly fine to run it on all the drives. Hi, do you see the temperatures from all of your disk with this controller? Quote
TexasUnraid Posted April 17, 2023 Author Posted April 17, 2023 24 minutes ago, CiscoCoreX said: Hi, do you see the temperatures from all of your disk with this controller? Yes, all the temps show up fine. 1 Quote
Schaka Posted June 23, 2023 Posted June 23, 2023 Big thanks to you for creating this thread. It helped me choose the right controller without going way over budget or having to hope whatever comes from China in x months is genuine. Quote
DaMAN Posted July 9, 2023 Posted July 9, 2023 Thank you my firend, for years I could never get write cache enabled, the command smartctl -s wcache-sct,on,p /dev/sdX worked for me and my shucked Seagate ST4000VN000 & ST6000VX0001 drives, good vibes all around! 1 Quote
Sumeragy Posted July 16, 2023 Posted July 16, 2023 (edited) So i was trying to fix this exact problem. But i did a bad turn when i enabled in the Bios HBA settings the write to Cache to all enabled. This made all my drives unmountable. Since parity was ok,t he only option i found is to rebuilt everything. But the card itself is gread having no issues. Well as long you are not changing settings after adding a drive Edited July 16, 2023 by Sumeragy Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.