Optimal Raid Configuration

Posted on 2014-02-06
Last Modified: 2016-12-08
I have an HP DL380 that we are configuring for SQL server. I'm creating multiple logical drives for data, logs, tempdb etc... My question is around the best way to create the logical drives on the raid controller. Is it better for performance to create one Array that uses all 10 physical disks and then create the logical drives in that array or create multiple arrays with a logical drive in each. Many things that I've read say that more spindles is better than few?

What is the best practice for raid configuration. The i/o is predominately read. I was going to use raid 1+0 but if that's not best I'll configure another level...

Comments please?
Question by:BenthamLtd
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 59

Expert Comment

by:Kevin Cross
ID: 39838747

Separate arrays versus logical drives on one big array usually works better, especially if you separate the operating system and SQL (i.e., at a minimum you want two arrays, but using more to allow you to leverage best RAID for each drive's purpose).

Here is a good resource:

In the article, it nicely lays out the RAID that works well with each portion of SQL Server, user databases, tempdb, log files, et cetera.  Using these recommendations, you could have one array that contains logical drive(s) with operating system, SQL base code, and initial page file.  You then can create other arrays to separate databases, log files, additional page files, and so on.

I hope that helps!

Best regards,

LVL 47

Expert Comment

ID: 39839147
Best is ALWAYS going to be one logical drive per RAID group, using the best make/model disk for that job.

Example, if you want RAID1 for scratch table space & indexing, you do that by using a pair of 15K RPM SAS drives and creating a 2-disk RAID1.  You do NOT create a large RAID6 array with SATA disks then carve out a partition and use that for this task.
LVL 69

Accepted Solution

Scott Pletcher earned 500 total points
ID: 39839343
In general, yes, more spindles = better performance.  But you've got to balance other considerations as well.

You'll want at least two separate RAID sets for recovery reasons.  A given's db log file should be on a separate RAID from its data file(s).

Typically RAID1/RAID10 works better for logs, RAID5/6 for data.  But with low write activity, you could use RAID5 for both logs and data.  Then you could better balance write activity between the RAID sets.

If you'll have a lot of tempdb activity, a separate RAID1 for it, or RAID0 if it's used exclusively for tempdb, can be very beneficial to SQL performance.

I don't think the OS really needs a separate RAID set, although I've seen this recommended many times.  To me, the OS and (data or logs) can co-exist/share disks just fine when drives are limited.
LVL 55

Expert Comment

ID: 39840001
Strange thing is that people would have you create a RAID array for each use because it's using the server's internal disks whereas if it was on a SAN you would almost be guaranteed that most if not all of the logical disks you would be given would be on the same set of spindles. Some 500 disk SANs I've seen only have two disk groups on them (and it would be just one except for the log/data separation Scott mentions which is for recovery rather than performance measures).

I like to see 1 big array and multiple logical disks on it for performance since if the OS disks are idle the data gets the benefit of the extra spindles. Bear in mind though that software recovery tools such as RAID reconstructor can't easily cope with one disk array with mixed RAID levels and stripe element sizes on it. Alternatively though I like to see the OS on a separate array for data recovery purposes which would then be ideal for the logs as Scott also said).

Edit, wanted to add that it's even better for data recovery if the OS disks (with transaction logs perhaps) are on a separate controller which is exactly what you'll get if you're adding a 2nd disk cage to the DL380p gen8 as there's 8 disks per cage unless you get the CTO 25 disk model.
LVL 59

Expert Comment

by:Kevin Cross
ID: 39840019
As a former sys admin of 1000s of servers, it is the reason I put OS on separate array.  I also agree, though, that we did not worry about this when disks were on SAN.  With lower number of disks, I have run SQL server with one array just fine.  Therefore, you should be fine.

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

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

Suggested Solutions

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
In this article we will learn how to fix  “Cannot install SQL Server 2014 Service Pack 2: Unable to install windows installer msi file” error ?
Using examples as well as descriptions, and references to Books Online, show the documentation available for date manipulation functions and by using a select few of these functions, show how date based data can be manipulated with these functions.
Using examples as well as descriptions, and references to Books Online, show the different Recovery Models available in SQL Server and explain, as well as show how full, differential and transaction log backups are performed

749 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