Write cache and performance hit.

ML 110G4 Server has built in RAID controller and RAID 1 is configured using 2x Seagate ST3160812AS SATA drives.
Recently I had issues with a bad spot on the RAID which I assume was the cause of (so far) two BSOD incidents.
I have run a RAID verify and it picked up and fixed 107 errors.
In the process I discovered I had been running the server with write cache enabled on the RAID controller but BIOS warning on POST recommends turning off write cache because the controller apparently can't handle this without the risk of data integrity issues.
The server has been running with cache write enabled for a long time (two years or more).
After disabling the write cache, server performance has dropped significantly to the point that it is almost unusable/unproductive (takes ages to boot up and CPU goes crazy).
The other thing to note is that for a long time (two years or more), one of the Seagate drives shows up on POST as 3.0GB/s and the other as 1.5GB/s.
I have not been able to work out why and if this is having a major impact on performance?
Please advice on possible fix.
How can I improve performance?
Should I just leave the write cache enabled and ignore the warning message on POST?
Should I try to get both drives to function at 3GB/s and if so how?
stevenvelIT ConsultantAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

charlestasseConnect With a Mentor Commented:
So, not knowning much about this controller, i can tell you how LSI controllers work, there should be similarities here.

Generally you would enable write back cache on a controller that has a connected battery backup. The controller will write to its onboard memory and in the event of an unexpected shutdown, the battery will maintain the contents of the cache until the server comes back up and then write the data to the drives without data loss or corruption.

From what you have written, it appears that your controller does not have (or supports) a battery and this would cause the post message.

Running in write back mode will give you the performance you are looking for, but not the protection that a server should have. It also appears that at some time one of the hard drives may have been replaced with a 3GB/s drive. Generally most controllers are designed to be forward compatable so that faster and bigger drives can be used to replace smaller/slower ones.
I would highly recommend that you invest in the best controller you can pay for, that has battery backup for this server
stevenvelIT ConsultantAuthor Commented:
Yes you are right, the controller does not have a battery backup.
The server is due for upgrade but  I need to buy time.
In the short term, should I ignore the error and just enable the write cache?
I have a UPS always protecting the server.
Both drives are the same model (but not sure about firmware), how can I make them both run at 3GB/s?
[Webinar] Kill tickets & tabs using PowerShell

Are you tired of cycling through the same browser tabs everyday to close the same repetitive tickets? In this webinar JumpCloud will show how you can leverage RESTful APIs to build your own PowerShell modules to kill tickets & tabs using the PowerShell command Invoke-RestMethod.

eagerConnect With a Mentor Commented:
Battery backup caching controllers are better than one's without a battery, although I have seen controllers which failed because the battery failed.  

Since you have a UPS, there is little likelihood that you will have a power failure which causes data in the cache to be lost.  I would re-enable the write cache.

Check the drives to see if there is a 1.5/3.0 Gbs jumper and if it is set correctly.  
Even with UPS there is always the possibility for the server to shutdown unexpectedly, many things can cause this including power loss. Its up to you to determine if this is acceptable.
Server shutdown, such as caused by a system crash, will not result in loss of data when using a disk cache unless there is a loss of system power to the controller.  This could happen if the system power supply fails, for example, or if someone powers off the system manually.  

You should evaluate to what extent you can risk a data error.  Using a UPS and RAID significantly reduces the likelihood of unrecoverable data loss, as do regular backups.  
stevenvelIT ConsultantAuthor Commented:
I have re-enabled write cache and I think performance is back to normal.
I checked the drives and confirmed that no jumpers are installed.
No jumpers should set the drives to work at 3GB/s but for some reason one drive displays as 1.5GB/s on POST.
It would be nice if they both show up and operate at 3GB/s for best performance but I don't know how to achieve this. Even if I could I am not sure if this would impact the RAID 1 setup (stuff it up)?
Not sure if it's possible to upgrade firware in the drives?
I may just have to leave this in the too hard basket and work on replacing this server.
This sounds like the best plan for you at this point Stevenvel.

You might run smartctl on the drives. I don't know whether the transfer speed setting is one of the available settings for your drives, but the utility should tell you.  

Seagate has firmware updates for some of their drives.  Search on their website for your model.  

Different drive speeds will not affect whether the RAID works, but might affect the performance.  

stevenvelIT ConsultantAuthor Commented:
Thank you both for your comments.
All Courses

From novice to tech pro — start learning today.