Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Getting the hardware in the mail any day.

Hardware related to my question:

x10 15.5k RPM SAS Segate Cheetah's x2 Adaptec 5405 PCIe Raid cards

Motherboard has integrated SAS raid.

Was thinking I would build 2 RAID 10 arrays one for data and one for logs

The remaining 2 drives a RAID 0 for TempDB

Will probably throw in a drive for OS.

Does putting the Sql Server application / exe's on a raid make a difference and is there any impact of leaving the OS on a relatively slow disk compared to the raid arrays?

I have 5/6 DBs combined < 50 gigs. With a relatively good / constant load. Estimating 60-7% reads vs writes.

Planning on using log shipping as well if that matters.

Any advice or suggestions?

share

locked by HopelessN00b Dec 5 at 3:38

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by Chris S Jan 26 '12 at 5:12

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

    
To get a better answer, can you talk about the size of the databases involved (to know how memory & cache is affected) and whether they're read-biased, write-biased, and how much load you have on TempDB? For example, if you're using some snapshot modes you can end up with a higher load on TempDB, and you wanna plan for that. –  Brent Ozar Apr 30 '09 at 12:19
    
thanks, updated it as best I could. –  Chad Grant Apr 30 '09 at 13:25

3 Answers 3

Best practice says that your OS and swap should not share a lun with anything else. However I would be more concerned about using a RAID 0 lun for tempDB. Is it really worth trading off the write performance of RAID 1 for the risk of a disk failure?

share
    
I see your point but I don't know how important TempDB is to data integrity. I guess I was thinking that tempdb can fail without affecting the transactions running (in regards to data corruption). Maybe I am being naive. –  Chad Grant Apr 30 '09 at 12:59
1  
It will most certainly cause the thread attempting to write out to the temp table to stall. If you're lucky the IO error will be isolated to the query and reported back to the app. If you're not, SQLServer will wedge or crash. Given how much money you've probably spent on those 15k disks, it seems silly to skimp on the TempDB lun. –  Dave Cheney Apr 30 '09 at 13:39
    
Ok well as a follow up to that, would you setup a full 3rd array RAID 10 for the TempDB? From everyting I have read the tempdb does all the thrashing handling sorting data and should be the fastest part? –  Chad Grant Apr 30 '09 at 14:15
1  
It is true that in RAID 1 and 10 you pay the cost of two writes. However both writes are issued at the same time, so you only block as long as the longest write takes, and as both drives are mirrors (assuming the raid 1 case, but this extends logically to raid 10) then both armatures will be following similar paths (that is, until your drive starts remapping weak sectors). But more importantly, your array has writeback cache protected by battery backup so you pay virtually 0 cost for the write unless your doing at lot Temp IO. At which point, you have bigger problems. –  Dave Cheney Apr 30 '09 at 14:51
1  
RAID 0 in the critical path is a bit ridiculous. If your TempDB dies it doesn't matter if you still maintain data integrity (though there's a chance you may not), your server is still dead. Generally you want to try to target the case where not one single issued query fails to execute successfully. –  Wedge Apr 30 '09 at 20:20

You should have an array for logs and an array for data/tempdb, plus a separate set of system disks.

On a system this small you probably only need a single mirrored par for the logs. Use one mirrored pair for system disks, one for logs and the rest for a RAID-10 where tempdb and data volumes go.

If (for some reason) you need to mix RAID-5 volumes into the system you are probably better off with tempdb on a separate RAID-10 if there is a lot of traffic on it. However, the adaptec RAID controller you have will probably let you set up different RAID configurations on different partitions of the disk. The 2200s controllers I'm using on some SQL server dev boxes will do this, and I believe most recent Adaptec controllers will it as well. In this case you could set up both a RAID-5 and RAID-10 on different partitions of the same disks.

share

How about set all 6 disks in one RAID 10 and set one partition for the OS and another (1 or 2) for data ? Given that you would avoid heavy usage of swap by add plenty of RAM into the machine ?

share

Not the answer you're looking for? Browse other questions tagged or ask your own question.