RAID recomendations

  • I'm starting to study for my Admin MCITP for 2008 and the first thing I have been hitting is the recommendations about what RAID to use for different parts of the server.

    My understanding so far is that MS recommends a RAID 1 for Log files, and a RAID 5 for database files.

    I have 2 questions.

    What do the wise minds of SSC think of the above recommendations? For example wouldn't RAID 5 be better for the log since (from what I read) it provides better performance while still providing redundancy?

    And would a RAID 0 be good for TEMPDB where you want fast performance but don't really need recoverability?

    Kenneth FisherI was once offered a wizards hat but it got in the way of my dunce cap.--------------------------------------------------------------------------------For better, quicker answers on T-SQL questions, click on the following... http://www.sqlservercentral.com/articles/Best+Practices/61537/[/url]For better answers on performance questions, click on the following... http://www.sqlservercentral.com/articles/SQLServerCentral/66909/[/url]Link to my Blog Post --> www.SQLStudies.com[/url]

  • Best is 10 everywhere. If that's too expensive, then 1 or 10 for log and 5 for data (and 10 for TempDB)

    RAID 5 is terrible for logs because it has a high write overhead. Tran logs are write-heavy, not read-heavy.

    RAID 0 for TempDB is a risk, if any drive fails then TempDB fails and SQL shuts down. Now sure, there's no important data in there, but TempDB is essential for SQL operation and if it's on RAID 0 and a drive fails, SQL can't be started until either that failed drive is replaced (which could be anything from minutes to weeks) or until someone figures out how to start SQL without TempDB and relocates TempDB to some other drive.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • Storage Top 10 Best Practices :

    http://technet.microsoft.com/en-us/library/cc966534.aspx

    Maybe there are no sensitive data in tempdb but you don't want your instance to shut down !

  • GilaMonster (1/11/2012)


    Best is 10 everywhere. If that's too expensive, then 1 or 10 for log and 5 for data (and 10 for TempDB)

    RAID 5 is terrible for logs because it has a high write overhead. Tran logs are write-heavy, not read-heavy.

    I had thought that RAID 5 had better write performance than RAID 0? Although I have been reading comments in both directions.

    RAID 0 for TempDB is a risk, if any drive fails then TempDB fails and SQL shuts down. Now sure, there's no important data in there, but TempDB is essential for SQL operation and if it's on RAID 0 and a drive fails, SQL can't be started until either that failed drive is replaced (which could be anything from minutes to weeks) or until someone figures out how to start SQL without TempDB and relocates TempDB to some other drive.

    Excellent point. I hadn't thought of that.

    Kenneth FisherI was once offered a wizards hat but it got in the way of my dunce cap.--------------------------------------------------------------------------------For better, quicker answers on T-SQL questions, click on the following... http://www.sqlservercentral.com/articles/Best+Practices/61537/[/url]For better answers on performance questions, click on the following... http://www.sqlservercentral.com/articles/SQLServerCentral/66909/[/url]Link to my Blog Post --> www.SQLStudies.com[/url]

  • Kenneth.Fisher (1/11/2012)


    GilaMonster (1/11/2012)


    Best is 10 everywhere. If that's too expensive, then 1 or 10 for log and 5 for data (and 10 for TempDB)

    RAID 5 is terrible for logs because it has a high write overhead. Tran logs are write-heavy, not read-heavy.

    I had thought that RAID 5 had better write performance than RAID 0? Although I have been reading comments in both directions.

    No. RAID 5 has about the worst write performance of the common RAID levels because of the need to compute and then write parity. (though no one would ever consider RAID 0 for a database)

    RAID 0, a write operation is a single operation. RAID 5 (let's say 4 stripes), a write operation is a write, potentially 1 or 2 reads and then a second write for the parity stripe)

    There's a good overview of the RAID levels and more in chapter 2 of this: http://www.simple-talk.com/books/sql-books/troubleshooting-sql-server-a-guide-for-the-accidental-dba/

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • I'd second Gail's advice. R10 if you can, R1 for logs if you can't. R5 for data if you must, but keep a spare drive around, which in most cases means you should just get 2 spares and go R10 anyway.

  • Now I did see one comment that said if you can get a big enough RAID 10 (large number of disks) just stick it all in the same place and let the RAID controllers sort it out. I would guess that would in part depend on not just the # of disks but the # of controllers also correct?

    Kenneth FisherI was once offered a wizards hat but it got in the way of my dunce cap.--------------------------------------------------------------------------------For better, quicker answers on T-SQL questions, click on the following... http://www.sqlservercentral.com/articles/Best+Practices/61537/[/url]For better answers on performance questions, click on the following... http://www.sqlservercentral.com/articles/SQLServerCentral/66909/[/url]Link to my Blog Post --> www.SQLStudies.com[/url]

  • I think there's a limit whereby you are saturating channels, and it would depend on your workload. I think you want to minimize head movement if you have a busy log since these are sequential writes, and there is some benefit from having those separate.

    For tempdb and data files, it's more workload dependent, but ultimately I would dislike having things together for risk purposes. I don't want to lose my log and my data (and my backups) if there is a problem with the array.

  • I appreciate ya'lls help with this. RAID has always been a difficult subject for me but I think I'm finally getting it down.

    Just as an aside, we have the interesting problem of not always knowing where are drives are comming from. In other words, the D drive and the E drive may actually both be on the same RAID array, but no one told us, its just the way it was allocated out.

    Kenneth FisherI was once offered a wizards hat but it got in the way of my dunce cap.--------------------------------------------------------------------------------For better, quicker answers on T-SQL questions, click on the following... http://www.sqlservercentral.com/articles/Best+Practices/61537/[/url]For better answers on performance questions, click on the following... http://www.sqlservercentral.com/articles/SQLServerCentral/66909/[/url]Link to my Blog Post --> www.SQLStudies.com[/url]

  • Kenneth.Fisher (1/11/2012)


    I appreciate ya'lls help with this. RAID has always been a difficult subject for me but I think I'm finally getting it down.

    Just as an aside, we have the interesting problem of not always knowing where are drives are comming from. In other words, the D drive and the E drive may actually both be on the same RAID array, but no one told us, its just the way it was allocated out.

    Very common in a SAN scenario. You usually have to work closely with the SAN team to get things setup physically the way you need them, but you'll almost always get pushback on this because it's 'wasteful' from their perspective unless you have a definate need and can prove I/O is your stall. It's up to you if it's worth the small war it can turn into, depending on your team. It might even be a friendly war, but you usually end up in one either way. SAN space is expensive a lot of places and it's their job to make sure it's used optimally from their side, too.


    - 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

  • Kenneth.Fisher (1/11/2012)


    I appreciate ya'lls help with this. RAID has always been a difficult subject for me but I think I'm finally getting it down.

    Just as an aside, we have the interesting problem of not always knowing where are drives are comming from. In other words, the D drive and the E drive may actually both be on the same RAID array, but no one told us, its just the way it was allocated out.

    Are you planning to use local disks or SAN presented storage?

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

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

  • I really don't like the questions about "best" practices for storage from MS. There is seldom enough information presented to properly answer those questions.

    Sure, RAID10 offers better protection. RAID5 is cheaper. In discussions with EMC consultants as well as SQLIO sims you can get the same performance from both. If RAID5 is cheaper, you can add more disks and have more space in theory.

    Case in point - at one client we had double the performance from RAID5 than the RAID10 (write and read were both better in SQLIO). Client could not afford to have RAID10 everywhere nor was there enough drive bays to compensate in favor of the RAID10.

    If I had to use spinning disk then I would go RAID10 where possible. If I had the money I would use FusionIO not worry about the performance of the chosen array ;).

    Jason...AKA CirqueDeSQLeil
    _______________________________________________
    I have given a name to my pain...MCM SQL Server, MVP
    SQL RNNR
    Posting Performance Based Questions - Gail Shaw[/url]
    Learn Extended Events

  • The big advantage of Raid 10 is you can lose up to half the disks as long as no mirrored pair fail and the array will still operate, albeit with reduced performance.

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

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

  • Perry Whittle (1/11/2012)


    The big advantage of Raid 10 is you can lose up to half the disks as long as no mirrored pair fail and the array will still operate, albeit with reduced performance.

    Biggest part of the reason I would go with RAID10 if possible - protection.

    Jason...AKA CirqueDeSQLeil
    _______________________________________________
    I have given a name to my pain...MCM SQL Server, MVP
    SQL RNNR
    Posting Performance Based Questions - Gail Shaw[/url]
    Learn Extended Events

  • Raid 5 has performed great for me in many applications. Many apps where we weren't pushing the envelope on IOPS, and we had much of the needed data in RAM.

    The issue with R5 is that you need a spare handy when one fails because the degradation of performance, and risk, go up dramatically.

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

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