What would be the best RAID configuration for this hardware?

  • We have a brand new DELL MD1200 with 12-spindles - These are 15Krpm, 600GB SAS drives

    The server this is going to be running on is a fairly busy server, has about 90% read, 10% writes (according to a recent evaluation performed by DELL). Important to note, this is "additional" storage and isn't replacing any existing storage arrays.

    This server is a subscriber in a transactional replication setup and is primarily used for reporting (so there's heavy stored-procedure executions). So 10% of the "writes" on this server occur from replicated data being stored, custom data tables being written to, and log files.

    Here's our existing set up:

    MD1200 array (has 12 spindles) in RAID 10

    C - 68GB

    D - 136GB

    E - 1.3TB

    F - 1.3 TB

    Obviously I'd like to have the best configuration that would give me:

    #1 - as many spindles as possible

    #2 - best speed for queries that run against it

    I was thinking RAID 10, but someone from our Tech Services department made a comment that since the writes are so little overall, that we might benefit from the extra space and performance of a RAID 5 - giwever, depending on which article you read online, some says DO NOT USE RAID 5, some say the performance gain over either choice is negligible.

    My initial thoughts were again a RAID 10, using all available disks to add a new drive - G:\ or would it be smarter to split the array up?

    Any advice from the experts?

    ______________________________________________________________________________Never argue with an idiot; Theyll drag you down to their level and beat you with experience

  • Anyone want to take a stab at this? 😉

    ______________________________________________________________________________Never argue with an idiot; Theyll drag you down to their level and beat you with experience

  • 12x600gb is a serious amount of storage, what do you intend to use the new disks for? Have you considered what config you would use if you do split the array?

    -----------------------------------------------------------------------------------------------------------

    "Ya can't make an omelette without breaking just a few eggs" 😉

  • Hi,

    If you have quite higher percentage of writes against reads, then RAID 5 is better than RAID 10.

    However, you can download the following book by Jonathan Kehayias:

    http://www.red-gate.com/community/books/accidental-dba?utm_source=simple-talk&utm_medium=webpage&utm_content=troubleshooting_ebook&utm_campaign=sqlmonitor

    and decide what configuration to choose.

    Regards

    IgorMi

    Igor Micev,My blog: www.igormicev.com

  • 90% reads, 10% writes...

    Reading a couple of chapters from the link you posted pretty much narrows things down to a RAID5 or 10 (which is pretty much were I got to before posted this thread), I guess my main concern now is, would the 10% write ratio really degrade the read performance of the RAID altogether due to the parity necessity?

    I had a RAID 5, spanning across 12 spindles, that would give me over 6TB and 11 usable spindles, correct? I'd probably move my Data and Index files to this storage array, placing my log files and tempdb on the other RAID 10 array.

    ______________________________________________________________________________Never argue with an idiot; Theyll drag you down to their level and beat you with experience

  • Hi,

    I think you can still stay on your RAID5

    The following link http://www.dell.com/downloads/global/solutions/tradeoffs_RAID5_RAID10.pdf?c=

    can explain you more. However if you can place your log and tempdb on a RAID 10then it will be a good plus.

    But it depends, if your reads increase then a RAID10 may be better option, if not then you'll not obtain a significant gain, moreover considering your log and tempdb already on a RAID10.

    Regards

    IgorMi

    Igor Micev,My blog: www.igormicev.com

  • That should work.

    Was thinking to place the 12-disks into one large RAID 5 (so that should leave me with 11 spindles) - I will place Data files and Index files here.

    The existing array is another MD1200 with 12-disks as well, carved out into 2 separate drives, both RAID-10. So I will place LDF files on 1 RAID 10 and tempdb on another...

    ______________________________________________________________________________Never argue with an idiot; Theyll drag you down to their level and beat you with experience

  • There's a lot to consider when you're debating on spindle splits... but I wouldn't worry as much about RAID 5 vs. 10 for read/write anymore. All the newer "Big Iron" systems are cache-write based and they've optimized the heck out of Raid 5 now. Really, the question between 5 and 10 has come down to how many hardware failures are allowable before operational loss. 5 is one spindle slow, two spindles dead. 10 is from 2 drives (mirror dies on both sides) to n/2 if you have enough raid controllers because of the split mirrors.

    At this point, with a brand new system, I'd be looking towards other forms of optimization. An example, do you intend to do filegroup manipulations within a large database? If so, you need them on separate physical spindles to get the best speed out of them. If you're simply dealing with a bunch of smaller databases this isn't as much of an impact.

    Since you're not looking to replace the existing storage arrays, you've got a nice amount of 'give' to work with here. I'd start with looking for current I/O bottlenecks, if you have any. Splitting the log file(s) off to their own spindle set definately couldn't hurt.

    My knee-jerk reaction for this would be a 4 drive RAID 10 and 2 4 drive RAID 5s. Use the RAID 10 for your log file over-runs and/or split some of the log files off the old system on onto this one to reduce write competition. Use the split RAID 5s to break up your databases (try to split based on heavy usage times) and give yourself the option to filegroup some nonclustered indexes in case you desire parallel access on some rather large table(s) eventually.

    One other thing you might find useful is if you don't currently have a dedicated spindle set for your tempdb, do so now. Take one of those sections and make it TempDB mdf/ndf only. Particularly for reporting servers that need to do massive sorts and the like, tempdb tends to get hammered pretty hard. Getting it out of the way of everything else is usually very useful.


    - Craig Farrell

    Never stop learning, even if it hurts. Ego bruises are practically mandatory as you learn unless you've never risked enough to make a mistake.

    For better assistance in answering your questions[/url] | Forum Netiquette
    For index/tuning help, follow these directions.[/url] |Tally Tables[/url]

    Twitter: @AnyWayDBA

  • Controllers and disks differ. The only sure fire way is to create test arrays and spin up SQLIO to test your throughput and latency. Try different arrays and number of disks to see which combination will serve you best.

    -----------------------------------------------------------------------------------------------------------

    "Ya can't make an omelette without breaking just a few eggs" 😉

  • I personally wouldn't use 12 disks in a single raid 5 array, recently i've used Raid 50 for similar sized arrays, basically it's creates two 6 disk raid 5 arrays and stripes them together.

  • I spoke with our Tech Services guy and he said there'd be no issue using a RAID5 with 12 disks, it would give us ample space and yield 11 available spindles. This should provide quick performance with a 9-1 read/write ratio.

    Unfortunately I'm not much of a hardware guy 🙁 But I suppose I'll just need to test it out to see

    ______________________________________________________________________________Never argue with an idiot; Theyll drag you down to their level and beat you with experience

  • I think with so few spindles carving them up into smaller sets just sets yourself up for one or more of those smaller groups to be a bottleneck. I would lump them all together, and chose RAID 5 or 10 based on a) needed formatted disk size and b) IO testing metrics verifying I could get the read/write performance mix I required.

    Best,
    Kevin G. Boles
    SQL Server Consultant
    SQL MVP 2007-2012
    TheSQLGuru on googles mail service

  • TheSQLGuru (11/15/2012)


    I think with so few spindles carving them up into smaller sets just sets yourself up for one or more of those smaller groups to be a bottleneck. I would lump them all together, and chose RAID 5 or 10 based on a) needed formatted disk size and b) IO testing metrics verifying I could get the read/write performance mix I required.

    i agree, hence my previous comment to test various array types and number of disks

    -----------------------------------------------------------------------------------------------------------

    "Ya can't make an omelette without breaking just a few eggs" 😉

  • Yes, this is the option I am going with first (lumping all disks into a single RAID 5 array). I believe keeping one as a hot spare leaves me with 10 working spindles - with any luck I'll be able to test with SQLIO and SQLIOsim in the next couple days.

    Thanks for everyone's help!

    ______________________________________________________________________________Never argue with an idiot; Theyll drag you down to their level and beat you with experience

  • test a couple of smaller arrays too as well as RAID5 vs RAID10

    -----------------------------------------------------------------------------------------------------------

    "Ya can't make an omelette without breaking just a few eggs" 😉

Viewing 15 posts - 1 through 15 (of 26 total)

You must be logged in to reply to this topic. Login to reply