Regarding Proper RAID Selection

Posted on 2006-04-06
Last Modified: 2010-04-03

Our company is currently moving to Co-Location.  We are building a slew of servers, probably from Dell.

We are a heavy SQL Based company and the multitude of computers running these seperate databases.

Some of the machines have HEAVY Reads, While some have HEAVY Writes.

I understand how RAID's work in a simple sense,  I am just looking for clarification on which RAID is most Suitable for our needs.
I need proper RAID Configs from the following systems:

- For a machine with HEAVY Reads, Small Writes and Data Safety is EXTREMELY Critical
- For a machine with HEAVY Reads, Medium Writes and Data Safety is Semi-Critical
- For a machine with Extremely Heavy Reads/Writes where Data Safety is of Highest Concern
- For a machine with Very Small and Infrequent Reads/Writes where Data Safety is of minimal Concern

I am either looking for Direct Answers or General Answers Regarding RAID Configuration Tips with Emphasis in the questions that I have asked.

If anyone knows of any tools on the internet that let you pick the kinds of needs you have and then recommends a particular RAID setup that would be cool.

Thanks in advance.
Question by:1Parkplace
    LVL 9

    Expert Comment

    For a system that has heavy READ ratio then it is important to have a controller that has a large pre-fetch cache on it. This allows a lot more information to be read from memory, rather than disk.
    For a heavy WRITE ratio, then it is important that the controller has a large write-cache memory and this is battery backed to provide power failure resilience.

    In the order you mention above I will try and offer advice and reasons.

    A. Heavy reads, extremely critical.
    Reason being.
    1. RAID 0 gives you striping across disks, thus allowing multiple disk spindles for faster concurrent accesses
    2. RAID-1 is mirror, for resilience.

    B. Heavy reads, medium writes, semi-critical.
    Reasons: 1. More spindles giving fast access times and stripe + parity gives resilience. I would make sure you have at least 4 disks (1 is hot spare)

    C. EXTREMELY heavy read/write and high concern about saftey.
    RECOMMEND: RAID10 or 15.
    1. As above for RAID10. RAID15 is the same as RAID5, just mirrored so expensive on disks.

    D. limited read/writes and limited concern.
    Provides quick and easy mirrored pair and fast access time. Cheap.

    You don't mention volumes, but I would probably consider a SAN for these as well. It looks like you have some critical data and you should look at a fibre SAN setup to give you best resilience across all servers and added benefit of striping across many more disks for higher availability and easier expansion.

    As I said at the top. RAID is not necessarily about the read/write ratio. This is really a consideration for the controllers, bus speeds, caching etc. SQL can be funny with inline caching and you need to consider this when specing the overall systems.

    Another key factor to performance for SQL is the amount of memory and processors are allocated to SQL resources, SQL coding, temp tables etc etc. It is not all about disks!  You coul dbe using the fastest CRAY with optical disks and it would still run like a dog if your SQL used multiple concurrent table scans... Well maybe not in a CRAY but you get my point.

    Make sure you I/O paths are seperated on the server. I mean network, internal and external disk controllers and tape drives. Use seperate controllers, and seperate PCI buses where possible. You will also find (although most manufacturers denie this) that there are differences between PCI bus 0 and the ones at the other end. Therefore, I would recommend using PCI-0 for your faster access requirements. This may be boot disks, it may be data volumes.

    One last thing. Consider how you build the server. Having seperate partitions for
    C: SYS
    F: DATA

    Where possible, you should look to use physically seperate disks for each of these volumes. This is not important in a SAN, but is when using ocal storage (DAS).

    Hope this helps
    LVL 15

    Expert Comment


    RAID 1
    Write performance with no failed disks: Average
    Read performance with no failed disks: Good
    Write performance with a failed disk: Average
    Read performance with a failed disk: Average
    Available disk space: 1 (the capacity of one drive)
    Minimum disks: 2
    Additional disks are added in groups of: 1 (increases availability and read performance, but not useable capacity)
    Number of disks that can fail without losing data: n-1
    Depending on the RAID controller, more than 2 disks can be supported in a RAID 1 set.

    RAID 5
    Write performance with no failed disks: Poor
    Read performance with no failed disks: Good
    Write performance with a failed disk: Bad
    Read performance with a failed disk: Bad
    Available disk space: n-1
    Minimum disks: 3
    Additional disks are added in groups of: 1 (increases capacity and read performance, but not availability)
    Number of disks that can fail without losing data: 1

    RAID 10
    Write performance with no failed disks: Good
    Read performance with no failed disks: Good
    Write performance with a failed disk: Good
    Read performance with a failed disk: Good
    Available disk space: n/2
    Minimum disks: 4
    Additional disks are added in groups of: 2 (increases capacity, read & write performance and availability)
    Number of disks that can fail without losing data: minimum: 1, maximum: n/2

    With a good RAID controller, you can also have one or more "hot spare" disks, that build themselves into a RAID set when a disk fails.

    A good RAID controller will also have a battery backed cache, enabling write caching to be performed safely. The larger the cache, the better.

    Disk technology is important -
    SCSI is MUCH faster and more reliable than SATA.
    15K Parallel SCSI Disks are the fastest, but if you have too many on a single bus then you can saturate the bus which reduces performance.
    10K SAS (Serial Attached SCSI) are faster than 10K Parallel SCSI disks, and there's no possibility of saturating the bus because each disks has its own bus, so in large RAID sets they can be faster than 15K Parallel SCSI disks.

    The following paper "HP SAS benchmark performance tests" is worth reading:

    LVL 44

    Expert Comment

    When data loss from a failed drive is crucial for you, always have a redundant setup -- either RAID 1, which is not highest performance, or RAID 15, redundant with very many disks.  With the other "striping" raids, you risk losing all your data on the raid if a disk dies and there is not enough extra disks to create redundancy.  Other way is to backup RAID frequently, in which case, most people go for performance (raid 10 and 0) rather than redundancy.  But then again, many people come to expert exchange because they lose those higher performance raids, and then wished they had used a simple mirror, like Raid 1.  No perfect solution.  I suggest RAID 1 for max. reliablity, lose some performance, but have never had client lose their data on RAID 1, when one disk dies, you are told immediately, put in a new one, and away you go.
    LVL 15

    Expert Comment

    Quote: With the other "striping" raids, you risk losing all your data on the raid if a disk dies and there is not enough extra disks to create redundancy.

    If you lose enough disks in *ANY* RAID set you will lose your data. RAID 1 and RAID 15 suffer the same problem.

    RAID 10 gives the best combination of high performance in all situations (read & write, whether or not a disk has failed) and high reliability, especially if you have a hot spare or two.
    LVL 7

    Accepted Solution


    Have are few articles which hope it may give you more reference

    SQL Server Performance - Common Symptoms and Tools
    Disk Layout Best Practices

    Configuring Disks and Managing Space in SQL Server

    Step-by-Step Guide: How to spec your SQL Server hardware needs,295582,sid87_gci1157390_tax301326,00.html?adg=301324&bucket=REF

    Checklist: Maximize SQL Server backup performance,289483,sid87_gci1164528_tax301326,00.html?adg=301324&bucket=ETA
    LVL 15

    Expert Comment

    Throwing my 2 cents !

    To know a bit more about "R A I D " visit : " "

    That's it !

    Best Regards !

    Author Comment

    I appreciate all of your responses.  I liked imacgouf's response the best however since he included articles regarding RAID configs in correlation with SQL performance.

    All of your answers were great.

    Thanks again!


    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    Join & Write a Comment

    Lets start to have a small explanation what is VAAI(vStorage API for Array Integration ) and what are the benefits using it. VAAI is an API framework in VMware that enable some Storage tasks. It first presented in ESXi 4.1, but only after 5.x sup…
    How to update Firmware and Bios in Dell Equalogic PS6000 Arrays and Hard Disks firmware update.
    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…
    This Micro Tutorial will teach you how to reformat your flash drive. Sometimes your flash drive may have issues carrying files so this will completely restore it to manufacturing settings. Make sure to backup all files before reformatting. This w…

    730 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

    15 Experts available now in Live!

    Get 1:1 Help Now