Question on RAID controllers/ drives

Posted on 2012-09-08
Medium Priority
Last Modified: 2012-11-10

We have a new application that we'll be looking at shortly that we're going to be installing on a server (just for eval purposes initially). The application will be accessed by about 500 users and has a database and transaction log component.

We were thinking:

OS: RAID 1 pair
Transaction logs: RAID 1 pair
Database: RAID 10 (4 disks)

We wanted to seperate the logs and database activity to seperate drives since I understand that database and t-log disk activity should not be mixed.

My question is - do they need to be seperated by different RAID controllers? Or can we have one RAID controller servicing all of the above? I guess I am asking, can we have seperate RAID arrays all from one controller for best practice?

Application will be running on Windows 2008 Server.

The above question is assuming we went for a physical server.

How does this work if we decided to virtualise the application? How does RAID work with  VM?
Question by:richlionel
  • 2
  • 2
  • 2
  • +3
LVL 18

Expert Comment

ID: 38379102

In reply to your question, assuming your server hardware is warranted with a 4 hour response agreement. Then there is no reason why you can't have that configuration running on 1 RAID card. I would make sure your RAID card is decent too, with battery and ample RAM. Also make sure your disks are SAS at 15K for best performance.

In a VM configuration you can also use the single RAID card to service multiple arrays too.

Best of luck!

Expert Comment

ID: 38379148
Sounds like there are two questions.  One is of availability.  The other is of performance.

In terms of availability, it probably doesn't make a difference if you have one controller for all or one controller for each.  Even if you ran them through three controllers, a failure on any one controller would take you out of service.  In that case, using a twist on Occam's Razor, the simplest solution would be the best.  For availability, use one controller and then have a spare available in case of failure.

In terms of performance, what you need is a wholly different path for each device.  If the paths intersect at any point from the memory to the device, that will create a bottleneck.  If each device is on its own controller, or if the controller provides multiple paths, that will only help if the entire path is open for data transfer which depends on many questions including motherboard design.  You would have to review the entire configuration to ensure that maving separate contollers or controller paths makes any difference at all.

LVL 125
ID: 38379151
When you virtualise the server, the virtual disks, would be located on a datastore, which is presented to the Hypervisor OS as a RAID set.

So all your virtual disks would possibly on the same RAID set datastore.

Whether physical or virtual for Maximum IOPs, more spindles = more disks = more IOPS = more performance.

So virtual or physical, you would benefit, by using ALL your disks/spindles in the same RAID set. So the data is striped across multiple disks, increases throughput and IOPS.

In a virtual environment, you want to make sure your datastore presented to the Hypervisor OS, is as fast as possible, because all the I/O in the VM will be slower because it's virtualised.
2018 Annual Membership Survey

Here at Experts Exchange, we strive to give members the best experience. Help us improve the site by taking this survey today! (Bonus: Be entered to win a great tech prize for participating!)


Author Comment

ID: 38379165

It's the performance aspect that I'm really querying....in the example I gave above, the vendor is saying that we should have the transaction logs and database files on seperate drives due to the behaviour of the disk spindles.

So I can easily place the tlogs on the E drive and the database on the F drive, that's not an issue. WHat I'm not sure is if the E drive and F need to be on seperate RAID arrays and/or connected to seperate RAID controllers or not?

Accepted Solution

RGRodgers earned 2000 total points
ID: 38379192
The need for separate spindles is clear as this reduces the need for seeks.  When the data is sequential, a log for example, if the head doesn't need to move then it doesn't need to seek back for the next write.

The need for separate controller is less clear, as I mentioned.  More spindles automatically means more IOPS only where physical access times is reduced, for example with the logs that don't need to reseek.

Separate controllers increases IOPS if and only if the entire path is not shared with the other controllers.  If any part of the path is shared, then only one controller can pass data at a time.  So, having more than one controller, or more spindles, does not increase performance at all.

LVL 56

Expert Comment

by:Handy Holder
ID: 38379296
Depending on the server it may not be possible to have two controllers, if it's hot-swap and has a single backplane sharing it between two controllers may not be an option.
LVL 47

Expert Comment

ID: 38379361
You are throwing your money away buying RAID controllers.  RAID 0,1,10 have no significant overhead, and it is actually more efficient on most I/O to let the O/S do the work.

So instead of buying a $500+ controller, put that money towards a small pair of SSDs.  You can easily get 25K - 50,000 RANDOM IOPS off of them.  Use the SSDs (and native software RAID), for the O/S + index files, log files, and anything else that is I/O intensive.

Then use RAID10 for everything else.
LVL 125
ID: 38379644
Your vendor is refering to traditional Physical Server.
LVL 47

Expert Comment

ID: 38379681
If you want I/O performance then just be aware that no way can VMWARE be more efficient at I/O then direct I/O.   It is impossible as there is a level of abstraction.  Now you can create a VM and allocate physical devices to a specific machine, and that is a great way to get performance.

But you really need to get specific on the throughput, IOPs and ratios of random, sequential and even block sizes if you want to have more than generalities concerning I/O and performance.

Maybe your apps don't really need a great deal of I/O so this is of no concern except for some peak times.  I don't know.

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Among the most obnoxious of Exchange errors is error 1216 – Attached Database Mismatch error of the Jet Database Engine. When faced with this error, users may have to suffer from mailbox inaccessibility and in worst situations, permanent data loss.
If you need to complete a Physical to Virtual (P2V), Virtual to Virtual (V2V) conversion to a VMware product (VMware Workstation, Player or VMware vSphere (ESXi) ) for FREE, then there is some good news...
This tutorial will walk an individual through the process of installing the necessary services and then configuring a Windows Server 2012 system as an iSCSI target. To install the necessary roles, go to Server Manager, and select Add Roles and Featu…
How to install and configure Citrix XenApp 6.5 - Part 1. In this video tutorial we have explained step by step installation of Citrix XenApp 6.5 Server on Windows Server 2008 R2 is explained in this video. We have explained the difference between…
Suggested Courses
Course of the Month5 days, 7 hours left to enroll

601 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question