Question on RAID controllers/ drives

Posted on 2012-09-08
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
    LVL 18

    Expert Comment


    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!
    LVL 8

    Expert Comment

    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 116

    Expert Comment

    by:Andrew Hancock (VMware vExpert / EE MVE)
    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.

    Author Comment


    It's the performance aspect that I'm really 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?
    LVL 8

    Accepted Solution

    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 55

    Expert Comment

    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 46

    Expert Comment

    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 116

    Expert Comment

    by:Andrew Hancock (VMware vExpert / EE MVE)
    Your vendor is refering to traditional Physical Server.
    LVL 46

    Expert Comment

    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.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How your wiki can always stay up-to-date

    Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
    - Increase transparency
    - Onboard new hires faster
    - Access from mobile/offline

    #Citrix #Citrix Netscaler #HTTP Compression #Load Balance
    This is similar to the error described in my previous Article, but with a different source problem and a different solution. When trying to scan and stage the ESXi 6.0 updates using VMware Update Manager, we can get "error code 90"
    This video teaches viewers how to encrypt an external drive that requires a password to read and edit the drive. All tasks are done in Disk Utility. Plug in the external drive you wish to encrypt: Make sure all previous data on the drive has been …
    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…

    759 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

    Need Help in Real-Time?

    Connect with top rated Experts

    9 Experts available now in Live!

    Get 1:1 Help Now